Guest User

Untitled

a guest
May 6th, 2018
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.49 KB | None | 0 0
  1. def load_accounts():
  2. f = open('accounts.txt')
  3. lp = f.read()
  4. f.close()
  5. lp = lp.split('\n')
  6. accs = []
  7. n = 0
  8. for el in lp:
  9. if (len(el.split(':')) > 1):
  10. accs.append([])
  11. accs[n].append('user' + str(n))
  12. accs[n].append([])
  13. accs[n][1].append(el.split(':')[0])
  14. accs[n][1].append(el.split(':')[1])
  15. accs[n][1].append(el.split(':')[2])
  16. n += 1
  17.  
  18. accounts = dict(accs)
  19. return accounts
  20.  
  21. def save_users(accounts):
  22. f = open('accounts.txt', 'w')
  23. for el in accounts:
  24. f.write(accounts[el][0] + ":" + accounts[el][1] + ":" + accounts[el][2] + '\n')
  25. f.close()
  26.  
  27. def reg_new_user(accounts):
  28. print('Регистрация нового пользователя.')
  29. reg_login = input('Создать имя пользователя:')
  30. check = False
  31. for el in accounts:
  32. if accounts[el][0] == reg_login:
  33. check = True
  34. break
  35. if check == False:
  36. reg_password = input('Создать пароль:')
  37. print('Вы успешно зарегистрировались!')
  38. f = open('accounts.txt', 'a')
  39. f.write(reg_login + ":" + reg_password + ":" + "user" + '\n')
  40. f.close()
  41. else:
  42. print('Пользователь существует!')
  43.  
  44. def reg_user(accounts):
  45. reg_login = input('Создать имя пользователя:')
  46. check = False
  47. for el in accounts:
  48. if accounts[el][0] == reg_login:
  49. check = True
  50. break
  51. if check == False:
  52. reg_password = input('Создать пароль:')
  53. reg_role = input('Выберите роль пользователя:')
  54. print('Пользователь зарегистрирован!')
  55. f = open('accounts.txt', 'a')
  56. f.write(reg_login + ":" + reg_password + ":" + "user" + '\n')
  57. f.close()
  58. else:
  59. print('Пользователь существует!')
  60. return accounts
  61.  
  62.  
  63.  
  64. def rename_user(login, accounts):
  65. new_log = login
  66. login1 = input('Введите новое имя пользователя:')
  67.  
  68. check2 = False
  69. for el in accounts:
  70. if accounts[el][0] == login1:
  71. check2 = True
  72.  
  73. if (check2 == True):
  74. print('Пользователь существует')
  75. else:
  76. password = input('Введите пароль:')
  77. check = False
  78. for el in accounts:
  79. if (accounts[el][0] == login and accounts[el][1] == password):
  80. accounts[el][0] = login1
  81. save_users(accounts)
  82. accounts = load_accounts()
  83. new_log = login1
  84. check = True
  85. break
  86. if (check == False):
  87. print('Неправильный пароль!')
  88.  
  89. return accounts, new_log
  90.  
  91. def edit_pass(login,accounts):
  92. olpass = input('Введите старый пароль:')
  93. check = False
  94. for el in accounts:
  95. if (accounts[el][0] == login and accounts[el][1] == olpass):
  96. newpass = input('Создать новый пароль:')
  97. accounts[el][1] = newpass
  98. save_users(accounts)
  99. accounts = load_accounts()
  100. check = True
  101. break
  102.  
  103. if (check == False):
  104. print('Неправильный пароль!')
  105. return accounts
  106.  
  107.  
  108. def restore_pass(accounts):
  109. login = input('Введите имя пользователя:')
  110. check = False
  111. for el in accounts:
  112. if accounts[el][0] == login:
  113. check = True
  114. print('Сброс пароля!')
  115. print(accounts[el][1])
  116. break
  117. if check == False:
  118. print('Пользователь не существует!')
  119.  
  120.  
  121. def list_users(accounts):
  122. print('Список пользователей:')
  123. n = 1
  124. for el in accounts:
  125. print(n.__str__() + ') ' + accounts[el][0] + ' - ' + accounts[el][2])
  126. n += 1
  127.  
  128. def change_role(accounts):
  129. login = input('Введите имя пользователя:')
  130. for el in accounts:
  131. if accounts[el][0] == login:
  132. role = input('Выберите роль пользователя:')
  133. while ((role != "admin") and (role != "user")):
  134. role = input('Выберите роль пользователя:')
  135. if ((role != "admin") and (role != "user")):
  136. print('Неправильная роль!')
  137. accounts[el][2] = role
  138. save_users(accounts)
  139. accounts = load_accounts()
  140. break
  141. return accounts
  142.  
  143. def main1():
  144. accounts = {}
  145. accounts = load_accounts()
  146. print('Добро пожаловать!')
  147. k = 3
  148. m = 5
  149. while (k != 0):
  150. a = input('Меню:\n1.Регистрация.\n2.Войти.\n0.Выход из программы.')
  151. if(a.isdigit()==True):
  152. k = int(a)
  153. if (int(a) == 1):
  154. reg_new_user(accounts)
  155. accounts = load_accounts()
  156. elif (int(a) == 2):
  157. print('Вход в систему.')
  158. login = input('Введите имя пользователя:')
  159.  
  160. check = False
  161. user = ''
  162. for el in accounts:
  163. if (accounts[el][0] == login):
  164. check = True
  165. user = el
  166.  
  167. if (check == False):
  168. print('Неправильное имя пользователя!')
  169. else:
  170. password = input('Введите пароль:')
  171. if (password == accounts[user][1]):
  172. print('Вы вошли как', login, '!')
  173. if (accounts[user][2] == "user"):
  174. while ((int(m) != 3) or (int(m) != 4)):
  175. m = input('Меню:\n1.Изменить имя пользователя.\n2.Изменить пароль.\n3.Выход из учетной записи.\n4.Выход из программы.')
  176. if (int(m) == 1):
  177. accounts, login = rename_user(login, accounts)
  178. elif (int(m) == 2):
  179. accounts = edit_pass(login, accounts)
  180. elif (int(m) == 3):
  181. break
  182. elif (int(m) == 4):
  183. return 0
  184. else:
  185. print('Неправильный ввод!')
  186. else:
  187. m = 9
  188. while ((int(m) != 7) or (int(m) != 8)):
  189. m = input('Меню:\n1.Создать пользователя.\n2.Изменить имя пользователя.\n3.Изменить пароль.\n4.Сбросить пароль пользователя.\n5.Список пользователей.\n6.Изменении роли пользователя.\n7.Выход из учетной записи.\n8.Выход из программы.\n')
  190. if (int(m) == 1):
  191. reg_user(accounts)
  192. accounts = load_accounts()
  193. elif (int(m) == 2):
  194. accounts, login = rename_user(login, accounts)
  195. elif (int(m) == 3):
  196. accounts = edit_pass(login, accounts)
  197. elif (int(m) == 4):
  198. restore_pass(accounts)
  199. elif (int(m) == 5):
  200. list_users(accounts)
  201. elif (int(m) == 6):
  202. accounts = change_role(accounts)
  203. elif (int(m) == 7):
  204. break
  205. elif (int(m) == 8):
  206. return 0
  207. else:
  208. print('Неправильный ввод!')
  209. else:
  210. print('Неправильный пароль!')
  211.  
  212. elif (int(a) == 0):
  213. return 0
  214. else:
  215. print('Неправильный ввод!')
  216. else:
  217. print('Неправильный ввод')
  218. main1()
Add Comment
Please, Sign In to add comment