X7ROOT File Manager
Current Path:
/opt/alt/python311/lib/python3.11/site-packages/validators
opt
/
alt
/
python311
/
lib
/
python3.11
/
site-packages
/
validators
/
📁
..
📄
__init__.py
(1.86 KB)
📁
__pycache__
📄
_extremes.py
(1.01 KB)
📄
_tld.txt
(9.4 KB)
📄
between.py
(2.39 KB)
📄
btc_address.py
(1.62 KB)
📄
card.py
(5.63 KB)
📄
country.py
(14.57 KB)
📄
cron.py
(2.23 KB)
📄
domain.py
(2.4 KB)
📄
email.py
(2.72 KB)
📄
encoding.py
(1.34 KB)
📄
finance.py
(3.22 KB)
📄
hashes.py
(3.21 KB)
📄
hostname.py
(4.05 KB)
📁
i18n
📄
iban.py
(1.05 KB)
📄
ip_address.py
(4.34 KB)
📄
length.py
(1.45 KB)
📄
mac_address.py
(865 B)
📄
py.typed
(0 B)
📄
slug.py
(750 B)
📄
uri.py
(1.78 KB)
📄
url.py
(7.23 KB)
📄
utils.py
(3.1 KB)
📄
uuid.py
(1.04 KB)
Editing: finance.py
"""Finance.""" from .utils import validator def _cusip_checksum(cusip: str): check, val = 0, None for idx in range(9): c = cusip[idx] if c >= "0" and c <= "9": val = ord(c) - ord("0") elif c >= "A" and c <= "Z": val = 10 + ord(c) - ord("A") elif c >= "a" and c <= "z": val = 10 + ord(c) - ord("a") elif c == "*": val = 36 elif c == "@": val = 37 elif c == "#": val = 38 else: return False if idx & 1: val += val check = check + (val // 10) + (val % 10) return (check % 10) == 0 def _isin_checksum(value: str): check, val = 0, None for idx in range(12): c = value[idx] if c >= "0" and c <= "9" and idx > 1: val = ord(c) - ord("0") elif c >= "A" and c <= "Z": val = 10 + ord(c) - ord("A") elif c >= "a" and c <= "z": val = 10 + ord(c) - ord("a") else: return False if idx & 1: val += val return (check % 10) == 0 @validator def cusip(value: str): """Return whether or not given value is a valid CUSIP. Checks if the value is a valid [CUSIP][1]. [1]: https://en.wikipedia.org/wiki/CUSIP Examples: >>> cusip('037833DP2') True >>> cusip('037833DP3') ValidationFailure(func=cusip, ...) Args: value: CUSIP string to validate. Returns: (Literal[True]): If `value` is a valid CUSIP string. (ValidationError): If `value` is an invalid CUSIP string. """ return len(value) == 9 and _cusip_checksum(value) @validator def isin(value: str): """Return whether or not given value is a valid ISIN. Checks if the value is a valid [ISIN][1]. [1]: https://en.wikipedia.org/wiki/International_Securities_Identification_Number Examples: >>> isin('037833DP2') True >>> isin('037833DP3') ValidationFailure(func=isin, ...) Args: value: ISIN string to validate. Returns: (Literal[True]): If `value` is a valid ISIN string. (ValidationError): If `value` is an invalid ISIN string. """ return len(value) == 12 and _isin_checksum(value) @validator def sedol(value: str): """Return whether or not given value is a valid SEDOL. Checks if the value is a valid [SEDOL][1]. [1]: https://en.wikipedia.org/wiki/SEDOL Examples: >>> sedol('2936921') True >>> sedol('29A6922') ValidationFailure(func=sedol, ...) Args: value: SEDOL string to validate. Returns: (Literal[True]): If `value` is a valid SEDOL string. (ValidationError): If `value` is an invalid SEDOL string. """ if len(value) != 7: return False weights = [1, 3, 1, 7, 3, 9, 1] check = 0 for idx in range(7): c = value[idx] if c in "AEIOU": return False val = None if c >= "0" and c <= "9": val = ord(c) - ord("0") elif c >= "A" and c <= "Z": val = 10 + ord(c) - ord("A") else: return False check += val * weights[idx] return (check % 10) == 0
Upload File
Create Folder