Saltar a contenido

commons

app.utils.commons

Módulo de Python para validaciones comunes.

validate_email(email)

Utiliza una regex para validar emails.

Parameters:

Name Type Description Default
email str

el string del email a validar

required

Returns:

Type Description
bool

el resultado de la validación ó False en caso de error

Examples:

...
validate_email("user@example.com")

validate_phone_number(phone)

Utiliza una regex para validar números de teléfono.

Parameters:

Name Type Description Default
phone str

el string del teléfono a validar

required

Returns:

Type Description
bool

el resultado de la validación ó False en caso de error

Examples:

...
validate_phone_number("+001234567890")

is_iterable(value)

Valida si el objeto entrante es un tipo de iterador(tuple, list)

Parameters:

Name Type Description Default
value Any

el objeto a validar

required

Returns:

Type Description
bool

el resultado de la validación ó False en caso de error

Examples:

is_iterable(['a', 'b'])

object_to_xml(data, root='root')

Una función recursiva, que intenta convertir un diccionario, en un objeto de tipo XML, en caso de un error, devolverá None.

Parameters:

Name Type Description Default
data Any

el diccionario a ser convertido en un objeto XML

required
root str

un string que define la etiqueta principal del XML, por defecto root

'root'

Returns:

Type Description
str | Any

la representación en formato string de un elemento XML

Examples:

result = object_to_xml({"hello": "world"})

flatten_list(fat_list)

Permite "aplanar" una lista elementos de forma eficiente utilizando itertools.

Parameters:

Name Type Description Default
fat_list list[Any]

una lista de elementos a aplanar

required
Notes
  • la lista debe ser de tipo tuple ó list.

Returns:

Type Description
list[Any]

la lista de elementos "aplanada" ó None en caso de error

Examples:

result = flatten_list([1,2,3, [4,5,6 [7,8,9]]])

gen_random_number(max_num)

Genera un número aletatorio criptograficamente seguro, utilizando secrets.

Parameters:

Name Type Description Default
max_num int

el valor máximo a tener en cuenta, al momento de generar el número aleatorio

required

Raises:

Type Description
ValueError

en caso de que el valor máximo sea menor que 1

Returns:

Type Description
int

el número aletatorio ó None en caso de error

Examples:

...
gen_random_number(50)

allowed_files(filename, allowed_extensions)

Valida una lista de extensiones de archivos.

Parameters:

Name Type Description Default
filename str

el nombre del archivo a validar

required
allowed_extensions list[str]

la lista de extensiones

required

Returns:

Type Description
Optional[tuple[bool, str]]

una tupla con el resultado de la validación y la extensión del archivo

Examples:

status, ext = allowed_files("/path/to/file.ext", ["txt","csv","zip"])

remove_sp_chars(dirty_str)

Elimina caracteres especiales acentos, diacríticos y cualquier otra cosa que no esté en el alfabeto inglés (a-z, A-Z, ) de una cadena. Reemplaza los caracteres especiales encontrados por un guión bajo ('').

Parameters:

Name Type Description Default
dirty_str str | list[str]

La cadena ò lista

required

Returns:

Type Description
Optional[str | list[str]]

La cadena ó lista con los caracteres especiales eliminados

Examples:

1
2
3
remove_sp_chars("Hola, mundo! ¿Cómo estás?")
# ó de la forma
remove_sp_chars(["Hola, mundo!", "¿Cómo estás?"])