コード例 #1
0
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
コード例 #2
0
ファイル: buscar.py プロジェクト: jmsolar/Facultad
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
コード例 #3
0
ファイル: cargar.py プロジェクト: jmsolar/Facultad
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
コード例 #4
0
ファイル: exportar.py プロジェクト: jmsolar/Facultad
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'
        )
コード例 #5
0
ファイル: buscar.py プロジェクト: jmsolar/Facultad
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')
コード例 #6
0
ファイル: cargar.py プロジェクト: jmsolar/Facultad
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
コード例 #7
0
ファイル: cargar.py プロジェクト: jmsolar/Facultad
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
コード例 #8
0
ファイル: exportar.py プロジェクト: jmsolar/Facultad
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')
コード例 #9
0
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
コード例 #10
0
ファイル: buscar.py プロジェクト: jmsolar/Facultad
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')
コード例 #11
0
ファイル: buscar.py プロジェクト: jmsolar/Facultad
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')
コード例 #12
0
ファイル: buscar.py プロジェクト: jmsolar/Facultad
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')
コード例 #13
0
# -*- 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