def eliminar(c): c = conversor.desencriptarDatos(c) fecha = cargar.validarFecha() try: buscar.existe(buscar.busqueda(0, c.keys()), fecha) clave = [] funciones.imprimirCartel('\nNombre del cumpleañero: ') clave.append(fecha) clave.append(funciones.leer()) tupla = (clave[0], clave[1]) funciones.imprimirCartel('\nTipo de contacto: ') tipoContacto = funciones.leer() funciones.imprimirCartel('\nMedio de contacto: ') medioContacto = funciones.leer() lis = [tipoContacto, medioContacto] if len(c[tupla]) <= 1: c.pop(tupla) else: c[tupla].remove(lis) funciones.imprimirCartel('\nSe elimino correctamente.\n') except (KeyError, IndexError, AttributeError): funciones.imprimirCartel( '\n¡ERROR!: La fecha ingresada no existe. Vuelva a intentarlo.\n') finally: c = conversor.encriptarDatos(c) funciones.guardar('MiCalendario.txt', c) return c
def asignoStrings(n, j, f): if n == 0: cadena1 = 'Tipo de contacto: ' + j[0] cadena2 = ', Medio de contacto: ' + j[1] + '\n' else: funciones.imprimirCartel('\nFecha de cumpleaños: ' + f) cadena1 = ', Tipo de contacto: ' + j[0] cadena2 = ', Medio de contacto: ' + j[1] + '\n' return cadena1, cadena2
def agregarCumpleanios(c, lis, t): if (len(c) == 0) | (not existeCumpleanios(c.keys(), t)): l = [] c[t] = l elif (existeMedioContacto(c, lis)): funciones.imprimirCartel( '\n¡ERROR!: El medio de contacto (tipo y medio de contacto) debe ser único. Vuelva a intentarlo.\n\n' ) return False c[t].append(lis) return True
def creacionArchivo(cal): aux = conversor.desencriptarDatos(cal) if (len(aux) != 0): miCal = Calendar() miCal = obtenerDatos(aux, miCal) cargarArchivoExportado(miCal) funciones.imprimirCartel('\nCalendario exportado correctamente.\n') else: funciones.imprimirCartel( '\nNo puede generarse el archivo ya que no hay cumpleaños en el calendario.\n' )
def imprimirParaDato(dato, c, num): for i in c.keys(): if i[num] == dato: if (num == 0): funciones.imprimirCartel('\nNombre: ' + i[1] + ' ') for j in c[i]: cad = asignoStrings(num, j, i[0]) funciones.imprimirCartel(cad[0]) funciones.imprimirCartel(cad[1]) funciones.imprimirCartel( '\n--------------------------------------------------------------------\n' ) funciones.imprimirCartel('\n')
def validarFecha(): formato = '%d/%m/%Y' funciones.imprimirCartel( '\nRespetando el formato "dd/mm/aaaa", ingrese la fecha del cumpleañero: ' ) try: stringFecha = funciones.leer() fecha = funciones.instanciarFecha(stringFecha).strftime(formato) if fecha == False: raise AttributeError else: return fecha except (AttributeError): funciones.imprimirCartel( '\n¡ERROR!: La fecha es inválida. Vuelva a intentarlo.\n\n') raise AttributeError
def obtenerDatos(c): clave = [] funciones.imprimirCartel('\n** CARGAR UN CUMPLEAÑOS **\n') try: fe = validarFecha() clave.append(fe) except (UnboundLocalError, AttributeError): return c funciones.imprimirCartel('\nNombre del cumpleañero: ') clave.append(funciones.leer()) tupla = (clave[0], clave[1]) funciones.imprimirCartel('\nTipo de contacto: ') tipoContacto = funciones.leer() funciones.imprimirCartel('\nMedio de contacto: ') medioContacto = funciones.leer() lis = [tipoContacto, medioContacto] if (agregarCumpleanios(c, lis, tupla)): funciones.imprimirCartel('\nSe agrego correctamente.\n\n') return c
def exportarCalendario(cal): titulo = '\n// EXPORTAR CUMPLEAÑOS //' opciones = '\n1 - Exportar cumpleaños.\n0 - Volver al menú anterior.\n\nPor favor, ingrese una opción.' opcion = funciones.seleccionDeOpcion(titulo, opciones) while (opcion != '0'): try: miOpcion = int(opcion) if (miOpcion == 1): creacionArchivo(cal) print cal else: raise ValueError except (ValueError): funciones.imprimirCartel( '\n¡ERROR!: La opción ingresada no es válida. Vuelva a intentarlo.\n' ) finally: opcion = funciones.seleccionDeOpcion(titulo, opciones) funciones.imprimirCartel('\n...Volviendo al menú anterior...\n\n')
def borrarCumpleanios(cal): titulo = '\n** BORRAR UN CUMPLEAÑOS **' opciones = '\n1 - Borrar un cumpleaños.\n0 - Volver al menú anterior.\n\nPor favor ingrese una opción' opcion = funciones.seleccionDeOpcion(titulo, opciones) while (opcion != '0'): try: miOpcion = int(opcion) if (miOpcion == 1): cal = eliminar(cal) else: raise ValueError except (ValueError): funciones.imprimirCartel( '\n¡ERROR!: La opción ingresada no es válida. Vuelva a intentarlo.' ) finally: opcion = funciones.seleccionDeOpcion(titulo, opciones) funciones.imprimirCartel('\n...Volviendo al menú anterior...\n\n') return cal
def buscarCumpleanios(cal): titulo = '\n** BUSCAR UN CUMPLEAÑOS **\n' opciones = '1 - Busqueda por fecha de cumpleaños.\n2 - Busqueda por nombre del cumpleañero.\n0 - Volver al menú anterior.\n\nPor favor, ingrese una opción.' opcion = funciones.seleccionDeOpcion(titulo, opciones) while (opcion != '0'): try: miOpcion = int(opcion) if (miOpcion == 1): busquedaPorFecha(cal) elif (miOpcion == 2): busquedaPorNombre(cal) else: raise ValueError except (ValueError): funciones.imprimirCartel( '\n¡ERROR!: La opción ingresada no es válida. Vuelva a intentarlo.\n' ) finally: opcion = funciones.seleccionDeOpcion(titulo, opciones) funciones.imprimirCartel('\n...Volviendo al menú anterior...\n\n')
def busquedaPorNombre(c): aux = conversor.desencriptarDatos(c) funciones.imprimirCartel('\nPor favor ingrese el nombre a buscar: ') nombre = funciones.leer() try: if existeClave(1, aux, nombre): funciones.imprimirCartel('\nLas personas con nombre ' + nombre + ' registradas, son:\n') imprimirParaDato(nombre, aux, 1) else: funciones.imprimirCartel('\nEl nombre ' + nombre + ' no existe.\n') except (IndexError): funciones.imprimirCartel('\nEl nombre ' + nombre + ' no existe.\n')
def busquedaPorFecha(c): aux = conversor.desencriptarDatos(c) fecha = cargar.validarFecha() try: if existeClave(0, aux, fecha): funciones.imprimirCartel( '\nLas personas que cumplieron años en la fecha ' + fecha + ', son:\n') imprimirParaDato(fecha, aux, 0) else: funciones.imprimirCartel('\nLa fecha ' + fecha + ' no existe.\n') except (IndexError): funciones.imprimirCartel('\nLa fecha ' + fecha + ' no existe.\n')
# -*- coding: utf-8 -*- import funciones, buscar, cargar, borrar, exportar # PROGRAMA PRINCIPAL calendario = funciones.iniciar() titulo = '// CALENDARIO DE CUMPLEAÑOS //\n' opciones = '\n1 - Cargar un nuevo cumpleaños.\n2 - Borrar un cumpleaños.\n3 - Buscar un cumpleaños por fecha o nombre de cumpleaños.\n4 - Exportar calendario.\n0 - Salir.\n\nPor favor, ingrese una opción.' opcion = funciones.seleccionDeOpcion(titulo, opciones) while (opcion != '0'): try: miOpcion = int(opcion) if (miOpcion == 1): calendario = cargar.cargarCumpleanios(calendario) elif (miOpcion == 2): calendario = borrar.borrarCumpleanios(calendario) elif (miOpcion == 3): buscar.buscarCumpleanios(calendario) elif (miOpcion == 4): exportar.exportarCalendario(calendario) else: raise ValueError except (ValueError): funciones.imprimirCartel( '\n¡ERROR!: La opción ingresada no es válida. Vuelva a intentarlo.\n\n' ) finally: opcion = funciones.seleccionDeOpcion(titulo, opciones) funciones.imprimirCartel('\n...Cerrando el programa...') # FIN DEL PROGRAMA PRINCIPAL