From 6d7ba58f880be618ade07f8ea080fe8c4bf8a896 Mon Sep 17 00:00:00 2001 From: cyfraeviolae Date: Wed, 3 Apr 2024 03:10:44 -0400 Subject: venv --- .../faker/providers/company/fi_FI/__init__.py | 66 +++++++++++++++++++++ .../fi_FI/__pycache__/__init__.cpython-311.pyc | Bin 0 -> 3216 bytes 2 files changed, 66 insertions(+) create mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/fi_FI/__init__.py create mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/fi_FI/__pycache__/__init__.cpython-311.pyc (limited to 'venv/lib/python3.11/site-packages/faker/providers/company/fi_FI') diff --git a/venv/lib/python3.11/site-packages/faker/providers/company/fi_FI/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/company/fi_FI/__init__.py new file mode 100644 index 0000000..adfecfb --- /dev/null +++ b/venv/lib/python3.11/site-packages/faker/providers/company/fi_FI/__init__.py @@ -0,0 +1,66 @@ +from .. import Provider as CompanyProvider + + +class Provider(CompanyProvider): + formats = ( + "{{last_name}} {{company_suffix}}", + "{{last_name}} {{last_name}} {{company_suffix}}", + "{{last_name}} {{last_name}} {{company_suffix}}", + "{{last_name}}", + ) + + company_suffixes = ( + "As Oy", + "Tmi", + "Oy", + "Oyj", + "Ky", + "Osk", + "ry", + ) + + def company_business_id(self) -> str: + """ + Returns Finnish company Business Identity Code (y-tunnus). + Format is 8 digits - e.g. FI99999999,[8] last digit is a check + digit utilizing MOD 11-2. The first digit is zero for some old + organizations. This function provides current codes starting with + non-zero. + """ + + def calculate_checksum(number: str) -> str: + """Calculate the checksum using mod 11,2 method""" + factors = [7, 9, 10, 5, 8, 4, 2] + sum_ = 0 + for x, y in zip(number, factors): + sum_ = sum_ + int(x) * y + if sum_ % 11 == 1: + raise ValueError("Checksum 1 is invalid") + if sum_ % 11 == 0: + return "0" + else: + return str(11 - sum_ % 11) + + while True: + first_digit = str(self.random_digit_not_null()) + body = first_digit + self.bothify("######") + try: + cs = calculate_checksum(body) + except ValueError: + continue + return body + "-" + str(cs) + + def company_vat(self) -> str: + """ + Returns Finnish VAT identification number (Arvonlisaveronumero). + This can be calculated from company business identity code by + adding prefix "FI" and removing dash before checksum. + """ + + def convert_to_vat(business_id: str) -> str: + """ + Convert business id to VATIN + """ + return "FI" + business_id.replace("-", "") + + return convert_to_vat(self.company_business_id()) diff --git a/venv/lib/python3.11/site-packages/faker/providers/company/fi_FI/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/company/fi_FI/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000..0e78e60 Binary files /dev/null and b/venv/lib/python3.11/site-packages/faker/providers/company/fi_FI/__pycache__/__init__.cpython-311.pyc differ -- cgit v1.2.3