Aller au contenu

Utils

Utilitaires généraux pour la librairie cmpparis.

Ce module regroupe des fonctions d'aide pour les dates, les chaînes et quelques validations simples.

Functions

format_date

Python
format_date(date, input_format, output_format)

Formate une date depuis un format source vers un format cible.

Parameters:

Name Type Description Default
date str

Chaîne représentant une date.

required
input_format str

Format d'entrée compatible datetime.strptime.

required
output_format str

Format de sortie compatible datetime.strftime.

required

Returns:

Name Type Description
str

Date formatée.

Raises:

Type Description
ValueError

Si la date ne correspond pas à input_format.

Source code in cmpparis/utils.py
Python
def format_date(date, input_format, output_format):
    """Formate une date depuis un format source vers un format cible.

    Args:
        date (str): Chaîne représentant une date.
        input_format (str): Format d'entrée compatible ``datetime.strptime``.
        output_format (str): Format de sortie compatible ``datetime.strftime``.

    Returns:
        str: Date formatée.

    Raises:
        ValueError: Si la date ne correspond pas à ``input_format``.
    """
    return datetime.strptime(date, input_format).strftime(output_format)

get_current_datetime_formatted

Python
get_current_datetime_formatted(format)

Retourne la date/heure actuelle selon un format donné.

Parameters:

Name Type Description Default
format str

Format de sortie compatible datetime.strftime.

required

Returns:

Name Type Description
str

Date/heure courante formatée.

Source code in cmpparis/utils.py
Python
def get_current_datetime_formatted(format):
    """Retourne la date/heure actuelle selon un format donné.

    Args:
        format (str): Format de sortie compatible ``datetime.strftime``.

    Returns:
        str: Date/heure courante formatée.
    """
    return datetime.now().strftime(format)

lstrip

Python
lstrip(value)

Supprime les espaces en début de chaîne.

Parameters:

Name Type Description Default
value str

Chaîne à traiter.

required

Returns:

Name Type Description
str

Chaîne sans espaces initiaux.

Source code in cmpparis/utils.py
Python
def lstrip(value):
    """Supprime les espaces en début de chaîne.

    Args:
        value (str): Chaîne à traiter.

    Returns:
        str: Chaîne sans espaces initiaux.
    """
    return value.lstrip()

remove_diacritics

Python
remove_diacritics(value)

Supprime les diacritiques (accents) d'une chaîne.

Parameters:

Name Type Description Default
value str

Chaîne d'entrée.

required

Returns:

Name Type Description
str

Chaîne sans diacritiques.

Source code in cmpparis/utils.py
Python
def remove_diacritics(value):
    """Supprime les diacritiques (accents) d'une chaîne.

    Args:
        value (str): Chaîne d'entrée.

    Returns:
        str: Chaîne sans diacritiques.
    """
    nfkd_form = unicodedata.normalize('NFKD', value)
    return ''.join([c for c in nfkd_form if not unicodedata.combining(c)])

replace

Python
replace(value, pattern, replacement)

Remplace les occurrences d'un motif par une valeur.

Parameters:

Name Type Description Default
value str

Chaîne source.

required
pattern str

Expression régulière.

required
replacement str

Remplacement.

required

Returns:

Name Type Description
str

Chaîne modifiée.

Source code in cmpparis/utils.py
Python
def replace(value, pattern, replacement):
    """Remplace les occurrences d'un motif par une valeur.

    Args:
        value (str): Chaîne source.
        pattern (str): Expression régulière.
        replacement (str): Remplacement.

    Returns:
        str: Chaîne modifiée.
    """
    return re.sub(pattern, replacement, value)

replace_ampersand

Python
replace_ampersand(value)

Remplace & par +.

Parameters:

Name Type Description Default
value str

Chaîne source.

required

Returns:

Name Type Description
str

Chaîne avec remplacement.

Source code in cmpparis/utils.py
Python
def replace_ampersand(value):
    """Remplace ``&`` par ``+``.

    Args:
        value (str): Chaîne source.

    Returns:
        str: Chaîne avec remplacement.
    """
    return value.replace('&', '+')

replace_comma

Python
replace_comma(value)

Remplace les virgules par des points.

Parameters:

Name Type Description Default
value str

Chaîne numérique.

required

Returns:

Name Type Description
str

Chaîne avec virgules remplacées.

Source code in cmpparis/utils.py
Python
def replace_comma(value):
    """Remplace les virgules par des points.

    Args:
        value (str): Chaîne numérique.

    Returns:
        str: Chaîne avec virgules remplacées.
    """
    return value.replace(',', '.')

replace_endash

Python
replace_endash(value)

Remplace le demi-cadratin (–) par un tiret (-).

Source code in cmpparis/utils.py
Python
def replace_endash(value):
    """Remplace le demi-cadratin (–) par un tiret (-)."""
    return value.replace('–', '-')

replace_emdash

Python
replace_emdash(value)

Remplace le cadratin (—) par un tiret (-).

Source code in cmpparis/utils.py
Python
def replace_emdash(value):
    """Remplace le cadratin (—) par un tiret (-)."""
    return value.replace('—', '-')

rstrip

Python
rstrip(value)

Supprime les espaces en fin de chaîne.

Source code in cmpparis/utils.py
Python
def rstrip(value):
    """Supprime les espaces en fin de chaîne."""
    return value.rstrip()

tofloat

Python
tofloat(value)

Convertit une chaîne en float.

Parameters:

Name Type Description Default
value str | int | float

Valeur à convertir.

required

Returns:

Name Type Description
float

Valeur convertie.

Raises:

Type Description
ValueError

Si la valeur ne peut pas être convertie.

TypeError

Si le type est incompatible.

Source code in cmpparis/utils.py
Python
def tofloat(value):
    """Convertit une chaîne en float.

    Args:
        value (str | int | float): Valeur à convertir.

    Returns:
        float: Valeur convertie.

    Raises:
        ValueError: Si la valeur ne peut pas être convertie.
        TypeError: Si le type est incompatible.
    """
    return float(value)

toint

Python
toint(value)

Convertit une chaîne en int.

Parameters:

Name Type Description Default
value str | int | float

Valeur à convertir.

required

Returns:

Name Type Description
int

Valeur convertie.

Raises:

Type Description
ValueError

Si la valeur ne peut pas être convertie.

TypeError

Si le type est incompatible.

Source code in cmpparis/utils.py
Python
def toint(value):
    """Convertit une chaîne en int.

    Args:
        value (str | int | float): Valeur à convertir.

    Returns:
        int: Valeur convertie.

    Raises:
        ValueError: Si la valeur ne peut pas être convertie.
        TypeError: Si le type est incompatible.
    """
    return int(value)

upper

Python
upper(value)

Met en majuscules.

Parameters:

Name Type Description Default
value str

Chaîne source.

required

Returns:

Name Type Description
str

Chaîne en majuscules.

Source code in cmpparis/utils.py
Python
def upper(value):
    """Met en majuscules.

    Args:
        value (str): Chaîne source.

    Returns:
        str: Chaîne en majuscules.
    """
    return value.upper()

check_email

Python
check_email(value)

Vérifie si une chaîne est une adresse email valide (regex simple).

Parameters:

Name Type Description Default
value str

Adresse email.

required

Returns:

Name Type Description
bool

True si correspond au motif, sinon False.

Source code in cmpparis/utils.py
Python
def check_email(value):
    """Vérifie si une chaîne est une adresse email valide (regex simple).

    Args:
        value (str): Adresse email.

    Returns:
        bool: ``True`` si correspond au motif, sinon ``False``.
    """
    return False if re.fullmatch(r"^[\w\-\.]+@([\w\-]+\.)+[\w]{2,4}$", value) == None else True

check_empty_value

Python
check_empty_value(value)

Teste si une valeur est non vide et non None.

Parameters:

Name Type Description Default
value Any

Valeur à tester.

required

Returns:

Name Type Description
bool

True si non vide et non None.

Source code in cmpparis/utils.py
Python
def check_empty_value(value):
    """Teste si une valeur est non vide et non ``None``.

    Args:
        value (Any): Valeur à tester.

    Returns:
        bool: ``True`` si non vide et non ``None``.
    """
    return False if len(value) == 0 or value == None else True

check_encoding

Python
check_encoding(value)

Vérifie si une chaîne peut être encodée en ASCII (via UTF-8 -> ASCII).

Parameters:

Name Type Description Default
value str

Chaîne à tester.

required

Returns:

Name Type Description
bool

True si convertible en ASCII, sinon False.

Source code in cmpparis/utils.py
Python
def check_encoding(value):
    """Vérifie si une chaîne peut être encodée en ASCII (via UTF-8 -> ASCII).

    Args:
        value (str): Chaîne à tester.

    Returns:
        bool: ``True`` si convertible en ASCII, sinon ``False``.
    """
    try:
        value.encode('utf-8').decode('ascii')
    except UnicodeDecodeError:
        return False
    else:
        return True