summaryrefslogtreecommitdiff
path: root/venv/lib/python3.11/site-packages/faker/providers/ssn/sk_SK
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/ssn/sk_SK
parent4f884c9abc32990b4061a1bb6997b4b37e58ea0b (diff)
venv
Diffstat (limited to 'venv/lib/python3.11/site-packages/faker/providers/ssn/sk_SK')
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/ssn/sk_SK/__init__.py42
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/ssn/sk_SK/__pycache__/__init__.cpython-311.pycbin0 -> 2813 bytes
2 files changed, 42 insertions, 0 deletions
diff --git a/venv/lib/python3.11/site-packages/faker/providers/ssn/sk_SK/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/ssn/sk_SK/__init__.py
new file mode 100644
index 0000000..a9a7301
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/ssn/sk_SK/__init__.py
@@ -0,0 +1,42 @@
+from math import ceil
+
+from .. import Provider as BaseProvider
+
+
+class Provider(BaseProvider):
+ """
+ A Faker provider for the Slovakian VAT IDs
+ """
+
+ vat_id_formats = ("SK##########",)
+
+ national_id_months = ["%.2d" % i for i in range(1, 13)] + ["%.2d" % i for i in range(51, 63)]
+
+ def vat_id(self) -> str:
+ """
+ http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
+ :return: a random Slovakian VAT ID
+ """
+
+ return self.bothify(self.random_element(self.vat_id_formats))
+
+ def birth_number(self) -> str:
+ """
+ Birth Number (Czech/Slovak: rodné číslo (RČ))
+ https://en.wikipedia.org/wiki/National_identification_number#Czech_Republic_and_Slovakia
+ """
+ birthdate = self.generator.date_of_birth()
+ year = f"{birthdate:%y}"
+ month: str = self.random_element(self.national_id_months)
+ day = f"{birthdate:%d}"
+ if birthdate.year > 1953:
+ sn = self.random_number(4, True)
+ else:
+ sn = self.random_number(3, True)
+ number = int(f"{year}{month}{day}{sn}")
+ birth_number = str(ceil(number / 11) * 11)
+ if year == "00":
+ birth_number = "00" + birth_number
+ elif year[0] == "0":
+ birth_number = "0" + birth_number
+ return f"{birth_number[:6]}/{birth_number[6::]}"
diff --git a/venv/lib/python3.11/site-packages/faker/providers/ssn/sk_SK/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/ssn/sk_SK/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..cfb3df7
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/ssn/sk_SK/__pycache__/__init__.cpython-311.pyc
Binary files differ