Skip to main content

Validador y Generador de campos para tramites mexicanos

Project description

Mexa - Mexican Power

Generador y Verificador de campos.

Mexa es un validador y generador de diferentes campos, utiles para la tramitología mexicana:

Mexa Banner

Listado de campos:

  • CURP: Clave Única de Registro de Población.
  • Nss: Número de Seguro Social.
  • RFC: Registro Federal de Contribuyentes(física y moral).
  • Tel: Télefonos con lada de México.

Instalación.

El paquete esta disponible en pypi (https://pypi.org/project/mexa/), para puedes instalarlo desde pip:

# Instalación de Mexa.
pip install mexa

Uso:

from mexa import fake, validate, Nss, Curp, generate


# ------------------------- fake --------------------------------------------
## Fake generando campos aleatorios.
#
nss = fake('nss') # Valor valido por ejemplo `48979152914`
curp = fake('curp') # Valor valido por ejemplo `AAMR740524HOCBRN08`

# ------------------------- validate ------------------------------------------
## Validación de datos
if validate('nss', nss): # Esto debe valer True por lo tanto mostrará el nss generado
    print(nss)

if validate('curp', curp): # Esto debe valer True
    print(curp)

## EXPERIMENTAL. #####
# Devuelve true si:
#  - El curp es valido
#  - Con el  valor del campo nombre, es viable formar el CURP recibido.
data = {"nombre" : "MIGUEL ANGEL"}
if validate('curp', value = "BAUM690216HMSLRG18", match = data):
    print(curp)

# ------------------------- generate ------------------------------------------
#
# Puede generar un curp tomando en consideración los datos que ingrese.
curp_str = generate('curp', data)
print('curp generada a partir del nombre', curp_str) # por ejemplo: ZUVM471127HOCTJG03
# Los datos restantes los genera de forma aleatoria, en este sentido es parecida a fake.
# Pero... en la medida que agregue datos el CURP generado es predictivo, ejemplo:
data = {
    "nombre" : "Juan Manuel",
    "primer_ap": "Lopéz",
    "segundo_ap": "Lopéz",
    "fecha_nacimiento": "780609", # 9 de junio del 1978
    "sexo": "H", # H: hombre, M: Mujer,
    "entidad_federativa": "SP" # San Luis Potosí
}
curp_str = generate('curp', data) # resultado: LOLJ780609HSPPPN09
print('curp generado con todos los datos recibidos', curp_str)

nss_data = {
    "region_imss" : "72",
    "folio_imss" : "0804",
    "fecha_nacimiento": "56",
    "f_afiliacion": "79",
}
nss_str = generate('nss', nss_data) # resultado: 72795608040
print('NSS generado con todos los datos recibidos', nss_str)

# ------------------------- Manejo de errores ---------------------------------

# Un caso de error en donde el año de afiliación/nacimiento
if not validate('nss', '12345678901'):
    print('NSS Errores: ', Nss.errors)

# De forma similar probamos con un valor invalido para el curp
if not validate('curp', '--invalido--'):
    print('CURP Errores: ', Curp.errors)
#

#

Número de seguro social Nss

El numero de seguro social de México se conforma de 11 dígitos:

Formato.

El Nss esta conformado de las siguientes partes:

Formato img

Diez digitos de información.

  • 2 Dígitos Región IMSS.
  • 2 Dígitos Año afiliación al Seguro Social.
  • 2 Dígitos Año de nacimiento.
  • 4 Folio IMSS.

Un digito verificador (el último)

En la onceava posición y ultima posición se encuentra el dígito permite validar los diez dígitos previos, previniendo errores de captura pues la simple alteración de un digito en la cadena de diez digitos genera un cambio en el dígito verificador.

Este digito es creado por medio de una implementación del algoritmo Luhn.

Nota: para mayores informes consultar la definición del algoritmo en wikipedia: :point_right: https://es.wikipedia.org/wiki/Algoritmo_de_Luhn

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mexa-0.0.7.tar.gz (16.8 kB view details)

Uploaded Source

File details

Details for the file mexa-0.0.7.tar.gz.

File metadata

  • Download URL: mexa-0.0.7.tar.gz
  • Upload date:
  • Size: 16.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.15

File hashes

Hashes for mexa-0.0.7.tar.gz
Algorithm Hash digest
SHA256 a80dcdb613a957d1ef973e4b08655146f88a6c26f04d8bdc9144cc11cc879e50
MD5 461754520c16e068c7d8e083db8a079a
BLAKE2b-256 7dd9aa15f8b8881dd5728ca6148d24de6bb09a8fa08033ff5b4a61955635bd25

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page