Advertisement
Guest User

Untitled

a guest
Oct 18th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.94 KB | None | 0 0
  1. import random
  2. import string
  3. import csv
  4. import datetime
  5.  
  6.  
  7. lstUniqueNumbers = []
  8. uniekecode = 0
  9.  
  10.  
  11. def login_menu():
  12. try:
  13. loginkeuze = int(input("Wat wil je doen?: \n 1.Inloggen \n 2. Registratie: "))
  14. if loginkeuze == 1:
  15. inloggen()
  16. elif loginkeuze == 2:
  17. registreren()
  18.  
  19. else:
  20. print('Error login')
  21. except ValueError:
  22. print("Graag een cijfer invullen")
  23.  
  24. def inloggen():
  25. global uniekecode
  26. opgegevenGebruikersnaam = str(input('Geef je unieke code: '))
  27. opgegevenWachtwoord = str(input('Voer je wachtwoord in: '))
  28. uniekecode = opgegevenGebruikersnaam
  29. with open('Gebruikersbestand.csv', 'r') as CSV:
  30. for o in CSV.readlines():
  31. wachtwoord = o.split(';')[2]
  32. if opgegevenGebruikersnaam == o.split(';')[0]:
  33. if wachtwoord == opgegevenWachtwoord:
  34. ingelogd()
  35. def get_uniekecode():
  36. return uniekecode
  37.  
  38.  
  39. def ingelogd():
  40. try:
  41. loginkeuze = int(input("Wat wil je doen?: \n 1. Fiets stallen \n 2. fiets ophalen \n 3. informatie opvragen \n Keuze: "))
  42. if loginkeuze == 1:
  43. openStalling(get_uniekecode())
  44. elif loginkeuze == 2:
  45. fietsOphalen(get_uniekecode())
  46. elif loginkeuze == 3:
  47. algemeneInformatie()
  48. else:
  49. print('Error login')
  50. except ValueError:
  51. print("Graag een cijfer invullen")
  52.  
  53.  
  54.  
  55. def uniqueNumber():
  56. 'genereert een uniek getal voor de gebruiker'
  57. uniekNummer = ''
  58. while True:
  59. if len(uniekNummer) == 10:
  60. if uniekNummer in lstUniqueNumbers:
  61. # exception voor een kans van n/1.200.000.000.000 met n=iterations
  62. uniekNummer = ''
  63. else:
  64. break
  65. if len(uniekNummer) % 2 == 0:
  66. uniekNummer += str(random.randrange(0, 10))
  67. elif len(uniekNummer) % 2 != 0:
  68. uniekNummer += random.choice(string.ascii_letters)
  69. lstUniqueNumbers.append(uniekNummer)
  70. return uniekNummer
  71.  
  72.  
  73. def registreren():
  74. 'vraagt gebruiker voor zijn/haar naam'
  75. voornaamUser = str(input('Voornaam: '))
  76. tussenvoegselUser = str(input('Tussenvoegsel [laat leeg indien je er geen hebt...]: '))
  77. achternaamUser = str(input('Achternaam: '))
  78. while True:
  79. wachtwoordKoppel = str(input('Geef wachtwoord [min. 6 karakters met twee cijfers]: '))
  80. wachtwoord = ''
  81. noOfIntsInPass = 0
  82. for o in wachtwoordKoppel:
  83. wachtwoord += o
  84. try:
  85. int(o)
  86. noOfIntsInPass += 1
  87. except ValueError:
  88. pass
  89. if len(wachtwoord) >= 6 and noOfIntsInPass >= 2:
  90. break
  91. else:
  92. print('Incorrect wachtwoord. Probeer het opnieuw')
  93.  
  94. # formatting is moeilijk
  95. if tussenvoegselUser == '':
  96. naamUser = voornaamUser + ' ' + achternaamUser
  97. else:
  98. naamUser = voornaamUser + ' ' + tussenvoegselUser + ' ' + achternaamUser
  99. # callt de functie uniqueNumber voor een random string als uniek nummer
  100. gebruikersNummer = uniqueNumber()
  101. with open('Gebruikersbestand.csv', 'a', newline='') as CSV:
  102. writer = csv.writer(CSV, delimiter=';')
  103.  
  104. writer.writerow((gebruikersNummer, naamUser, wachtwoord, ''))
  105. print('Hier is je Unieke nummer: ', gebruikersNummer)
  106. login_menu()
  107.  
  108. def login():
  109. lstGebruikersGegevens = []
  110. with open('Gebruikersbestand.csv', 'r') as CSV:
  111. opgegevenGebruikersnaam = str(input('Geef je unieke code: '))
  112. opgegevenWachtwoord = str(input('Voer je wachtwoord in: '))
  113. for o in CSV.readlines():
  114. wachtwoord = o.split(';')[2]
  115. if opgegevenGebruikersnaam == o.split(';')[0]:
  116. if wachtwoord == opgegevenWachtwoord:
  117. print('Ingelogd')
  118. lstGebruikersGegevens = o
  119. break
  120. else:
  121. print('Iets ging fout. Probeer het opnieuw')
  122. break
  123. return lstGebruikersGegevens
  124.  
  125. def openStalling(naam):
  126. huidigeTijd = datetime.datetime.now()
  127. with open('Stallingsbestand.csv', 'a', newline='') as CSV:
  128. writer = csv.writer(CSV, delimiter=';')
  129. writer.writerow((naam, huidigeTijd))
  130. print("Fiets is gestalt")
  131.  
  132.  
  133. def algemeneInformatie():
  134. huidigeTijd = datetime.datetime.now()
  135. counterUsersLastHour = 0
  136. with open('Gebruikersbestand.csv', 'r', newline='') as CSV:
  137. hoeveelheidGebruikers = len(CSV.readlines())
  138. with open('Stallingsbestand.csv', 'r', newline='') as CSV:
  139. for o in CSV.readlines():
  140. lijn = o.split(';')[1]
  141. huidigUur = str(huidigeTijd).split(':')[0]
  142. if huidigUur == lijn.split(':')[0]:
  143. counterUsersLastHour += 1
  144. print('Aantal gebruikers van dit programma: ', hoeveelheidGebruikers)
  145. print('Aantal gebruikers ingelogd in het laatste uur: ', counterUsersLastHour)
  146.  
  147.  
  148. def persoonlijkeInformatie():
  149. lstGebruikersGegevens = login()
  150. huidigeTijd = datetime.datetime.now()
  151. print('Welkom ', lstGebruikersGegevens.split(';')[1])
  152. print('Het is nu: ', huidigeTijd)
  153. counter = 0
  154. def fietsOphalen(naam):
  155. #correcteGegevens = False
  156. #lstGebruikersGegevens = login()
  157. with open('Stallingsbestand.csv', 'r+') as CSV:
  158. writer = csv.writer(CSV, delimiter=';')
  159. for row in CSV:
  160. global counter
  161. counter += 1
  162. if naam in row:
  163. writer.writerow((naam, ''))
  164.  
  165. print(counter)
  166.  
  167. #for o in CSV.readlines():
  168. # while correcteGegevens == False:
  169. # if o.split(';')[0] == lstGebruikersGegevens.split(';')[0]:
  170. # print('Verhaaltje over ophalen van een fiets, hoezee.')
  171. # correcteGegevens = True
  172. # break
  173.  
  174. login_menu()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement