from normalizacion import * from validacion import validarCoordenada from util import haversine, convertirSegundos def filtrar_telefono(fichero, tel): f = open(fichero, "r", encoding="utf-8") tel_n = normalizarTelefono(tel) for linea in f.readlines(): telefono = normalizarTelefono(linea.split(";")[0]) if telefono.strip() == tel_n: print(linea, end='') else: continue def filtrar_nif(fichero, nif): f = open(fichero, "r", encoding="utf-8") if D.match(nif) is None: exit(2) for linea in f.readlines(): n = linea.split(";")[1] if n.strip() == nif: print(linea, end='') else: continue def filtrar_instante(inicio, fin, fichero): f = open(fichero, "r", encoding="utf-8") inicio = convertirSegundos(validarInstante(inicio)) fin = convertirSegundos(validarInstante(fin)) tupla_inicio = tuple([int(inicio[k]) for k in inicio.keys()]) tupla_fin = tuple([int(fin[k]) for k in fin.keys()]) for linea in f.readlines(): instante = linea.split(';')[2].strip() if validarCoordenada(linea.split(';')[3].strip()) is None: continue instante = convertirSegundos(validarInstante(instante)) tupla_instante = tuple([int(instante[k]) for k in instante.keys()]) if tupla_inicio < tupla_instante < tupla_fin: print(linea, end = '') def filtrar_distancia(inicio, hasta, fichero): inicio = validarCoordenada(inicio) f = open(fichero, 'r', encoding="utf-8") for linea in f.readlines(): coordenada = linea.split(';')[3].strip() coordenada = validarCoordenada(coordenada) if coordenada is None: continue if haversine(inicio, coordenada) < float(hasta) * 1000: print(linea, end='')