import regex as re import sys from filtrado import * from validacion import * from normalizacion import * from variables import * # -n: normaliza el fichero en pos[-n] + 1 con los formatos: # +34[numero] # formato 2 para instantes temporales # formato 3 para coordenadas # nif, producto y precio originales # se puede pasar f1 para el formato de las fechas y f2 para las coordenadas [param. opc.] # -sphone, -snif: filtran por teléfono y nif # -stime: filtran de una fecha hasta otra # -slocation: puntos extra # la salida aparece como campo1 ; campo2 ; campo3 ; ... # los errores de formato o sintaxis en los argumentos son exit N # los errores en el archivo se ignoran def main(): l = open("../log.txt", encoding="utf-8") for linea in l.readlines(): pass # print(validarEntrada(linea.strip())) # n, sphone, stime, snif arg_prueba = "-sphone 123456789 telefonos -stime 11:11:11 11:11:12 tiempos -n normalizar 1 2 -snif 12345678B fichero" argumentos = r"(?P-sphone (?P\S*) (?P\S*))|(?P-stime (?P\S*) (?P\S*) (?P\S*))|(?P-n (?P\S*))|(?P-snif (?P\S*) (?P\S*))" A = re.compile(argumentos) match = A.finditer(arg_prueba) argv = sys.argv try: if '-n' in argv: fichero = argv[argv.index('-n') + 1] try: # un poco chapucero formato_fecha = int(argv[argv.index('-n') + 2]) formato_coordenadas = int(argv[argv.index('-n') + 3]) except IndexError: formato_fecha = 2 formato_coordenadas = 3 normalizar(fichero, formato_fecha, formato_coordenadas) elif '-sphone' in argv: telefono = argv[argv.index('-sphone') + 1] fichero = argv[argv.index('-sphone') + 2] filtrar_telefono(fichero, telefono) elif '-snif' in argv: nif = argv[argv.index('-snif') + 1] fichero = argv[argv.index('-snif') + 2] filtrar_nif(fichero, nif) elif '-stime' in argv: # convertir entre formatos desde = argv[argv.index('-stime') + 1] hasta = argv[argv.index('-stime') + 2] fichero = argv[argv.index('-stime') + 3] print("stime") else: exit(1) except: exit(2) if __name__ == "__main__": main()