Advertisement
ALENTL

main.py

Aug 1st, 2022
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 9.09 KB | None | 0 0
  1. import mysql.connector as mc
  2. import gtts
  3. from playsound import playsound
  4. import os
  5. import re
  6.  
  7. con = mc.connect(host="localhost", user="alen", password="alen", database="railway_ticketing_software")
  8. d = con.cursor()
  9.  
  10. def userid():
  11.     m = input("User id (6 digits), numeric")
  12.     ln = len(m)
  13.  
  14.     regex = re.compile("[-@!#$%^_&*()<,.+>?/\|}{~:]")
  15.  
  16.     if (regex.search(m) != None):
  17.         print("Special Characters are not allowed")
  18.  
  19.         m = userid()
  20.  
  21.     else:
  22.         if (m.isalpha()):
  23.             print("Only numericals are allowed", ' \U0001F610')
  24.             m = userid()
  25.            
  26.         elif (m.isnumeric()):
  27.             if ln != 6:
  28.                 print("User id should be of 6 numericals ", "\U0001F610")
  29.                 m = userid()
  30.  
  31.         elif (not m.isdigit() and not m.isalpha()):
  32.             print("Only numericals are allowed ", "\U0001F610")
  33.             m = userid()
  34.  
  35.         else:
  36.             if (m.isalpha()):
  37.                 print("Only numericals are allowed", ' \U0001F610')
  38.                 m = userid()
  39.  
  40.     return m
  41.  
  42. def a():
  43.     m = input("User ID (6 digits), numeric: ")
  44.     qr = "select * from user_info where user_id = %s"
  45.     va = (m,)
  46.  
  47.     d.execute(qr, va)
  48.  
  49.     f = d.fetchall()
  50.  
  51.     rw = d.rowcount()
  52.  
  53.     regex = re.compile("[-@!#$%^_&*()<,.+>?/\|}{~:]")
  54.  
  55.     if (regex.search(m) != None):
  56.         print("Special Characters are not allowed")
  57.  
  58.         m = a()
  59.  
  60.     else:
  61.         if rw == 1:
  62.             print("User id exist, please select another user id ", "\U0001F610")
  63.             m = a()
  64.  
  65.         else:
  66.             ln = len(m)
  67.  
  68.             if (m.isalpha()):
  69.                 print("Only numerals are allowed ", "\U0001F610")
  70.                 m = a()
  71.  
  72.             elif (m.isnumeric()):
  73.                 if ln != 6:
  74.                     print("User id should be of 6 numerals ", "\U0001F610")
  75.                     m = a()
  76.  
  77.             elif (not m.isdigit() and not m.isalpha()):
  78.                 print("Only alphabets are allowed ", "\U0001F610")
  79.                 m = a()
  80.  
  81.             else:
  82.                 print("Only numerals are allowed ", "\U0001F610")
  83.                 m = a()
  84.  
  85.     return m
  86.  
  87. def username():
  88.     n = input("Enter username [Note: User _ instead of space]")
  89.     regex = re.compile("'[-@!#$%^&*()<,.+>?/\|}{1234567890~:]'")
  90.  
  91.     if (regex.search(n) == None):
  92.         print("Accepted")
  93.  
  94.     else:
  95.         if (n.isdigit()):
  96.             print("Only alphabets are allowed ", "\U0001F610")
  97.             n = username()
  98.  
  99.         elif (not n.isdigit() and not n.isalpha()):
  100.             print("Only alphabets are allowed ", "\U0001F610")
  101.             n = username()
  102.  
  103.     return n
  104.  
  105. def nusername():
  106.     n = input("Enter username [Note: Use _ instead of space]")
  107.     regex = re.compile("[-@!#$%^&*()<,.+>?/\|}{1234567890~:]")
  108.  
  109.     if (regex.search(n) == None):
  110.         print("Accepted")
  111.  
  112.     else:
  113.         if ((n.isdigit())):
  114.             print("Only alphabets are allowed ", "\U0001F610")
  115.             n = username()
  116.  
  117.         elif (not n.isdigit() and not n.isalpha()):
  118.             print("Only alphabets are allowed ", "\U0001F610")
  119.             n = username()
  120.  
  121.     return n
  122.  
  123. def c():
  124.     o = input("Enter user age: ")
  125.     ln = len(o)
  126.     regex = re.compile("[-@!#$%^_&*()<,.+>?/\|}{~:]")
  127.  
  128.     if (regex.search(o) != None):
  129.         print("Special characters are not allowed")
  130.         o = c()
  131.  
  132.     else:
  133.         if (o.isalpha()):
  134.             print("Only numericals are allowed ", "\U0001F610")
  135.             o = c()
  136.  
  137.         elif (o.isnumeric()):
  138.             op = int(o)
  139.  
  140.             if (op > 116):
  141.                 print("Invalid age ", "\U0001F610")
  142.                 o = c()
  143.  
  144.         elif (not o.isnumeric() and not o.isalpha()):
  145.             print("Only alphabets are allowed ", "\U0001F610")
  146.             o = c()
  147.  
  148.         else:
  149.             print("Only numerals are allowed ", "\U0001F610")
  150.             o  = c()
  151.  
  152.     return o
  153.  
  154. def nc():
  155.     o = input("Enter new user age: ")
  156.     regex = re.compile("[-@!#$%^_&*()<,.+>?/\|}{~:]")
  157.  
  158.     if (regex.search(o) != None):
  159.         print("Special characters are not allowed ", "\U0001F610")
  160.         o = nc()
  161.  
  162.     else:
  163.         ln = len(o)
  164.        
  165.         if (o.isalpha()):
  166.             print("Only numerals are allowed ", "\U0001F610")
  167.             o = nc()
  168.  
  169.         elif (not o.isnumeric() and not o.isalpha()):
  170.             print("Only alphabets are allowed ", "\U0001F610")
  171.             o = nc()
  172.  
  173.         else:
  174.             print("Only numerals are allowed ", "\U0001F610")
  175.             o = nc()
  176.        
  177.     return o
  178.  
  179. def da():
  180.     p = input("User gender [Note: Use only m or f]: ")
  181.     ln = len(p)
  182.     ph = ['m', 'f']
  183.     pk = p.lower()
  184.  
  185.     regex = re.compile("[-@!#$%^_&*()<,.+>?/\|}{~:]")
  186.  
  187.     if (regex.search(p) != None):
  188.         print("Special characters are not allowed ", "\U0001F610")
  189.         p = da()
  190.  
  191.     else:
  192.         if (p.isnumeric()):
  193.             print("Only alphabets are allowed ", "\U0001F610")
  194.             p = da()
  195.  
  196.         elif (p.isalpha()):
  197.             if ln != 1:
  198.                 print("Gender should be of 1 character [m or f]", "\U0001F610")
  199.                 p = da()
  200.            
  201.             elif pk != ph[0] and pk != ph[1]:
  202.                 print("Only m and f are allowed")
  203.                 p = da()
  204.  
  205.         elif (not p.isnumeric() and not p.isalpha()):
  206.             print("Only alphabets are allowed ", "\U0001F610")
  207.             p = da()
  208.  
  209.     return p
  210.  
  211. def e():
  212.     q = input("Enter user mobile number [10 digits]: ")
  213.     ln = len(q)
  214.     regex = re.compile("[-@!#$%^_&*()<,.+>?/\|}{~:]")
  215.  
  216.     if (regex.search(q) != None):
  217.         print("Special characters are not allowed")
  218.         q = e()
  219.  
  220.     else:
  221.         if (q.isalpha()):
  222.             print("Only numerals are allowed ", "\U0001F610")
  223.             q = e()
  224.  
  225.         elif (q.isnumeric()):
  226.             if ln != 10:
  227.                 print("Mobile no should be of 10 numerals ", "\U0001F610")
  228.                 q = e()
  229.  
  230.         elif (not q.isnumeric() and not q.isalpha()):
  231.             print("Only numerals are allowed ", "\U0001F610")
  232.             q = e()
  233.  
  234.     return q
  235.  
  236. def ne():
  237.     q = input("Enter new mobile number [10 digits]: ")
  238.     ln = len(q)
  239.     regex = re.compile("[-@!#$%^_&*()<,.+>?/\|}{~:]")
  240.  
  241.     if (regex.search(q) != None):
  242.         print("Special characters are not allowed")
  243.         q = ne()
  244.  
  245.     else:
  246.         if (q.isalpha()):
  247.             print("Only numerals are allowed ", "\U0001F610")
  248.             q = ne()
  249.  
  250.         elif (q.isnumeric()):
  251.             if ln != 10:
  252.                 print("Mobile number should be of 10 numerals ", "\U0001F610")
  253.                 q = ne()
  254.  
  255.         elif (not q.isdigit() and not q.isalpha()):
  256.             print("Only numerals are allowed ", "\U0001F610")
  257.             q = ne()
  258.  
  259.     return q
  260.  
  261. def fa():
  262.     r = input("Password [4 digits]: ")
  263.     ln = len(r)
  264.     regex = re.compile("[-@!#$%^_&*()<,.+>?/\|}{~:]")
  265.  
  266.     if (regex.search(r) != None):
  267.         print("Special characters are not allowed")
  268.         r = fa()
  269.  
  270.     else:
  271.         if (r.isalpha()):
  272.             print("Only numerals are allowed ", "\U0001F610")
  273.             r = fa()
  274.  
  275.         elif (r.isnumeric()):
  276.             if ln != 4:
  277.                 print("Password should be of 4 numerals ", "\U0001F610")
  278.                 r = fa()
  279.  
  280.             else:
  281.                 print("Only numerals are allowed ", "\U0001F610")
  282.                 r = fa()
  283.  
  284.     return r
  285.  
  286. def nfa():
  287.     r = input("Enter new password [4 digits]: ")
  288.     ln = len(r)
  289.     regex = re.compile("[-@!#$%^_&*()<,.+>?/\|}{~:]")
  290.  
  291.     if (regex.search(r) != None):
  292.         print("Special characters are not allowed")
  293.         r = nfa()
  294.  
  295.     else:
  296.         if (r.isalpha()):
  297.             print("Only numerals are allowed ", "\U0001F610")
  298.             r = nfa()
  299.  
  300.         elif (r.isnumeric()):
  301.             if ln != 4:
  302.                 print("Password should be of 4 numerals ", "\U0001F610")
  303.                 r = nfa()
  304.  
  305.         else:
  306.             print("Only numerals are allowed ", "\U0001F610")
  307.             r = nfa()
  308.  
  309.     return r
  310.  
  311. def trainid():
  312.     r = input("Enter train id [5 digits]: ")
  313.     ln = len(r)
  314.     regex = re.compile("[-@!#$%^_&*()<,.+>?/\|}{~:]")
  315.  
  316.     if (regex.search(r) != None):
  317.         print("Special characters are not allowed")
  318.         r = trainid()
  319.  
  320.     else:
  321.         if (r.isalpha()):
  322.             print("Only numerals are allowed ", "\U0001F610")
  323.             r = trainid()
  324.  
  325.         elif (r.isnumeric()):
  326.             if ln != 5:
  327.                 print("Train ID should be of 5 numerals ", "\U0001F610")
  328.                 r = trainid()
  329.  
  330.         else:
  331.             print("Only numerals are allowed ", "\U0001F610")
  332.             r = trainid()
  333.  
  334.     return r
  335.  
  336. def newtrainid():
  337.     r = input("Train ID [6 digits]: ")
  338.     ln = len(r)
  339.     qr = 'select * from trains_info where train_id = %s'
  340.     va = (r,)
  341.    
  342.     d.execute(qr, va)
  343.  
  344.     f = d.fetchall()
  345.     rw = d.rowcount
  346.    
  347.     regex = re.compile("[-@!#$%^_&*()<,.+>?/\|}{~:]")
  348.  
  349.     if (regex.search(r) != None):
  350.         print("Special Characters are not allowed")
  351.         r = newtrainid()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement