def start(): """ start the program :return: """ book = ContactBook() while True: key = Control().showMenu() if key == '1': Control.addInput(book) elif key == "2": Control().editInput(book) elif key == "3": Control().deleteInput(book) elif key == "4": book.sortByLength() elif key == "5": View().showBook(book) elif key == "6": View().showContact(book) elif key == "7": Control().serialInput(book) elif key == "8": exit() else: print("Incorrect. Please,try again")
class Controller: def __init__(self, width, height, fps, speed, player_left, player_bottom): self.model = Model(width, height, speed) self.view = View(self.model, player_left, player_bottom) self.fps = fps self.clock = pygame.time.Clock() self.running = True self.start = True self.alive = False def run(self): self.view.show_start_screen() while self.running: for event in pygame.event.get(): if event.type == pygame.QUIT: self.running = False keys = pygame.key.get_pressed() if self.alive: if keys[K_LEFT]: self.alive = self.model.left_key() if keys[K_RIGHT]: self.alive = self.model.right_key() if keys[K_SPACE]: self.model.space_key() if keys[K_RETURN]: self.model.restart() self.start = False self.alive = True elif keys[K_ESCAPE]: self.running = False continue if self.alive: self.model.update_game() self.clock.tick(self.fps)
def __init__(self, width, height, fps, speed, player_left, player_bottom): self.model = Model(width, height, speed) self.view = View(self.model, player_left, player_bottom) self.fps = fps self.clock = pygame.time.Clock() self.running = True self.start = True self.alive = False
def __init__(self): self.model = RecipeList() self.view = View() self.frame_select = self.view.frames["FrameSelect"] self.frame_search = self.view.frames["FrameSearch"] self.frame_add = self.view.frames["FrameAdd"] self.frame_edit = self.view.frames["FrameEdit"] self.bind_buttons()
def __init__(self, system_argv): super(StartChat, self).__init__(system_argv) self.client = Client(None,None,None) self.controller = Controller(self.client) self.gui = View(self.controller, self.client) self.client.connToServer(None) main_thread = threading.Thread(target=self.client.input_manager) main_thread.setDaemon(True) main_thread.start() self.gui.show()
def start(self): self.model = Model() self.view = View() self.view.start_view() self.create_a_contact('pedro','orozco','*****@*****.**') self.create_a_contact('luis','medrano') self.create_a_contact('luis','medrano') #self.delete_a_contact('juan','lopez') self.show_all_contacts() self.update_a_contact('juan','perez','luis','zapata','*****@*****.**','4424232312') self.show_all_contacts() self.show_a_contact('luis','zapata') self.view.end_view()
def hideInput(book): """ input for show option :param book: :return: """ manager = input("1 - Search by name\n" "2- Search by phone number\n") if manager == '1': nameToSearch = input("Enter the contact`s name to show:") View().showContact(book.getContactByName(nameToSearch)) elif manager == '2': phoneToSearch = input("Enter the contact`s phone to show:") View().showContact(book.getContactByPhone(phoneToSearch)) else: print("Incorrect key pressed.")
def test_04(self): # Arrange expected_result = 'Hello World' # Act actual_result = 'Hello' + View.tab() + 'World' # Assert self.assertEqual(actual_result, expected_result, 'Expected to be "Hello World')
def attribute_maker(self, new_attributes): attributes = '' if len(new_attributes) > 0: attributes = View.tab() + 'def __init__(self):' + View.newline() self_attributes = '' for attribute in new_attributes: data_type = '' if ':' in attribute: list_temp = attribute.split(':') att_name = self.name_to_lower(list_temp[0]) data_type = ': ' + self.get_data_type(list_temp[1]) else: att_name = self.name_to_lower(attribute) self_attributes += View.tab() + View.tab( ) + 'self.' + att_name + data_type + View.newline() attributes += self_attributes return attributes
def test_03(self): # Arrange expected_result = ' ' # Act actual_result = View.tab() # Assert self.assertEqual(actual_result, expected_result, 'Expected to be four spaces')
def test_01(self): # Arrange expected_result = '\n' # Act actual_result = View.newline() # Assert self.assertEqual(actual_result, expected_result, 'Expected to be a Newline')
def menu(self): self.view = View() self.view.menu() a = input() if a == '1': self.view = View() self.view.create_a_contact() nombre = input() apellido = input() correo = input() telefono = input() self.create_a_contact(nombre,apellido,correo,telefono)
def method_format(self, method_name, method_args, return_type): result = View.tab() + 'def ' + method_name + '(self' result += self.method_parameter(method_args) result += '):' + View.newline() result += View.tab() + View.tab() + return_type + View.newline( ) + View.newline() return result
def class_designer(self, new_dict): file_name = self.file_name(new_dict['class']) class_name = self.class_maker(new_dict['class']) methods = self.method_maker(new_dict['method']) attributes = self.attribute_maker(new_dict['attribute']) if 'relationship' in new_dict.keys(): relationships = self.get_rel_type(new_dict['relationship']) attributes += self.relationship_maker(relationships) attributes += View.newline() temp_dict = { 'file_name': file_name, 'file_content': class_name + attributes + methods } return temp_dict
def class_maker(self, new_class_name): """ >>> name = 'LevelDesigner' >>> c_maker = ClassMaker() >>> c_maker.class_maker(name) This is the beginning. No exception is raised This is the end 'class LevelDesigner:\\n' >>> name = 'gamePlayer' >>> c_maker.class_maker(name) This is the beginning. No exception is raised This is the end 'class GamePlayer:\\n' >>> name = 'filehandler' >>> c_maker.class_maker(name) This is the beginning. No exception is raised This is the end 'class Filehandler:\\n' """ try: print("This is the beginning.") class_name = new_class_name.replace(new_class_name[0], new_class_name[0].upper(), 1) except AttributeError as err: print("The exception is: ", err) except MyError as err: print(err) else: print("No exception is raised") return 'class ' + class_name + ':' + View.newline() finally: print("This is the end")
def relationship_maker(self, new_relationship): relationships = '' for relationship in new_relationship: relationships += View.tab() + View.tab( ) + 'self.' + relationship + View.newline() return relationships
def __init__(self): self.aid = None self.um_obj = Model() self.uv_obj = View()
class Controller: def __init__(self): self.aid = None self.um_obj = Model() self.uv_obj = View() def admin_validate_control(self): admin_login = self.uv_obj.admin_login() email = admin_login[0] password = admin_login[1] #print(email) #print(password) # calling admin_validate method of Model class for admin data = self.um_obj.admin_validate(email, password) self.aid = data[0] em = data[1] pw = data[2] #print(aid, em, pw) if email == em and password == pw: # admin validation admin_session = em print("---------------------------") print("Welcome To Admin Panel!") print("---------------------------") self.admin_control() # if admin user name and password is correct, # it calls user_input() method to input data else: print("Incorrect UserName and Password!") def user_validate_control(self): user_login = self.uv_obj.user_login() email = user_login[0] password = user_login[1] # print(email, password) # calling admin_validate method of Model class for admin data = self.um_obj.user_validate(email, password) uid = data[0] ema = data[1] pwa = data[2] # print(ema, pwa) if email == ema and password == pwa: # if true call user_input() method user_session = ema print("---------------------------") print("Welcome To User Panel!") print("---------------------------") user_data = self.um_obj.user_data_show(uid) self.uv_obj.user_output(user_data) edit = input("Do you want to edit (yes/no)?") if edit == "yes": edit_data = self.uv_obj.user_edit(user_data) update_user = self.um_obj.update_user(edit_data, uid) print(update_user) else: pass else: print("Incorrect UserName and Password! ") def admin_control( self ): # to control which action admin's can perform edit, delete or show print("""Hint: To View all Users Data: enter "show users" To View Your Own Data: enter "show" To Edit: enter "edit" To Delete User: enter "delete" """) mode = input( "Which action you want to perform (Retrieve/Edit/Delete )? ") if mode == "edit": admin_data = self.um_obj.admin_data_show(self.aid) edit_data = self.uv_obj.user_edit(admin_data) update_admin = self.um_obj.update_admin(edit_data, self.aid) print(update_admin) elif mode == "delete": delete_name = self.uv_obj.delete_user_data() delete = self.um_obj.delete_user_by_admin(delete_name) print(delete) elif mode == "show users": user_rows = self.um_obj.all_user_data_for_admin() self.uv_obj.admin_output_of_user(user_rows) elif mode == "show": admin_row = self.um_obj.admin_data_show(self.aid) self.uv_obj.admin_output(admin_row) else: print("Wrong Instruction!") def user_control(self): print("""Hint: To Sign Up: enter "sign up" To Login: enter "login" """) mode = input("Which action you want to perform (Sign Up/Login)? ") if mode == "sign up": user_input = self.uv_obj.user_input() add_db = self.um_obj.add_to_user_db(user_input) print(add_db) elif mode == "login": self.user_validate_control() else: print( "Enter sign up to Sign Up for new user and enter login to LogIn for exist user." )
class Controller: """ ********************************* * A controller for a store DB * ********************************* """ def __init__(self): self.model = Model() self.view = View() def start(self): self.view.start() self.main_menu() """ ********************************* * General Controller * ********************************* """ def main_menu(self): o = '0' while 0 != '3': self.view.main_menu() self.view.option('3') o = input() if o == '1': self.menu_usuario() elif o == '2': self.login() elif o == '3': self.view.end() else: self.view.not_valid_option() return def update_lists(self, fs, vs): fields = [] vals = [] for f,v in zip(fs,vs): if v != '': fields.append(f+' = %s') vals.append(v) return fields,vals def menu_usuario(self): o = '0' while o != '4': self.view.main_menu_usuario() self.view.option('4') o = input() if o == '1': self.usuario_peliculas() elif o == '2': self.usuario_funciones() elif o == '3': self.usuario_boletos() elif o == '4': self.main_menu() return else: self.view.not_valid_option() return def administrador_menu(self): o = '0' while o != '5': self.view.main_menu_admin() self.view.option('5') o = input() if o == '1': self.administrador_peliculas() elif o == '2': self.administrador_salas() elif o == '3': self.administrador_funciones() elif o == '4': self.administrador_boletos() elif o == '5': self.administrador_admins() elif o == '6': self.main_menu() return else: self.view.not_valid_option() return """ ********************************* * Controllers for peliculas * ********************************* """ def administrador_peliculas(self): o = '0' while o != '7': self.view.peliculas_menu_admin() self.view.option('7') o = input() if o == '1': self.agregar_pelicula() elif o == '2': self.read_a_pelicula() elif o == '3': self.read_all_peliculas() elif o == '4': self.read_peliculas_categoria() elif o == '5': self.update_pelicula() elif o == '6': self.delete_pelicula() elif o == '7': self.administrador_menu() return else: self.view.not_valid_option() return def usuario_peliculas(self): o = '0' while o != '3': self.view.pelicuas_menu_usuario() self.view.option('3') o = input() if o == '1': self.read_all_peliculas() elif o == '2': self.read_peliculas_categoria() elif o == '3': self.menu_usuario() return else: self.view.not_valid_option() return def ask_pelicula(self): self.view.ask('Nombre: ') nombre = input() self.view.ask('Sinopsis: ') sinopsis = input() self.view.ask('Categoria: ') categoria = input() self.view.ask('Duracion: ') duracion = input() return [nombre, sinopsis, categoria, duracion] def agregar_pelicula(self): nombre, sinopsis, categoria, duracion = self.ask_pelicula() out = self.model.agregar_pelicula(nombre, sinopsis, categoria, duracion) if out == True: self.view.ok(nombre,'agrego') else: self.view.error('NO SE PUDO AGREGAR LA PELICULA. REVISA') return def read_a_pelicula(self): self.view.ask('ID pelicula: ') id_pelicula = input() pelicula = self.model.read_a_pelicula(id_pelicula) if type(pelicula) == tuple: self.view.show_pelicula_header(' Datos de la pelicula '+id_pelicula+' ') self.view.show_a_pelicula(pelicula) self.view.show_pelicula_midder() self.view.show_pelicula_footer() else: if pelicula == None: self.view.error('LA PELICULA NO EXISTE') else: self.view.error('PROBLEMA AL LEER LA PELICULA. REVISA') return def read_all_peliculas(self): peliculas = self.model.read_all_pelicula() if type(peliculas) == list: self.view.show_pelicula_header(' Todas las peliculas ') for pelicula in peliculas: self.view.show_a_pelicula(pelicula) self.view.show_pelicula_midder() self.view.show_pelicula_footer() else: self.view.error('PROBLEMA AL LEER LAS PELICULAS. REVISA') return def read_peliculas_categoria(self): self.view.ask('Categoria: ') categoria = input() peliculas = self.model.read_pelicula_categoria(categoria) if type(peliculas) == list: self.view.show_pelicula_header(' Peliculas categoria '+categoria+' ') for pelicula in peliculas: self.view.show_a_pelicula(pelicula) self.view.show_pelicula_midder() self.view.show_pelicula_footer else: self.view.error('PROBLEMA AL LEER LAS PELICULAS. REVISA') return def update_pelicula(self): self.view.ask('ID de pelicula a modificar: ') id_pelicula = input() pelicula = self.model.read_a_pelicula(id_pelicula) if type(pelicula) == tuple: self.view.show_pelicula_header(' Datos de la pelicula '+id_pelicula+' ') self.view.show_a_pelicula(pelicula) self.view.show_pelicula_midder() self.view.show_pelicula_footer() else: if pelicula == None: self.view.error('LA PELICULA NO EXISTE') else: self.view.error('PROBLEMA AL LEER LA PELICULA') return self.view.msg('Ingresa los valores a modificar (vacio para dejarlo igual): ') whole_vals = self.ask_pelicula() fields, vals = self.update_lists(['Nombre', 'Sinopsis', 'Categoria', 'Duracion'], whole_vals) vals.append(id_pelicula) vals = tuple(vals) out = self.model.update_pelicula(fields,vals) if out == True: self.view.ok(id_pelicula, 'actualizo') else: self.view.error('NO SE PUDO ACTUALIZAR LA PELICULA. REVISA') return def delete_pelicula(self): self.view.ask('Id de la pelicula a borrar: ') id_pelicula = input() count = self.model.delete_pelicula(id_pelicula) if count != 0: self.view.ok(id_pelicula, 'borro') else: if count == 0: self.view.error('LA PELICULA NO EXISTE') else: self.view.error('PROBLEMA AL BORRAR LA PELICULA. REVISA.') return """ ********************************* * Controllers for salas * ********************************* """ def administrador_salas(self): o = '0' while o != '8': self.view.sala_menu() self.view.option('8') o = input() if o == '1': self.agregar_sala() elif o == '2': self.read_a_sala() elif o == '3': self.read_all_salas() elif o == '4': self.update_sala() elif o == '5': self.agregar_asientos_sala() elif o == '6': self.eliminar_asientos_sala() elif o == '7': self.delete_sala() elif o == '8': self.administrador_menu() return else: self.view.not_valid_option() return def ask_sala(self): self.view.ask('Nombre: ') nombre = input() return [nombre] def agregar_sala(self): nombre = self.ask_sala() out = self.model.agregar_sala(nombre) if out == True: self.view.ok(nombre,'agrego') else: self.view.error('NO SE PUDO AGREGAR LA SALA. REVISA') return def read_a_sala(self): self.view.ask('ID sala: ') id_sala = input() sala = self.model.read_a_sala(id_sala) if type(sala) == tuple: self.view.show_sala_header(' Datos de la sala '+id_sala+' ') self.view.show_a_sala(sala) self.read_all_asientos(id_sala) self.view.show_sala_midder() self.view.show_sala_footer() else: if sala == None: self.view.error('LA SALA NO EXISTE') else: self.view.error('PROBLEMA AL LEER LA SALA. REVISA') return def read_all_salas(self): salas = self.model.read_all_salas() if type(salas) == list: self.view.show_sala_header(' Todas las salas ') for sala in salas: self.view.show_sala_header('Sala '+str(sala[0])) self.view.show_a_sala(sala) self.read_all_asientos(sala[0]) self.view.show_sala_midder() self.view.show_pelicula_footer() else: self.view.error('PROBLEMA AL LEER LAS PELICULAS. REVISA') return def read_all_asientos(self,id_sala): asientos = self.model.read_asientos_sala(id_sala) if type(asientos) == list: if len(asientos) == 0: print('Aun no se egregan asientos') self.view.show_asiento_footer() else: self.view.show_asiento_header(' Asientos sala '+str(id_sala)) for asiento in asientos: self.view.show_a_asiento(asiento) self.view.show_asiento_footer() else: self.view.error('PROBLEMA AL LEER LOS ASIENTOS') return def read_asientos(self,asientos): if type(asientos) == list: self.view.show_asiento_header('Asientos Disponibles') for asiento in asientos: self.view.show_a_asiento(asiento) self.view.show_asiento_footer() else: self.view.error('PROBLEMA AL LEER LOS ASIENTOS') return def agregar_asientos_sala(self): self.read_all_salas() self.view.ask('ID de la sala: ') id_sala = input() self.view.ask('Cuantos asientos desea agregar? ') no_asientos = input() for a in range (0,int(no_asientos)): self.view.ask('Nombre del asiento: ') nombre = input() out = self.model.agregar_asiento(id_sala, nombre) if out == True: self.view.ok(nombre,'agrego') else: self.view.error('NO SE PUDO AGREGAR EL ASIENTO. REVISA') return def ask_sala(self): self.view.ask('Nombre: ') nombre = input() return [nombre] def update_sala(self): self.view.ask('ID de la sala a modificar: ') id_sala = input() sala = self.model.read_a_sala(id_sala) if type(sala) == tuple: self.view.show_sala_header(' Datos de la sala '+id_sala+' ') self.view.show_a_sala(sala) self.view.show_sala_midder() self.view.show_sala_footer() else: if sala == None: self.view.error('LA SALA NO EXISTE') else: self.view.error('PROBLEMA AL LEER LA SALA') return self.view.msg('Ingresa los valores a modificar (vacio para dejarlo igual): ') whole_vals = self.ask_sala() fields, vals = self.update_lists(['nombre_sala'], whole_vals) vals.append(id_sala) vals = tuple(vals) out = self.model.update_sala(fields,vals) if out == True: self.view.ok(id_sala, 'actualizo') else: self.view.error('NO SE PUDO ACTUALIZAR LA SALA. REVISA') return def eliminar_asientos_sala(self): self.view.ask('Id de la sala: ') id_sala = input() self.view.ask('ID del asiento: ') id_asiento = input() count = self.model.delete_asientos(id_sala, id_asiento) if count != 0: self.view.ok(id_asiento, 'borro') else: if count == 0: self.view.error('El ASIENTO NO EXISTE') else: self.view.error('PROBLEMA AL BORRAR EL ASIENTO') return def delete_sala(self): self.view.ask('ID de la sala: ') id_sala = input() count = self.model.delete_sala(id_sala) if count != 0: self.view.ok(id_sala, 'borro') else: if count == 0: self.view.error('LA SALA NO EXISTE') else: self.view.error('PROBLEMA AL BORRAR LA SALA') return """ ********************************* * Controllers for Funciones * ********************************* """ def usuario_funciones(self): o = '0' while o != '3': self.view.menu_funciones_usuario() self.view.option('3') o = input() if o == '1': self.read_all_funciones() elif o == '2': self.read_funciones_pelicula() elif o == '3': self.menu_usuario() return else: self.view.not_valid_option() return def administrador_funciones(self): o = '0' while o != '7': self.view.funciones_menu() self.view.option('7') o = input() if o == '1': self.agregar_funciones() elif o == '2': self.read_a_funcion() elif o == '3': self.read_all_funciones() elif o == '4': self.read_funciones_pelicula() elif o == '5': self.update_funcion() elif o == '6': self.delete_funcion() elif o == '7': self.administrador_menu() return else: self.view.not_valid_option() return def ask_funcion(self): self.view.ask('ID Pelicula: ') id_pelicula = input() self.view.ask('ID_sala: ') id_sala = input() self.view.ask('Fecha: ') fecha = input() self.view.ask('Hora: ') hora = input() self.view.ask('Precio: ') precio = input() self.view.ask('Idioma: ') idioma = input() return [id_pelicula, id_sala, fecha, hora, precio, idioma] def agregar_funciones(self): id_pelicula, id_sala, fecha, hora, precio, idioma = self.ask_funcion() out = self.model.agregar_funcion(id_pelicula, id_sala, fecha, hora, precio, idioma) if out == True: self.view.ok(fecha,'Funcion agregada') else: self.view.error('NO SE PUDO AGREGAR LA FUNCION. REVISA') return def read_a_funcion(self): self.view.ask('ID funcion: ') id_funcion = input() funcion = self.model.read_a_funcion(id_funcion) if type(funcion) == tuple: self.view.show_funcion_header(' Datos de la funcion '+id_funcion+' ') self.view.show_a_funcion(funcion) self.view.show_funcion_midder() self.view.show_funcion_footer() else: if funcion == None: self.view.error('LA FUNCION NO EXISTE') else: self.view.error('PROBLEMA AL LEER LA FUNCION') return def read_funcion(self,id_funcion): funcion = self.model.read_a_funcion(id_funcion) if type(funcion) == tuple: self.view.show_funcion_header(' Datos de la funcion '+id_funcion+' ') self.view.show_a_funcion(funcion) self.view.show_funcion_midder() self.view.show_funcion_footer() else: if funcion == None: self.view.error('LA FUNCION NO EXISTE') else: self.view.error('PROBLEMA AL LEER LA FUNCION') return def read_all_funciones(self): funciones = self.model.read_all_funciones() if type(funciones) == list: self.view.show_funcion_header(' Todas las funciones ') for funcion in funciones: self.view.show_a_funcion(funcion) self.view.show_funcion_midder() self.view.show_pelicula_footer() else: self.view.error('PROBLEMA AL LEER LAS FUNCIONES. REVISA') return def read_funciones_pelicula(self): self.view.ask('Nombre Pelicula: ') n_pelicula = input() funciones = self.model.read_funcion_pelicula(n_pelicula) if type(funciones) == list: self.view.show_funcion_header(' Funciones para pelicula '+n_pelicula+' ') for funcion in funciones: self.view.show_a_funcion(funcion) self.view.show_funcion_midder() self.view.show_pelicula_footer() else: self.view.error('PROBLEMA AL LEER LAS FUNCIONES. REVISA') return def update_funcion(self): self.view.ask('ID de funcion a modificar: ') id_funcion = input() funcion = self.model.read_a_funcion(id_funcion) if type(funcion) == tuple: self.view.show_funcion_header(' Datos de la funcion '+id_funcion+' ') self.view.show_a_funcion(funcion) self.view.show_funcion_midder() self.view.show_funcion_footer() else: if funcion == None: self.view.error('LA FUNCION NO EXISTE') else: self.view.error('PROBLEMA AL LEER LA FUNCION') return self.view.msg('Ingresa los valores a modificar (vacio para dejarlo igual): ') whole_vals = self.ask_funcion() fields, vals = self.update_lists(['id_pelicula', 'id_sala', 'fecha', 'hora', 'precio', 'idioma'], whole_vals) vals.append(id_funcion) vals = tuple(vals) out = self.model.update_funcion(fields,vals) if out == True: self.view.ok(id_funcion, 'actualizo') else: self.view.error('NO SE PUDO ACTUALIZAR LA FUNCION. REVISA') return def delete_funcion(self): self.view.ask('ID de la FUNCION: ') id_funcion = input() count = self.model.delete_funcion(id_funcion) if count != 0: self.view.ok(id_funcion, 'borro') else: if count == 0: self.view.error('LA FUNCION NO EXISTE') else: self.view.error('PROBLEMA AL BORRAR LA FUNCION') return """ ********************************* * Controllers for BOLETOS * ********************************* """ def usuario_boletos(self): o = '0' while o != '2': self.view.boletos_menu_usuario() self.view.option('2') o = input() if o == '1': self.agregar_boleto() elif o == '2': self.menu_usuario() return else: self.view.not_valid_option() return def administrador_boletos(self): o = '0' while o != '6': self.view.boleto_menu() self.view.option('6') o = input() if o == '1': self.agregar_boleto() elif o == '2': self.read_a_boleto() elif o == '3': self.read_all_boletos() elif o == '4': self.read_boletos_funcion() elif o == '5': self.delete_funcion() elif o == '6': self.administrador_menu() return else: self.view.not_valid_option() return def ask_boleto(self): self.view.ask('ID Funcion: ') id_funcion = input() self.view.ask('ID_asiento: ') id_asiento = input() return [id_funcion, id_asiento] def agregar_boleto(self): self.read_all_funciones() self.view.ask('ID_FUNCION: ') id_funcion = input() funcion=self.model.read_a_funcion(id_funcion) asientos = self.model.read_asientos_sala(funcion[2]) ocupados = self.model.asientos_funcion(id_funcion) desocupados = [a for a in asientos if not a in ocupados] self.read_asientos(desocupados) self.view.ask('ID_ASIENTO: ') id_asiento = input() des = [] for i in desocupados: des.append(str(i[0])) if id_asiento in des: out = self.model.agregar_boleto(id_funcion, id_asiento) if out == True: self.view.ok(id_asiento,'agregado') else: self.view.error('NO SE PUDO AGREGAR EL BOLETO') else: self.view.error('ERROR AL SELECCIONAR ASIENTO') return def read_a_boleto(self): self.view.ask('ID Boleto: ') id_boleto = input() boleto = self.model.read_a_boleto(id_boleto) if type(boleto) == tuple: self.view.show_boleto_footer() self.view.show_boleto_header(' Datos de la boleto '+id_boleto+' ') self.view.show_boleto_footer() self.view.show_boleto(boleto) self.view.show_boleto_footer() else: if boleto == None: self.view.error('EL BOLETO NO EXISTE') else: self.view.error('PROBLEMA AL LEER EL BOLETO') return def read_all_boletos(self): boletos = self.model.read_all_boletos() if type(boletos) == list: self.view.show_funcion_header(' Todos los boletos ') for boleto in boletos: self.view.show_boleto(boleto) self.view.show_boleto_midder() self.view.show_pelicula_footer() else: self.view.error('PROBLEMA AL LEER LAS FUNCIONES. REVISA') return def read_boletos_funcion(self): self.read_all_funciones() self.view.ask('ID FUNCION: ') id_funcion = input() boletos = self.model.read_boletos_funcion(id_funcion) if type(boletos) == list: self.view.show_funcion_header(' Boletos de la funcion '+id_funcion+' ') for boleto in boletos: self.view.show_boleto(boleto) self.view.show_boleto_midder() self.view.show_pelicula_footer() else: self.view.error('PROBLEMA AL LEER LAS BOLETOS') return def delete_boleto(self): self.view.ask('ID del BOLETO: ') id_boleto = input() count = self.model.delete_boleto(id_boleto) if count != 0: self.view.ok(id_boleto, 'se borro') else: if count == 0: self.view.error('EL BOLETO NO EXISE') else: self.view.error('PROBLEMA AL BORRAR EL BOLETO') return """ ********************************* * Controllers for ADMINS * ********************************* """ def administrador_admins(self): o = '0' while o != '6': self.view.admin_menu() self.view.option('6') o = input() if o == '1': self.agregar_administrador() elif o == '2': self.read_a_administrador() elif o == '3': self.read_all_administradores() elif o == '4': self.update_administrador() elif o == '5': self.delete_administrador() elif o == '6': self.administrador_menu() return else: self.view.not_valid_option() return def ask_admin(self): self.view.ask('Nombre: ') nombre = input() self.view.ask('Apellido_P: ') apellido_p = input() self.view.ask('Apellido_M: ') apellido_m = input() self.view.ask('Usuario: ') usuario = input() self.view.ask('Contraseña: ') contraseña = input() return [nombre, apellido_p, apellido_m, usuario, contraseña] def agregar_administrador(self): nombre, apellido_p, apellido_m, usuario, contraseña = self.ask_admin() out = self.model.agregar_administrador(nombre, apellido_p, apellido_m, usuario, contraseña) if out == True: self.view.ok(nombre,'agrego') else: self.view.error('NO SE PUDO AGREGAR EL ADMINISTRADOR. REVISA') return def read_a_administrador(self): self.view.ask('ID ADMIN: ') id_admin = input() admin = self.model.read_administrador(id_admin) if type(admin) == tuple: self.view.show_admin_header(' Datos del Admin '+id_admin+' ') self.view.show_a_admin(admin) self.view.show_admin_midder() self.view.show_admin_footer() else: if admin == None: self.view.error('EL ADMINISTRADOR NO EXISTE') else: self.view.error('PROBLEMA AL LEER EL ADMIN. REVISA') return def read_all_administradores(self): admins = self.model.read_all_administradores() if type(admins) == list: self.view.show_admin_header(' Todos los administradores ') for admin in admins: self.view.show_a_admin(admin) self.view.show_admin_midder() self.view.show_admin_footer() else: self.view.error('PROBLEMA AL LEER LOS ADMINISTRADORES. REVISA') return def update_administrador(self): self.view.ask('ID del administrador a modificar: ') id_admin = input() admin = self.model.read_administrador(id_admin) if type(admin) == tuple: self.view.show_admin_header(' Datos del admin '+id_admin+' ') self.view.show_a_admin(admin) self.view.show_admin_midder() self.view.show_admin_footer() else: if admin == None: self.view.error('EL ADMINISTRADOR NO EXISTE') else: self.view.error('PROBLEMA AL LEER EL ADMIN') return self.view.msg('Ingresa los valores a modificar (vacio para dejarlo igual): ') whole_vals = self.ask_admin() fields, vals = self.update_lists(['nombre', 'apellido_p', 'apellido_m', 'usuario', 'contraseñna'], whole_vals) vals.append(id_admin) vals = tuple(vals) out = self.model.update_administrador(fields,vals) if out == True: self.view.ok(id_admin, 'actualizo') else: self.view.error('NO SE PUDO ACTUALIZAR EL ADMINISTRADOR. REVISA') return def delete_administrador(self): self.view.ask('ID del ADMIN: ') id_admin = input() count = self.model.delete_admin(id_admin) if count != 0: self.view.ok(id_admin, 'se borro') else: if count == 0: self.view.error('EL ADMINISTRADOR NO EXISE') else: self.view.error('PROBLEMA AL BORRAR') return def ask_login(self): self.view.ask('Usuario: ') usuario = input() self.view.ask('Contraseña: ') contraseña = input() return [usuario, contraseña] def login(self): self.view.login() usuario, contraseña = self.ask_login() login = self.model.admin_login(usuario,contraseña) if type(login) == tuple: self.view.show_admin_header(' BIENVENIDO '+login[0]+' ') self.view.show_admin_footer() self.administrador_menu() else: if login == None: self.view.error('CONTRASEÑA O USUARIO INCORRECTO') else: self.view.error('PROBLEMA AL INGRESAR') return
def __init__(self): self.model = Model() self.view = View()
class Controller: def create_a_contact(self,first_name,last_name,email = '',tel = ''): try: self.model.create_a_contact(first_name,last_name,email,tel) except m_e.contact_already_stored as e: self.view.contact_already_stored_error(e) def show_all_contacts(self): contacts = self.model.read_all_contacts() self.view.show_all_contacts(contacts) def show_a_contact(self,first_name,last_name): try: contact = self.model.read_a_contact(first_name,last_name) self.view.show_a_contact(contact) except m_e.contact_not_stored as e: self.view.contact_not_stored(e) def update_a_contact(self,old_first_name,olf_last_name,new_first_name,new_last_name, new_email = '', new_tel = ''): try: self.model.update_a_contact(old_first_name,olf_last_name,new_first_name,new_last_name, new_email,new_tel) except m_e.contact_not_stored as e: self.view.contact_already_stored_error(e) def delete_a_contact(self,first_name,last_name): try: self.model.delete_a_contact(first_name,last_name) except m_e.contact_already_stored as e: self.view.contact_already_stored_error(e) def start(self): self.model = Model() self.view = View() self.view.start_view() self.create_a_contact('pedro','orozco','*****@*****.**') self.create_a_contact('luis','medrano') self.create_a_contact('luis','medrano') #self.delete_a_contact('juan','lopez') self.show_all_contacts() self.update_a_contact('juan','perez','luis','zapata','*****@*****.**','4424232312') self.show_all_contacts() self.show_a_contact('luis','zapata') self.view.end_view() def menu(self): self.view = View() self.view.menu() a = input() if a == '1': self.view = View() self.view.create_a_contact() nombre = input() apellido = input() correo = input() telefono = input() self.create_a_contact(nombre,apellido,correo,telefono)
class Controller: """ ************************************ * Controlador para cine Db * ************************************ """ def __init__(self): self.model = Model() self.view = View() def start(self): self.view.start() self.menu_principal() def update_lists(self, fs, vs): fields = [] vals = [] for f, v in zip(fs,vs): if v != '': fields.append(f+' = %s') vals.append(v) return fields, vals clear = lambda: os.system('cls') #on Windows System """ ************************************ * Controladores inicio/registro * ************************************ """ def menu_principal(self): os.system ("cls") o = '0' while o != '4': self.view.menu_principal() self.view.option('4') o = input() if o == '1': self.inicio_sesion_usuario() elif o == '2': self.inicio_sesion_administrador() elif o == '3': self.registro_usuario() elif o == '4': self.view.end() else: self.view.not_valid_option() return def ask_inicio(self): self.view.ask('Email: ') Email = input() self.view.ask('Password: '******'Datos de tu usuario') self.view.mostrar_usuario(usuario) self.view.mostrar_usuario_midder() self.view.mostrar_usuario_footer() self.menu_user() else: if usuario == None: self.view.err('El EMAIL O EL PASSWORD SON INCORRECTOS') else: self.view.err('PROBLEMA AL LEER EL USUARIO. REVISA.') return def inicio_sesion_administrador(self): Email, password = self.ask_inicio() administrador = self.model.leer_administrador_email_password(Email, password) if type(administrador) == tuple: self.view.mostrar_admin_header('Datos de tu administrador') self.view.mostrar_admin(administrador) self.view.mostrar_admin_midder() self.view.mostrar_admin_footer() self.menu_admin() else: if administrador == None: self.view.err('El EMAIL O EL PASSWORD SON INCORRECTOS') else: self.view.err('PROBLEMA AL LEER EL administrador. REVISA.') return def registro_usuario(self): print('registo de usuarios') self.view.input('Nombre') Nombre = input() self.view.input('Email') Email = input() self.view.input('Contraseña') password = input() self.view.input('Telefono') Num = input() result = self.model.crear_usuario(Nombre, Email, password, Num) if result == True: self.view.msg('Usuario creado') else: self.view.err(result) def registro_admin(self): print('registo de administradores') self.view.input('Nombre') Nombre = input() self.view.input('Email') Email = input() self.view.input('Contraseña') password = input() self.view.input('Telefono') Num = input() result = self.model.crear_admin(Nombre, Email, password, Num) if result == True: self.view.msg('Administrador creado') else: self.view.err(result) """ ************************************ * Controladores usuario * ************************************ """ def menu_user(self): os.system ("cls") o = '0' while o != '8': self.view.menu_user() self.view.option('8') o = input() if o == '1': self.leer_funciones() elif o == '2': self.horario_funcion() elif o == '3': self.fecha_funcion() elif o == '4': self.pelicula_funcion() elif o == '5': self.leer_peliculas() elif o == '6': self.crear_Ticket_usuario() elif o == '7': self.leer_Tickets_usuario() elif o == '8': self.view.end() else: self.view.not_valid_option() return """ ************************************ * Controladores administradores * ************************************|| """ def menu_admin(self): os.system ("cls") o = '0' while o != '7': self.view.menu_admin() self.view.option('7') o = input() if o == '1': self.CtrlFunciones() pass elif o == '2': self.CtrlPeliculas() elif o == '3': self.Ctrlsalas() elif o == '4': self.CtrlButaca() elif o == '5': self.CtrlTicket() elif o == '6': self.CtrlUsuario() elif o == '7': self.view.end() else: self.view.not_valid_option() return """ ************************************ * Controladores usuario/admin * ************************************ """ def CtrlUsuario(self): os.system ("cls") o = '0' while o != '9': self.view.menu_usuario() self.view.option('9') o = input() if o == '1': self.registro_usuario() elif o == '2': self.leer_usuarios() elif o == '3': self.actualizar_usuario() elif o == '4': self.eliminar_usuario() elif o == '5': self.registro_admin() elif o == '6': self.leer_admins() elif o == '7': self.actualizar_admin() elif o == '8': self.eliminar_admin() elif o == '9': self.view.end() else: self.view.not_valid_option() return '''USER''' def ask_usuario(self): self.view.ask('Nombre: ') Nombre = input() self.view.ask('Email: ') Email = input() self.view.ask('Num: ') Num = input() self.view.ask('password: '******'ID usuario: ') Id_Usuario = input() usuario = self.model.leer_usuario(Id_Usuario) if type(usuario) == tuple: self.view.mostrar_usuario_header('Datos del usuario'+Id_Usuario+' ') self.view.mostrar_usuario(usuario) self.view.mostrar_usuario_midder() self.view.mostrar_usuario_footer() else: if usuario == None: self.view.err('El USUARIO NO EXISTE') else: self.view.err('PROBLEMA AL LEER EL USUARIO. REVISA.') return def leer_usuarios(self): usuarios = self.model.leer_usuarios() if type(usuarios) == list: self.view.mostrar_usuario_header(' Todos lOs usuarios ') for usuario in usuarios: self.view.mostrar_usuario(usuario) self.view.mostrar_usuario_midder() self.view.mostrar_usuario_footer() else: self.view.err('PROBLEMA AL LEER LOS USUARIOS. REVISA') return def actualizar_usuario(self): self.view.ask('ID de la usuario: ') Id_Usuario = input() usuario = self.model.leer_usuario(Id_Usuario) if type(usuario) == tuple: self.view.mostrar_usuario_header(' identificador de la usuario '+Id_Usuario+' ') self.view.mostrar_usuario(usuario) self.view.mostrar_usuario_midder() self.view.mostrar_usuario_footer() else: if usuario == None: self.view.err('LA usuario NO EXISTE') else: self.view.err('PROBLEMA AL LEER LA usuario. REVISA') return self.view.msg('Ingresa los valores a modificar (vacio para dejarlo igual):') whole_vals = self.ask_usuario() fields, vals = self.update_lists(['Nombre','Email','Num','password'], whole_vals) vals.append(Id_Usuario) vals = tuple(vals) out = self.model.actualizar_usuario(fields, vals) if out == True: self.view.ok(Id_Usuario, 'actualizo') else: self.view.err('NO SE PUDO ACTUALIZAR EL USUARIO. REVISA.') return def eliminar_usuario(self): self.view.ask('ID usuario: ') Id_Usuario = input() count = self.model.eliminar_usuario(Id_Usuario) if count != 0: self.view.ok(Id_Usuario, 'borro') else: if count == 0: self.view.err('EL USUARIO NO EXISTE') else: self.view.err('PROBLEMA AL BORRAR AL USUARIO. REVISA.') return '''ADMIN''' def ask_admin(self): self.view.ask('Nombre: ') Nombre = input() self.view.ask('Email: ') Email = input() self.view.ask('Num: ') Num = input() self.view.ask('password: '******'ID admin: ') Id_Administrador = input() admin = self.model.leer_admin(Id_Administrador) if type(admin) == tuple: self.view.mostrar_admin_header('Datos del admin'+Id_Administrador+' ') self.view.mostrar_admin(admin) self.view.mostrar_admin_midder() self.view.mostrar_admin_footer() else: if admin == None: self.view.err('El ADMINISTRADOR NO EXISTE') else: self.view.err('PROBLEMA AL LEER EL ADMINISTRADOR. REVISA.') return def leer_admins(self): admins = self.model.leer_admins() if type(admins) == list: self.view.mostrar_admin_header(' Todos los admins ') for admin in admins: self.view.mostrar_admin(admin) self.view.mostrar_admin_midder() self.view.mostrar_admin_footer() else: self.view.err('PROBLEMA AL LEER LOS ADMINISTRADOR. REVISA') return def actualizar_admin(self): self.view.ask('ID del admin: ') Id_Administrador = input() admin = self.model.leer_admin(Id_Administrador) if type(admin) == tuple: self.view.mostrar_admin_header(' identificador de la admin '+Id_Administrador+' ') self.view.mostrar_admin(admin) self.view.mostrar_admin_midder() self.view.mostrar_admin_footer() else: if admin == None: self.view.err('EL ADMINISTRADOR NO EXISTE') else: self.view.err('PROBLEMA AL LEER EL ADMINISTRADOR. REVISA') return self.view.msg('Ingresa los valores a modificar (vacio para dejarlo igual):') whole_vals = self.ask_admin() fields, vals = self.update_lists(['Nombre','Email','Num','password'], whole_vals) vals.append(Id_Administrador) vals = tuple(vals) out = self.model.actualizar_admin(fields, vals) if out == True: self.view.ok(Id_Administrador, 'actualizo') else: self.view.err('NO SE PUDO ACTUALIZAR EL ADMINISTRADOR. REVISA.') return def eliminar_admin(self): self.view.ask('ID admin: ') Id_Administrador = input() count = self.model.eliminar_admin(Id_Administrador) if count != 0: self.view.ok(Id_Administrador, 'borro') else: if count == 0: self.view.err('EL ADMINISTRADOR NO EXISTE') else: self.view.err('PROBLEMA AL BORRAR AL ADMINISTRADOR. REVISA.') return """ ************************************ * Controladores funciones * ************************************ """ def CtrlFunciones(self): os.system ("cls") o = '0' while o != '5': self.view.menu_funciones() self.view.option('5') o = input() if o == '1': self.crear_funcion() elif o == '2': self.leer_funciones() elif o == '3': self.actualizar_funcion() elif o == '4': self.eliminar_funcion() elif o == '5': self.view.end() else: self.view.not_valid_option() return def ask_funcion(self): self.view.ask('Id_Pelicula : ') Id_Pelicula = input() self.view.ask('Id_Sala: ') Id_Sala = input() self.view.ask('fecha: ') fecha = input() self.view.ask('horario: ') horario = input() return[Id_Pelicula,Id_Sala,fecha,horario] def crear_funcion(self): print('Aregar funcion') self.view.ask('Id_Pelicula: ') Id_Pelicula = input() self.view.ask('Id_Sala: ') Id_Sala = input() self.view.ask('fecha: ') fecha = input() self.view.ask('horario: ') horario = input() result = self.model.crear_funcion(Id_Pelicula, Id_Sala, fecha, horario) if result == True: self.view.msg('funcion creada') else: self.view.err(result) def leer_funcion(self): self.view.ask('ID funcion: ') Id_Funcion = input() funcion = self.model.leer_funcion(Id_Funcion) if type(funcion) == tuple: self.view.mostrar_funcion_header('Datos de la funcion'+Id_Funcion+' ') self.view.mostrar_funcion(funcion) self.view.mostrar_funcion_midder() self.view.mostrar_funcion_footer() else: if funcion == None: self.view.err('LA FUNCION NO EXISTE') else: self.view.err('PROBLEMA AL LEER LA FUNCION. REVISA.') return def leer_funciones(self): funcions = self.model.leer_funciones() if type(funcions) == list: self.view.mostrar_funcion_header(' Todos las funciones ') for funcion in funcions: self.view.mostrar_funcion(funcion) self.view.mostrar_funcion_midder() self.view.mostrar_funcion_footer() else: self.view.err('PROBLEMA AL LEER LOS funcions. REVISA') return def actualizar_funcion(self): self.view.ask('ID de la funcion: ') Id_Funcion = input() funcion = self.model.leer_funcion(Id_Funcion) if type(funcion) == tuple: self.view.mostrar_funcion_header(' identificador de la funcion '+Id_Funcion+' ') self.view.mostrar_funcion(funcion) self.view.mostrar_funcion_midder() self.view.mostrar_funcion_footer() else: if funcion == None: self.view.err('LA funcion NO EXISTE') else: self.view.err('PROBLEMA AL LEER LA funcion. REVISA') return self.view.msg('Ingresa los valores a modificar (vacio para dejarlo igual):') whole_vals = self.ask_funcion() fields, vals = self.update_lists(['Id_Pelicula','Id_Sala','fecha','horario'], whole_vals) vals.append(Id_Funcion) vals = tuple(vals) out = self.model.actualizar_funcion(fields, vals) if out == True: self.view.ok(Id_Funcion, 'actualizo') else: self.view.err('NO SE PUDO ACTUALIZAR LA funcion. REVISA.') return def eliminar_funcion(self): self.view.ask('ID funcion: ') Id_Funcion = input() count = self.model.eliminar_funcion(Id_Funcion) if count != 0: self.view.ok(Id_Funcion, 'borro') else: if count == 0: self.view.err('LA FUNCION NO EXISTE') else: self.view.err('PROBLEMA AL BORRAR LA FUNCION. REVISA.') return def horario_funcion(self): self.view.ask('Hora: (Formato de 24 horas: hh:mm:ss') horario = input() funcion = self.model.horario_funcion(horario) if type(funcion) == list: self.view.mostrar_funcion_header('Funciones con el horario '+horario+' ') for function in funcion: self.view.mostrar_funcion(function) self.view.mostrar_funcion_midder() self.view.mostrar_funcion_footer() else: self.view.err('PROBLEMA AL LEER LAS FUNCIONES. REVISA.') return def fecha_funcion(self): self.view.ask('Fecha: (AAAA-MM-DD)') fecha = input() funcion = self.model.fecha_funcion(fecha) if type(funcion) == list: self.view.mostrar_funcion_header('Funciones con la fecha '+fecha+' ') for function in funcion: self.view.mostrar_funcion(function) self.view.mostrar_funcion_midder() self.view.mostrar_funcion_footer() else: self.view.err('PROBLEMA AL LEER LAS FUNCIONES. REVISA.') return def pelicula_funcion(self): self.view.ask('Id de la pelicula: ') pelicula = input() funcion = self.model.pelicula_funcion(pelicula) if type(funcion) == list: self.view.mostrar_funcion_header('Funciones de la pelicula '+pelicula+' ') for function in funcion: self.view.mostrar_funcion(function) self.view.mostrar_funcion_midder() self.view.mostrar_funcion_footer() else: self.view.err('PROBLEMA AL LEER LAS FUNCIONES. REVISA.') return """ ************************************ * Controladores peliculas * ************************************ """ def CtrlPeliculas(self): os.system ("cls") o = '0' while o != '5': self.view.menu_peliculas() self.view.option('5') o = input() if o == '1': self.crear_pelicula() elif o == '2': self.leer_peliculas() elif o == '3': self.actualizar_pelicula() elif o == '4': self.eliminar_pelicula() elif o == '5': self.view.end() else: self.view.not_valid_option() return def ask_pelicula(self): self.view.ask('Titulo: ') Titulo = input() self.view.ask('Genero: ') Genero = input() self.view.ask('Duracion: ') Duracion = input() self.view.ask('Idioma: ') Idioma = input() return[Titulo,Genero,Duracion,Idioma] def crear_pelicula(self): print('Aregar pelicula') self.view.ask('Titulo: ') Titulo = input() self.view.ask('Genero: ') Genero = input() self.view.ask('Duracion: ') Duracion = input() self.view.ask('Idioma: ') Idioma = input() result = self.model.crear_pelicula(Titulo, Genero, Duracion, Idioma) if result == True: self.view.msg('pelicula creada') else: self.view.err(result) def leer_pelicula(self): self.view.ask('ID pelicula: ') Id_Pelicula = input() pelicula = self.model.leer_pelicula(Id_Pelicula) if type(pelicula) == tuple: self.view.mostrar_pelicula_header('Datos de la pelicula'+Id_Pelicula+' ') self.view.mostrar_pelicula(pelicula) self.view.mostrar_pelicula_midder() self.view.mostrar_pelicula_footer() else: if pelicula == None: self.view.err('LA PELICULA NO EXISTE') else: self.view.err('PROBLEMA AL LEER LA PELICULA. REVISA.') return def leer_peliculas(self): peliculas = self.model.leer_peliculas() if type(peliculas) == list: self.view.mostrar_pelicula_header(' Todos las peliculas ') for pelicula in peliculas: self.view.mostrar_pelicula(pelicula) self.view.mostrar_pelicula_midder() self.view.mostrar_pelicula_footer() else: self.view.err('PROBLEMA AL LEER LOS peliculas. REVISA') return def actualizar_pelicula(self): self.view.ask('ID de la pelicula: ') Id_Pelicula = input() pelicula = self.model.leer_pelicula(Id_Pelicula) if type(pelicula) == tuple: self.view.mostrar_pelicula_header(' identificador de la pelicula '+Id_Pelicula+' ') self.view.mostrar_pelicula(pelicula) self.view.mostrar_pelicula_midder() self.view.mostrar_pelicula_footer() else: if pelicula == None: self.view.err('LA PELICULA NO EXISTE') else: self.view.err('PROBLEMA AL LEER LA PELICULA. REVISA') return self.view.msg('Ingresa los valores a modificar (vacio para dejarlo igual):') whole_vals = self.ask_pelicula() fields, vals = self.update_lists(['Titulo','Genero','Duracion','Idioma'], whole_vals) vals.append(Id_Pelicula) vals = tuple(vals) out = self.model.actualizar_pelicula(fields, vals) if out == True: self.view.ok(Id_Pelicula, 'actualizo') else: self.view.err('NO SE PUDO ACTUALIZAR LA PELICULA. REVISA.') return def eliminar_pelicula(self): self.view.ask('ID plicula: ') Id_Pelicula = input() count = self.model.eliminar_pelicula(Id_Pelicula) if count != 0: self.view.ok(Id_Pelicula, 'borro') else: if count == 0: self.view.err('LA PELICULA NO EXISTE') else: self.view.err('PROBLEMA AL BORRAR LA PELICULA. REVISA.') return """ ************************************ * Controladores Butaca * ************************************ """ def CtrlButaca(self): os.system ("cls") o = '0' while o != '5': self.view.menu_butaca() self.view.option('5') o = input() if o == '1': self.crear_butaca() elif o == '2': self.leer_butacas() elif o == '3': self.actualizar_butaca() elif o == '4': self.eliminar_butaca() elif o == '5': self.view.end() else: self.view.not_valid_option() return def ask_butaca(self): self.view.ask('ID: (ingrese el numero del asiento ) ') Id_Butaca = input() self.view.ask('Estado: (0 = disponible, 1 = ocupado) ') Estado = input() return[Id_Butaca,Estado] def crear_butaca(self): print('Aregar butaca') self.view.ask('Id_Butaca: (ingrese el numero del asiento) ') Id_Butaca = input() self.view.ask('Estado: (0 = disponible, 1 = ocupado) ') Estado = input() result = self.model.crear_butaca(Id_Butaca, Estado) if result == True: self.view.msg('butaca creada') else: self.view.err('Butaca ya creada.') def leer_butaca(self): self.view.ask('ID butaca: ') Id_butaca = input() butaca = self.model.leer_butaca(Id_butaca) if type(butaca) == tuple: self.view.mostrar_butaca_header('Datos de la butaca'+Id_butaca+' ') self.view.mostrar_butaca(butaca) self.view.mostrar_butaca_midder() self.view.mostrar_butaca_footer() else: if butaca == None: self.view.err('LA butaca NO EXISTE') else: self.view.err('PROBLEMA AL LEER LA butaca. REVISA.') return def leer_butacas(self): butacas = self.model.leer_butacas() if type(butacas) == list: self.view.mostrar_butaca_header(' Todos las butacas ') for butaca in butacas: self.view.mostrar_butaca(butaca) self.view.mostrar_butaca_midder() self.view.mostrar_butaca_footer() else: self.view.err('PROBLEMA AL LEER LOS butacas. REVISA') return def actualizar_butaca(self): self.view.ask('ID de la butaca: ') Id_butaca = input() butaca = self.model.leer_butaca(Id_butaca) if type(butaca) == tuple: self.view.mostrar_butaca_header(' identificador de la butaca '+Id_butaca+' ') self.view.mostrar_butaca(butaca) self.view.mostrar_butaca_midder() self.view.mostrar_butaca_footer() else: if butaca == None: self.view.err('LA butaca NO EXISTE') else: self.view.err('PROBLEMA AL LEER LA butaca. REVISA') return self.view.msg('Ingresa los valores a modificar (vacio para dejarlo igual):') whole_vals = self.ask_butaca() fields, vals = self.update_lists(['Id_Butaca','Estado','Duracion','Idioma'], whole_vals) vals.append(Id_butaca) vals = tuple(vals) out = self.model.actualizar_butaca(fields, vals) if out == True: self.view.ok(Id_butaca, 'actualizo') else: self.view.err('NO SE PUDO ACTUALIZAR LA butaca. REVISA.') return def eliminar_butaca(self): self.view.ask('ID butaca: ') Id_butaca = input() count = self.model.eliminar_butaca(Id_butaca) if count != 0: self.view.ok(Id_butaca, 'borro') else: if count == 0: self.view.err('LA butaca NO EXISTE') else: self.view.err('PROBLEMA AL BORRAR LA butaca. REVISA.') return """ ************************************ * Controladores salas * ************************************ """ def Ctrlsalas(self): os.system ("cls") o = '0' while o != '5': self.view.menu_salas() self.view.option('5') o = input() if o == '1': self.crear_sala() elif o == '2': self.leer_salas() elif o == '3': self.actualizar_Sala() elif o == '4': self.eliminar_Sala() elif o == '5': self.view.end() else: self.view.not_valid_option() return def ask_Sala(self): self.view.ask('Asientos: ') Asientos = input() self.view.ask('Tipo: ') Tipo = input() return[Asientos,Tipo] def crear_sala(self): print('Asientos en la sala') self.view.ask('Asientos: ') Asientos = input() print('Tipo de la sala') self.view.ask('Tipo: ') Tipo = input() result = self.model.crear_Sala(Asientos, Tipo) if result == True: self.view.msg('sala creada') else: self.view.err(result) def leer_Sala(self): self.view.ask('ID sala: ') Id_Sala = input() sala = self.model.leer_Sala(Id_Sala) if type(sala) == tuple: self.view.mostrar_sala_header('Datos de la sala'+Id_Sala+' ') self.view.mostrar_sala(sala) self.view.mostrar_sala_midder() self.view.mostrar_sala_footer() else: if sala == None: self.view.err('LA SALA NO EXISTE') else: self.view.err('PROBLEMA AL LEER LA SALA. REVISA.') return def leer_salas(self): salas = self.model.leer_Salas() if type(salas) == list: self.view.mostrar_sala_header(' Todos las salas ') for sala in salas: self.view.mostrar_sala(sala) self.view.mostrar_sala_midder() self.view.mostrar_sala_footer() else: self.view.err('PROBLEMA AL LEER LOS salas. REVISA') return def actualizar_Sala(self): self.view.ask('ID de la sala: ') Id_Sala = input() sala = self.model.leer_Sala(Id_Sala) if type(sala) == tuple: self.view.mostrar_sala_header(' identificador de la sala '+Id_Sala+' ') self.view.mostrar_sala(sala) self.view.mostrar_sala_midder() self.view.mostrar_sala_footer() else: if sala == None: self.view.err('LA SALA NO EXISTE') else: self.view.err('PROBLEMA AL LEER LA SALA. REVISA') return self.view.msg('Ingresa los valores a modificar (vacio para dejarlo igual):') whole_vals = self.ask_Sala() fields, vals = self.update_lists(['Butaca','Tipo'], whole_vals) vals.append(Id_Sala) vals = tuple(vals) out = self.model.actualizar_Sala(fields, vals) if out == True: self.view.ok(Id_Sala, 'actualizo') else: self.view.err('NO SE PUDO ACTUALIZAR LA SALA. REVISA.') return def eliminar_Sala(self): self.view.ask('ID plicula: ') Id_Sala = input() count = self.model.eliminar_Sala(Id_Sala) if count != 0: self.view.ok(Id_Sala, 'borro') else: if count == 0: self.view.err('LA SALA NO EXISTE') else: self.view.err('PROBLEMA AL BORRAR LA SALA. REVISA.') return """ ************************************ * Controladores Tikets * ************************************ """ def CtrlTicket(self): os.system ("cls") o = '0' while o != '5': self.view.menu_Ticket() self.view.option('5') o = input() if o == '1': self.crear_Ticket() elif o == '2': self.leer_Tickets() elif o == '3': self.actualizar_Ticket() elif o == '4': self.eliminar_Ticket() elif o == '5': self.view.end() else: self.view.not_valid_option() return def ask_Ticket(self): self.view.ask('Id_Funcion : ') Id_Funcion = input() self.view.ask('Id_Usuario: ') Id_Usuario = input() self.view.ask('Id_Butaca: ') Id_Butaca = input() return[Id_Funcion,Id_Usuario,Id_Butaca] def crear_Ticket(self): print('Aregar Ticket') self.view.ask('Id_Funcion: ') Id_Funcion = input() self.view.ask('Id_Usuario: ') Id_Usuario = input() self.view.ask('Id_Butaca: ') Id_Butaca = input() result = self.model.crear_Ticket(Id_Funcion, Id_Usuario, Id_Butaca) if result == True: self.view.msg('Ticket creado') print("creado") def crear_Ticket_usuario(self): print('Aregar Ticket') self.view.ask('Id_Funcion: ') Id_Funcion = input() Id_Usuario = self.sesion self.view.ask('Id_Butaca: ') Id_Butaca = input() result = self.model.crear_Ticket(Id_Funcion, Id_Usuario, Id_Butaca) if result == True: self.view.msg('Ticket creado') print("creado") def leer_Tickets_usuario(self): Id_Usuario = self.sesion tickets = self.model.leer_Tickets_usuario(Id_Usuario) if type(tickets) == list: self.view.mostrar_tickets_header('Tickets del usuario: ') for function in tickets: self.view.mostrar_tickets(function) self.view.mostrar_tickets_midder() self.view.mostrar_tickets_footer() else: self.view.err('PROBLEMA AL LEER LAS ticketsES. REVISA.') return def leer_Ticket(self): self.view.ask('ID Ticket: ') Id_Ticket = input() Ticket = self.model.leer_Ticket(Id_Ticket) if type(Ticket) == tuple: self.view.mostrar_Ticket_header('Datos de la Ticket'+Id_Ticket+' ') self.view.mostrar_Ticket(Ticket) self.view.mostrar_Ticket_midder() self.view.mostrar_Ticket_footer() else: if Ticket == None: self.view.err('LA Ticket NO EXISTE') else: self.view.err('PROBLEMA AL LEER LA Ticket. REVISA.') return def leer_Tickets(self): Tickets = self.model.leer_Tickets() if type(Tickets) == list: self.view.mostrar_Ticket_header(' Todos las Ticketes ') for Ticket in Tickets: self.view.mostrar_Ticket(Ticket) self.view.mostrar_Ticket_midder() self.view.mostrar_Ticket_footer() else: self.view.err('PROBLEMA AL LEER LOS Tickets. REVISA') return def actualizar_Ticket(self): self.view.ask('ID de la Ticket: ') Id_Ticket = input() Ticket = self.model.leer_Ticket(Id_Ticket) if type(Ticket) == tuple: self.view.mostrar_Ticket_header(' identificador de la Ticket '+Id_Ticket+' ') self.view.mostrar_Ticket(Ticket) self.view.mostrar_Ticket_midder() self.view.mostrar_Ticket_footer() else: if Ticket == None: self.view.err('LA Ticket NO EXISTE') else: self.view.err('PROBLEMA AL LEER LA Ticket. REVISA') return self.view.msg('Ingresa los valores a modificar (vacio para dejarlo igual):') whole_vals = self.ask_Ticket() fields, vals = self.update_lists(['Id_Funcion','Id_Usuario','Id_Butaca'], whole_vals) vals.append(Id_Ticket) vals = tuple(vals) out = self.model.actualizar_Ticket(fields, vals) if out == True: self.view.ok(Id_Ticket, 'actualizo') else: self.view.err('NO SE PUDO ACTUALIZAR LA Ticket. REVISA.') return def eliminar_Ticket(self): self.view.ask('ID del ticket: ') Id_Ticket = input() count = self.model.eliminar_Ticket(Id_Ticket) if count != 0: self.view.ok(Id_Ticket, 'borro') else: if count == 0: self.view.err('LA Ticket NO EXISTE') else: self.view.err('PROBLEMA AL BORRAR EL TICKET. REVISA.') return
from View.view import View # import user view to access methods of View class from Controller.controller import Controller from Model.model import Model # This is main class to control all the other classes and login as admin or user class Main: def __init__(self): pass def user_or_admin(self): user_login = input("Login As (admin/user): ") if user_login == "admin": # if user input admin, it opens as admin panel and input user, it opens as user panel control_obj.admin_validate_control() elif user_login == "user": # for normal user control_obj.user_control() else: print('Enter "admin" for Admin and "user" for Normal User') main_obj = Main() view_obj = View() control_obj = Controller() model_obj = Model() main_obj.user_or_admin()
class Controller: def __init__(self): self.model = RecipeList() self.view = View() self.frame_select = self.view.frames["FrameSelect"] self.frame_search = self.view.frames["FrameSearch"] self.frame_add = self.view.frames["FrameAdd"] self.frame_edit = self.view.frames["FrameEdit"] self.bind_buttons() def run(self): self.view.configure_gui() self.change_frame_to_search() self.view.start_gui() def change_frame_to_search(self): self.frame_search.tkraise() def change_frame_to_add(self): self.frame_add.tkraise() def change_frame_to_select(self): recipe_name = self.view.get_selected_name( self.frame_search.tree_view_recipes) if recipe_name != "": recipe = self.model.read_recipe(recipe_name) self.frame_select.set_select_frame_info( recipe.name, recipe.short_desc, recipe.desc, recipe.ingredients.ingredient_list, recipe.inst, recipe.meal_type, recipe.prep_time, recipe.calories, recipe.img) self.frame_select.tkraise() def change_frame_to_edit(self, recipe_name): recipe = self.model.read_recipe(recipe_name) self.frame_edit.set_frame_info(recipe.name, recipe.short_desc, recipe.desc, recipe.ingredients.ingredient_list, recipe.inst, recipe.meal_type, recipe.prep_time, recipe.calories, recipe.img) self.frame_edit.tkraise() def add_recipe(self, entries, tree_view, text_view_desc, text_view_inst, img_path): fields_dict = self.view.get_data_from_entries(entries) ing_list = self.view.get_data_from_tree_view(tree_view) desc_text = self.view.get_data_from_text_view(text_view_desc) inst_text = self.view.get_data_from_text_view(text_view_inst) i = IngredientList() for ing in ing_list: i.add_ingredient(name=ing[0], count=int(ing[1]), unit=ing[2]) self.model.add_recipe(name=fields_dict['Name:'], short_desc=fields_dict['Short desc:'], meal_type=fields_dict['Type:'], calories=int(fields_dict['Calories:']), prep_time=int(fields_dict['Prep time:']), desc=desc_text, inst=inst_text, ingredients=i, img=img_path) def delete_recipe(self, name): self.model.delete_recipe(name) self.change_frame_to_search() self.view.clear_tree_view(self.frame_search.tree_view_recipes) def update_recipe(self, name, entries, tree_view, text_view_desc, text_view_inst, img_path): fields_dict = self.view.get_data_from_entries(entries) ing_list = self.view.get_data_from_tree_view(tree_view) desc_text = self.view.get_data_from_text_view(text_view_desc) inst_text = self.view.get_data_from_text_view(text_view_inst) i = IngredientList() for ing in ing_list: i.add_ingredient(name=ing[0], count=int(ing[1]), unit=ing[2]) self.model.edit_recipe(name_old=name, name_new=fields_dict['Name:'], short_desc=fields_dict['Short desc:'], meal_type=fields_dict['Type:'], calories=int(fields_dict['Calories:']), prep_time=int(fields_dict['Prep time:']), desc=desc_text, inst=inst_text, ingredients=i, img=img_path) self.change_frame_to_search() self.view.clear_tree_view(self.frame_search.tree_view_recipes) def find_filtered_recipes(self, entries, tree_view): fields_dict = self.view.get_data_from_entries(entries) filtered_recipes = RecipeList() filtered_recipes.recipe_list = self.model.filter_recipe_list( part_of_name=fields_dict['Part of name:'], meal_type=fields_dict['Meal type:'], min_cal=fields_dict['Min calories:'], max_cal=fields_dict['Max calories:'], prep_time_min=fields_dict['Prep time min:'], prep_time_max=fields_dict['Prep time max:']) self.view.insert_to_recipe_tree(tree_view, filtered_recipes.recipe_list) def save_recipe_list(self): self.model.save_recipe_list("../Model/data") def load_recipe_list(self): self.model = self.model.load_recipe_list("../Model/data") def bind_buttons(self): self.frame_search.button_add.bind( '<Button-1>', lambda event: self.change_frame_to_add()) self.frame_search.button_search.bind( '<Button-1>', lambda event, e=self.frame_search.entries: self. find_filtered_recipes(e, self.frame_search.tree_view_recipes)) self.frame_search.button_select.bind( '<Button-1>', lambda event: self.change_frame_to_select()) self.frame_select.button_close.bind( '<Button-1>', lambda event: self.change_frame_to_search()) self.frame_select.button_edit.bind( '<Button-1>', lambda event: self.change_frame_to_edit( self.frame_select.label_name.cget("text"))) self.frame_select.button_delete.bind( '<Button-1>', lambda event: self.delete_recipe( self.frame_select.label_name.cget("text"))) self.frame_add.button_close.bind( '<Button-1>', lambda event: self.change_frame_to_search()) self.frame_add.button_add_recipe.bind( '<Button-1>', lambda event, e=self.frame_add.entries_recipes, tv=self.frame_add. tree_view_ingredients, t1=self.frame_add.text_field_desc, t2=self .frame_add.text_field_inst: self.add_recipe( e, tv, t1, t2, self.frame_add.img_path)) self.frame_edit.button_close.bind( '<Button-1>', lambda event: self.change_frame_to_search()) self.frame_edit.button_add_recipe.bind( '<Button-1>', lambda event, e=self.frame_edit.entries_recipes, tv=self.frame_edit .tree_view_ingredients, t1=self.frame_edit.text_field_desc, t2=self .frame_edit.text_field_inst: self.update_recipe( self.frame_select.label_name.cget("text"), e, tv, t1, t2, self. frame_edit.img_path)) self.view.menu.add_command(label="Save", command=self.save_recipe_list) self.view.menu.add_command(label="Load", command=self.load_recipe_list)
def __init__(self): self.window = Tk() self.model = Model1() self.view = View(self.window)
from Model.contact import Contact from Model.model import Model from View.view import View print('Hello world!') c = Contact('German', 'Neftali', '*****@*****.**', '4721005730') print(c.email) m = Model() m.create_a_contact('Nefta', 'gonzalez', '*****@*****.**', '1245') m.create_a_contact('Javier', 'escuela', '*****@*****.**', '145') #m.create_a_contact('Oscar', 'Dominguez', '*****@*****.**', '12345') print(m.read_all_contacts()) #print(m.read_a_contact('Javier', 'Lopez')) m.update_a_contact('Javier', 'escuela', 'Nefta', 'gonzalez', '*****@*****.**', '1545') all_c = m.read_all_contacts() contact = m.read_a_contact('Nefta', 'gonzalez') print(m.read_all_contacts()) v = View() v.show_a_contact(contact) v.show_all_contacts(all_c)