def selFuncion(ci, nOpcion=6): ''' Menu desplegado al suministrar una cedula o al encontrar la cedula de una parte de un nombre suministrado. Eliminados: ['Calcular cuota', 'cuota'], ['Cedula del socio', 'cedula'], ['Buscar cedula del socio', 'nombre'], ['Cheques', 'cheque'], ['Deposito por fecha', 'depositos'] ''' lNuevoMenu = COM.lMenu[nOpcion:(len(COM.lMenu) - 1)] + [[ 'Volver', '-11' ]] # lMenu sin las opciones generales + la opcion 'Volver'. sTitulo = str(ci) + ':' + COM.nombreSocio( COM.mNombre(ci)) # Titulo a desplegar con las opciones. while True: try: func = eval( FG.selOpcionMenu(lNuevoMenu, sTitulo) ) # Evaluar contenido de res['name']; el cual, debe ser una funcion conocida. except: return False while True: if isinstance(func, types.FunctionType): opc = func( ci) # Si la cadena evaluada es una funcion, ejecutela. if FG.esEntero(opc): opc = str(opc) if '' == opc or None == opc or not opc.isdigit() or ( opc.isdigit() and (0 > int(opc) or len(lNuevoMenu) <= int(opc))): break func = eval(lNuevoMenu[int(opc)][1]) else: return False
# ademas de la informacion del sistema, tambien se guardara la fecha de descarga de cada archivo. dControl = ES.cargaDicc("control.txt") # Diccionario de control, antes de recibir el nuevo. URL = "http://" + IPServ + "/" + 'movil/' bImpar = True lBancosHoy = None dHoy = strftime("%Y%m%d", localtime()) try: f = open(DIR + 'control.txt', "r") data = f.read() lControl = [linea.strip().split(';') for linea in data.rstrip().split('\n')] except: lControl = [['0', nombArch] for nombArch in lDATA] dControl = {linea[1].strip():[linea[0].strip(), linea[0].strip()] for linea in lControl if FG.esEntero(linea[0].strip())} lBancosHoy = None # La lista de bancos de hoy esta vacia al principio. for DATA in lDATA: if 'control.txt' != DATA: (timeAnterior, timeNuevo) = dControl.get(DATA, ['0', '-1']) else: timeAnterior = timeNuevo = 0 segsDiferencia = int(timeNuevo) - int(timeAnterior) sColor, bImpar = ES.colorLinea(bImpar, CO.VERDE, CO.AZUL) print("%sLeyendo%s %s remoto. Local modificado hace: %d seg del remoto" % (sColor, CO.FIN, DATA, segsDiferencia)) if 'control.txt' != DATA and 0 >= segsDiferencia: if 0 == segsDiferencia: print("%s, %slocal; ya esta actualizado con%s %d lineas! El %s" % \ (DATA, sColor, CO.FIN, ES.cLineas(DATA), ctime(int(timeAnterior)))) continue