File: //opt/alt/python311/lib/python3.11/site-packages/validators/i18n/__pycache__/fr.cpython-311.pyc
�
�;fM � � � d Z ddlmZ ddlZddlZddlmZ ed� � � Zedej e e
f fd�� � Zede fd�� � ZdS ) zFrance.� )� lru_cacheN)� validatorc �@ � t j 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� � �E/opt/alt/python311/lib/python3.11/site-packages/validators/i18n/fr.py�_ssn_patternr s$ � � �:� � �
� � � r
�valuec �� � | sdS t | t � � r(| dv rdS t | � � } n# t $ r Y dS w xY wd| cxk odk nc pd| cxk odk nc pd| cxk od k nc 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
s r �
fr_departmentr s� � �8 � ��u��%���� ��L� � ��4� ���J�J�E�E��� � � ��5�5� ���������������G�r�U�0�0�0�0�b�0�0�0�0�G�C�5�4G�4G�4G�4G�C�4G�4G�4G�4G�Gs �1 �
?�?c �� � | sdS t j t � � | � � }|sdS t |� � � � � }|d }|d }|dk rt |� � sdS |�dS t
|� � t
|d � � k rdS |dv r
|d k rd
nd|d<