File: //usr/local/CyberCP/lib/python3.10/site-packages/validators/i18n/__pycache__/fr.cpython-310.pyc
o
�hM � @ sj d Z ddlmZ ddlZddlZddlmZ edd� �Zedeje e
f fdd ��Zede fd
d��ZdS )zFrance.� )� lru_cacheN)� validatorc C s t �dt j�S )zSSN Pattern.zW^([1,2])\s(\d{2})\s(0[1-9]|1[0-2])\s(\d{2,3}|2[A,B])\s(\d{2,3})\s(\d{3})(?:\s(\d{2}))?$)�re�compile�VERBOSE� r r �E/usr/local/CyberCP/lib/python3.10/site-packages/validators/i18n/fr.py�_ssn_pattern s �r �valuec C s� | sdS t | t�r | dv rdS zt| �} W n
ty Y dS w d| ko)dkn pCd| ko5dkn pCd| koAd kS S )
a) Validate a french department number.
Examples:
>>> fr_department(20) # can be an integer
# Output: True
>>> fr_department("20")
# Output: True
>>> fr_department("971") # Guadeloupe
# Output: True
>>> fr_department("00")
# Output: ValidationError(func=fr_department, args=...)
>>> fr_department('2A') # Corsica
# Output: True
>>> fr_department('2B')
# Output: True
>>> fr_department('2C')
# Output: ValidationError(func=fr_department, args=...)
Args:
value:
French department number to validate.
Returns:
(Literal[True]): If `value` is a valid french department number.
(ValidationError): If `value` is an invalid french department number.
F��2A�2BT� � � �_ i� i� )�
isinstance�str�int�
ValueError)r
r r r �
fr_department s
�Hr c C s� | sdS t �t� | �}|sdS t|�� �}|d }|d }|dkr't|�s'dS |du r-dS t|�t|d �kr9dS |dv rG|d krCd
nd|d<