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