summaryrefslogtreecommitdiff
path: root/venv/lib/python3.11/site-packages/faker/providers/company/fi_FI
diff options
context:
space:
mode:
authorcyfraeviolae <cyfraeviolae>2024-04-03 03:10:44 -0400
committercyfraeviolae <cyfraeviolae>2024-04-03 03:10:44 -0400
commit6d7ba58f880be618ade07f8ea080fe8c4bf8a896 (patch)
treeb1c931051ffcebd2bd9d61d98d6233ffa289bbce /venv/lib/python3.11/site-packages/faker/providers/company/fi_FI
parent4f884c9abc32990b4061a1bb6997b4b37e58ea0b (diff)
venv
Diffstat (limited to 'venv/lib/python3.11/site-packages/faker/providers/company/fi_FI')
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/company/fi_FI/__init__.py66
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/company/fi_FI/__pycache__/__init__.cpython-311.pycbin0 -> 3216 bytes
2 files changed, 66 insertions, 0 deletions
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
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/company/fi_FI/__pycache__/__init__.cpython-311.pyc
Binary files differ