terminado

This commit is contained in:
binlaab
2025-12-09 11:09:08 +01:00
parent 1defdd5e6c
commit 77fef039e0
8 changed files with 249 additions and 194 deletions

View File

@@ -1,41 +1,56 @@
from validacion import *
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 = normalizar_telefono(tel)
for i in f.readlines():
telefono = normalizar_telefono(i.split(";")[0])
tel_n = normalizarTelefono(tel)
for linea in f.readlines():
telefono = normalizarTelefono(linea.split(";")[0])
if telefono.strip() == tel_n:
print(i)
print(linea, end='')
else:
continue
def filtrar_nif(fichero, nif):
f = open(fichero, "r", encoding="utf-8")
for i in f.readlines():
n = i.split(";")[1]
if D.match(nif) is None:
exit(2)
for linea in f.readlines():
n = linea.split(";")[1]
if n.strip() == nif:
print(i)
print(linea, end='')
else:
continue
def filtrar_instante(inicio, fin, fichero):
# no hace falta normalizar todo, solo convertir el mes cuando es el de letra
n = 0
f = open(fichero, "r", encoding="utf-8")
inicio = validarInstante(normalizar_instante(inicio.strip(), 3))
fin = validarInstante(normalizar_instante(fin.strip(), 3))
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 i in f.readlines():
if validarCoordenada(i.split(';')[3].strip(), 3) is None:
for linea in f.readlines():
instante = linea.split(';')[2].strip()
if validarCoordenada(linea.split(';')[3].strip()) is None:
continue
instante = validarInstante(normalizar_instante(i.split(';')[2].strip(), 3))
instante = convertirSegundos(validarInstante(instante))
tupla_instante = tuple([int(instante[k]) for k in instante.keys()])
if tupla_inicio < tupla_instante < tupla_fin:
print(i, end = '')
n += 1
print(linea, end = '')
def filtrar_distancia(inicio, hasta, fichero):
inicio = validarCoordenada(inicio)
print(n)
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='')