Advertisement
GastonPalazzo

session_controller.py

Nov 25th, 2020
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 9.27 KB | None | 0 0
  1. # import
  2. from usuario import Usuario
  3. from cuenta import Cuenta
  4. from login_account import Login
  5. from dba import DataBase
  6. from validador import Validador
  7.  
  8. # class
  9. class SessionController():
  10.     __usuario_activo = Usuario
  11.     # cnstr
  12.     def __init__(self, database=DataBase):
  13.         self.__bd = database
  14.         self.__log = Login(self.__bd)
  15.         self.__vld = Validador(self.__bd)
  16.     # mthds
  17.     # gtt
  18.     def get_usuario_activo(self):
  19.         return self.__usuario_activo
  20.     # stt
  21.     def set_usuario_activo(self, nuevo_usuario_activo=Usuario):
  22.         self.__usuario_activo = nuevo_usuario_activo
  23.     # especificos
  24.     def inciar_sesion(self):
  25.         return self.__log.login_account() if not None else -1
  26.     def menu_principal(self, cuenta_activa=Cuenta):
  27.         cond = True
  28.         while cond==True:
  29.             print(f'\n\tMENU DE USUARIO'+
  30.                 '\n1. Ver datos'+
  31.                 '\n2. Modificar datos'+
  32.                 '\n3. Amigos'+
  33.                 '\n4. Posts'+
  34.                 '\n5. Eliminar cuenta'+
  35.                 '\n0. Cerrar sesion'
  36.             )
  37.             opc = input('\n<opcion>: ').lower()
  38.             if opc == '0':
  39.                 cond = False
  40.                 print('\n[MENSAJE]: Sesion finalizada!')
  41.             elif opc == '1':
  42.                 print(f'\n\tVER DATOS'+
  43.                 '\n1. Ver datos de cuenta'+
  44.                 '\n2. Ver datos de usuario'+
  45.                 '\n0. Atras')
  46.                 opc = input('\n<opcion>: ').strip()
  47.                 if opc == '0':
  48.                     pass
  49.                 elif opc == '1':
  50.                     cuenta_activa.mostrar_datos_de_cuenta()
  51.                 elif opc == '2':
  52.                     cuenta_activa.get_usuario().mostrar_datos_de_usuario()
  53.                 else:
  54.                     print('\n[Err]: opcion incorrecta!')
  55.             elif opc == '2':
  56.                 print('\n\tMODIFICAR'+
  57.                 '\n1. Modificar datos de cuenta'+
  58.                 '\n2. Modificar datos de usuario'+
  59.                 '\n0. Atras')
  60.                 opc = input('\n<opcion>: ').strip()
  61.                 if opc == '0':
  62.                     pass
  63.                 elif opc == '1':
  64.                     # modificar datos de cuenta
  65.                     print('\n\tMODIFICAR DATOS DE CUENTA'+
  66.                     '\n1. Modificar login name'+
  67.                     '\n2. Modificar login pass'+
  68.                     '\n3. Modificar mail primario'+
  69.                     '\n4. Modificar mail secundario'+
  70.                     '\n0. Atras')
  71.                     opc = input('\n<opcion>: ')
  72.                     if opc == '0':
  73.                         pass
  74.                     elif opc == '1':
  75.                         update_form = {'nuevo_login_name': input('\n<nuevo login_name>: ')}
  76.                         cuenta_activa.update_acc(self.__vld, update_form)
  77.                     elif opc == '2':
  78.                         update_form = {'nuevo_login_pass': [input('\n<nuevo login_pass>: '), input('\n<nuevo login_pass_confirmacion>: ')]}
  79.                         cuenta_activa.update_acc(self.__vld, update_form)
  80.                     elif opc == '3':
  81.                         update_form = {'nuevo_mail_primario': input('\n<nuevo mail_primario>: ')}
  82.                         cuenta_activa.update_acc(self.__vld, update_form)
  83.                     elif opc == '4':
  84.                         update_form = {'nuevo_mail_secundario': input('\n<nuevo mail_secundario>: ')}
  85.                         cuenta_activa.update_acc(self.__vld, update_form)
  86.                     else:
  87.                         print('\n[Err]: opcion incorrecta!')
  88.                 elif opc == '2':
  89.                     # modificar datos de usuario
  90.                     print('\n\tMODIFICAR DATOS DE USUARIO'+
  91.                     '\n1. Modificar nombre'+
  92.                     '\n2. Modificar apellido'+
  93.                     '\n3. Modificar edad'+
  94.                     '\n4. Modificar pais-ciudad'+
  95.                     '\n5. Modificar genero'+
  96.                     '\n6. Modificar telefono'+
  97.                     '\n0. Atras')
  98.                     opc = input('\n<opcion>: ')
  99.                     if opc == '0':
  100.                         pass
  101.                     elif opc == '1':
  102.                         update_form = {'nombre': input('\n<nuevo nombre>: ')}
  103.                         cuenta_activa.get_usuario().update_user(self.__vld, update_form)
  104.                     elif opc == '2':
  105.                         update_form = {'apellido': input('\n<nuevo apellido>: ')}
  106.                         cuenta_activa.get_usuario().update_user(self.__vld, update_form)
  107.                     elif opc == '3':
  108.                         update_form = {'edad': input('\n<nueva edad>: ')}
  109.                         cuenta_activa.get_usuario().update_user(self.__vld, update_form)
  110.                     elif opc == '4':
  111.                         update_form = {
  112.                             'pais': input('\n<nuevo pais>: '),
  113.                             'ciudad': input('\n<nuevo ciudad>: ')
  114.                         }
  115.                         cuenta_activa.get_usuario().update_user(self.__vld, update_form)
  116.                     elif opc == '5':
  117.                         update_form = {'genero': input('\n<nuevo genero>: ')}
  118.                         cuenta_activa.get_usuario().update_user(self.__vld, update_form)
  119.                     elif opc == '6':
  120.                         update_form = {'telefono': input('\n<nuevo telefono>: ')}
  121.                         cuenta_activa.get_usuario().update_user(self.__vld, update_form)
  122.                     else:
  123.                         print('\n[Err]: opcion incorrecta!')
  124.                 else:
  125.                     print('\n[Err]: opcion incorrecta!')
  126.             elif opc == '3':
  127.                 print('\n\tAMIGOS'+
  128.                 '\n1. Agregar amigo'+
  129.                 '\n2. Ver lista de amigos'+
  130.                 '\n3. Eliminar amigo'+
  131.                 '\n4. Vaciar lista de amigos'+
  132.                 '\n0. Atras')
  133.                 opc = input('\n<opcion>: ').strip()
  134.                 if opc == '0':
  135.                     pass
  136.                 elif opc == '1':
  137.                     id_amigo = input('\n<amigo_id>: ')
  138.                     cuenta_activa.agregar_amigo(id_amigo)
  139.                 elif opc == '2':
  140.                     cuenta_activa.mostrar_lista_de_amigos()
  141.                 elif opc == '3':
  142.                     id_amigo = input('\n<amigo_id>: ')
  143.                     cuenta_activa.eliminar_amigo(id_amigo)
  144.                 elif opc == '4':
  145.                     opc = input('\n[MENSAJE]: esta seguro que desea eliminar toda su lista de amigos?\n<s/n>: ').lower()
  146.                     if opc == 's':
  147.                         cuenta_activa.vaciar_lista_amigos()
  148.                     elif opc == 'n':
  149.                         print('\n[MENSAJE]: cambios descartados!')
  150.                     else:
  151.                         print('\n[Err]: opcion incorrecta!')
  152.                 else:
  153.                     print('\n[Err]: opcion incorrecta!')
  154.             elif opc == '4':
  155.                 print('\n\tPOSTS'+
  156.                 '\n1. Crear post'+
  157.                 '\n2. Ver mis post'+
  158.                 '\n3. Eliminar post'+
  159.                 '\n4. Eliminar todos mis post'+
  160.                 '\n0. Atras')
  161.                 opc = input('\n<opcion>: ').strip()
  162.                 if opc == '0':
  163.                     pass
  164.                 elif opc == '1':
  165.                     # crear publicacion
  166.                     ctg = cuenta_activa.mostrar_categorias_de_publicacion()
  167.                     print(f'\n*NOTA* -> Las categorias de post validas actualmente son: {ctg}')
  168.                     body = input('\nContenido del post (max 300 caracteres): ')
  169.                     categ = input('\nIngrese id de categoria del post: ').strip()
  170.                     cuenta_activa.crear_publicacion(body, categ)
  171.                 elif opc == '2':
  172.                     # ver publicaciones
  173.                     cuenta_activa.mostrar_publicaciones()
  174.                 elif opc == '3':
  175.                     # eliminar publicacion
  176.                     id_post = input('<id_post>: ')
  177.                     cuenta_activa.eliminar_publicacion(id_post)
  178.                 elif opc == '4':
  179.                     # eliminar todas las publicaciones
  180.                     opc = input('\n[MENSAJE]: esta seguro que desea eliminar todas sus publicaciones?\n<s/n>: ').lower()
  181.                     if opc == 's':
  182.                         cuenta_activa.eliminar_todas_las_publicaciones()
  183.                     elif opc == 'n':
  184.                         print('\n[MENSAJE]: cambios descartados!')
  185.                     else:
  186.                         print('\n[Err]: opcion incorrecta!')
  187.                 else:
  188.                     print('\n[Err]: opcion incorrecta!')
  189.             elif opc == '5':
  190.                 opc = input('\n[MENSAJE]: esta seguro que desea eliminar su cuenta?\n<s/n>: ').lower()
  191.                 if opc == 's':
  192.                     cuenta_activa.eliminar_cuenta()
  193.                     print('\n[MENSAJE]: Su cuenta ah sido eliminada!')
  194.                     print('\n[MENSAJE]: Sesion finalizada!')
  195.                     cond = False
  196.                 elif opc == 'n':
  197.                     print('\n[MENSAJE]: cambios descartados!')
  198.                 else:
  199.                     print('\n[Err]: opcion incorrecta!')
  200.             else:
  201.                 print('\n[Err]: Opcion incorrecta!')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement