56 lines
1.8 KiB
Python
56 lines
1.8 KiB
Python
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='') |