106 lines
3.1 KiB
Python
106 lines
3.1 KiB
Python
from variables import *
|
|
from util import comprobarLetra, gradoDecimal, letraSigno
|
|
|
|
|
|
def validarTelefono(telefono):
|
|
match = T.match(telefono)
|
|
if match is not None and not match['num']:
|
|
return {
|
|
'parte1': match.group('parte1'),
|
|
'parte2': match.group('parte2'),
|
|
'parte3': match.group('parte3'),
|
|
}
|
|
elif match is not None and match['num']:
|
|
return {
|
|
'num': match.group('num'),
|
|
}
|
|
else:
|
|
return None
|
|
|
|
def validarDni(dni):
|
|
match = D.match(dni)
|
|
if match and match['letrainicio']:
|
|
valido = comprobarLetra(f"{reemplazo_nie[match['letrainicio']]}{match['numero']}{match['letrafinal']}")
|
|
if valido:
|
|
return {
|
|
'letrainicio': match.group('letrainicio'),
|
|
'numero': match.group('numero'),
|
|
'letrafinal': match.group('letrafinal'),
|
|
}
|
|
return None
|
|
elif match and not match['letrainicio']:
|
|
valido = comprobarLetra(f"{match['numero']}{match['letrafinal']}")
|
|
if valido:
|
|
return {
|
|
'numero': match['numero'],
|
|
'letrafinal': match.group('letrafinal'),
|
|
}
|
|
else:
|
|
return None
|
|
else:
|
|
return None
|
|
|
|
|
|
def validarInstante(instante):
|
|
match = I.match(instante)
|
|
if match and not match['segundo']: # formato 1
|
|
return {
|
|
'año': match.group('anyo'),
|
|
'mes': match.group('mes'),
|
|
'dia': match.group('dia'),
|
|
'hora': match.group('hora'),
|
|
'minuto': match.group('minuto'),
|
|
'segundo': '00'
|
|
}
|
|
elif match and match['segundo']: # formatos 2 y 3
|
|
return {
|
|
'año': match.group('anyo'),
|
|
'mes': match.group('mes'),
|
|
'dia': match.group('dia'),
|
|
'hora': match.group('hora'),
|
|
'minuto': match.group('minuto'),
|
|
'segundo': match.group('segundo'),
|
|
}
|
|
else:
|
|
return None
|
|
|
|
|
|
|
|
def validarCoordenada(cadena):
|
|
m = P.fullmatch(cadena)
|
|
if m is not None:
|
|
if m.group("Grados1"):
|
|
grados1 = m.group("Grados1")
|
|
grados2 = m.group("Grados2")
|
|
minutos1 = m.group("Minutos1")
|
|
minutos2 = m.group("Minutos2")
|
|
segundos1 = m.group("Segundos1")
|
|
segundos2 = m.group("Segundos2")
|
|
letra1 = m.group("Letra1")
|
|
letra2 = m.group("Letra2")
|
|
|
|
latitud = gradoDecimal(grados1,minutos1,segundos1)
|
|
longitud = gradoDecimal(grados2,minutos2,segundos2)
|
|
signo1 = letraSigno(letra1)
|
|
signo2 = letraSigno(letra2)
|
|
|
|
|
|
else: # formato 1
|
|
signo1 = m.group("Signo1")
|
|
latitud = float(m.group("Coord1"))
|
|
signo2 = m.group("Signo2")
|
|
longitud = float(m.group("Coord2"))
|
|
|
|
if signo1 == '-':
|
|
latitud *= -1
|
|
|
|
if signo2 == '-':
|
|
longitud *= -1
|
|
|
|
return {
|
|
'latitud': latitud,
|
|
'longitud': longitud
|
|
}
|
|
|
|
else:
|
|
return None |