diff options
author | cyfraeviolae <cyfraeviolae> | 2024-04-03 03:17:55 -0400 |
---|---|---|
committer | cyfraeviolae <cyfraeviolae> | 2024-04-03 03:17:55 -0400 |
commit | 12cf076118570eebbff08c6b3090e0d4798447a1 (patch) | |
tree | 3ba25e17e3c3a5e82316558ba3864b955919ff72 /venv/lib/python3.11/site-packages/faker/providers/ssn/en_US | |
parent | c45662ff3923b34614ddcc8feb9195541166dcc5 (diff) |
no venv
Diffstat (limited to 'venv/lib/python3.11/site-packages/faker/providers/ssn/en_US')
-rw-r--r-- | venv/lib/python3.11/site-packages/faker/providers/ssn/en_US/__init__.py | 235 | ||||
-rw-r--r-- | venv/lib/python3.11/site-packages/faker/providers/ssn/en_US/__pycache__/__init__.cpython-311.pyc | bin | 6616 -> 0 bytes |
2 files changed, 0 insertions, 235 deletions
diff --git a/venv/lib/python3.11/site-packages/faker/providers/ssn/en_US/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/ssn/en_US/__init__.py deleted file mode 100644 index 66f2a32..0000000 --- a/venv/lib/python3.11/site-packages/faker/providers/ssn/en_US/__init__.py +++ /dev/null @@ -1,235 +0,0 @@ -from typing import List - -from .. import Provider as BaseProvider - - -class Provider(BaseProvider): - INVALID_SSN_TYPE = "INVALID_SSN" - SSN_TYPE = "SSN" - ITIN_TYPE = "ITIN" - EIN_TYPE = "EIN" - - def itin(self) -> str: - """Generate a random United States Individual Taxpayer Identification Number (ITIN). - - An United States Individual Taxpayer Identification Number - (ITIN) is a tax processing number issued by the Internal - Revenue Service. It is a nine-digit number that always begins - with the number 9 and has a range of 70-88 in the fourth and - fifth digit. Effective April 12, 2011, the range was extended - to include 900-70-0000 through 999-88-9999, 900-90-0000 - through 999-92-9999 and 900-94-0000 through 999-99-9999. - https://www.irs.gov/individuals/international-taxpayers/general-itin-information - """ - - area = self.random_int(min=900, max=999) - serial = self.random_int(min=0, max=9999) - - # The group number must be between 70 and 99 inclusively but not 89 or 93 - group: int = self.random_element([x for x in range(70, 100) if x not in [89, 93]]) - - itin = f"{area:03d}-{group:02d}-{serial:04d}" - return itin - - def ein(self) -> str: - """Generate a random United States Employer Identification Number (EIN). - - An United States An Employer Identification Number (EIN) is - also known as a Federal Tax Identification Number, and is - used to identify a business entity. EINs follow a format of a - two-digit prefix followed by a hyphen and a seven-digit sequence: - ##-###### - - https://www.irs.gov/businesses/small-businesses-self-employed/employer-id-numbers - """ - - # Only certain EIN Prefix values are assigned: - # - # https://www.irs.gov/businesses/small-businesses-self-employed/how-eins-are-assigned-and-valid-ein-prefixes - - ein_prefix_choices: List[str] = [ - "01", - "02", - "03", - "04", - "05", - "06", - "10", - "11", - "12", - "13", - "14", - "15", - "16", - "20", - "21", - "22", - "23", - "24", - "25", - "26", - "27", - "30", - "31", - "32", - "33", - "34", - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45", - "46", - "47", - "48", - "50", - "51", - "52", - "53", - "54", - "55", - "56", - "57", - "58", - "59", - "60", - "61", - "62", - "63", - "64", - "65", - "66", - "67", - "68", - "71", - "72", - "73", - "74", - "75", - "76", - "77", - "80", - "81", - "82", - "83", - "84", - "85", - "86", - "87", - "88", - "90", - "91", - "92", - "93", - "94", - "95", - "98", - "99", - ] - - ein_prefix: str = self.random_element(ein_prefix_choices) - sequence = self.random_int(min=0, max=9999999) - - ein = f"{ein_prefix:s}-{sequence:07d}" - return ein - - def invalid_ssn(self) -> str: - """Generate a random invalid United States Social Security Identification Number (SSN). - - Invalid SSNs have the following characteristics: - Cannot begin with the number 9 - Cannot begin with 666 in positions 1 - 3 - Cannot begin with 000 in positions 1 - 3 - Cannot contain 00 in positions 4 - 5 - Cannot contain 0000 in positions 6 - 9 - - https://www.ssa.gov/kc/SSAFactSheet--IssuingSSNs.pdf - - Additionally, return an invalid SSN that is NOT a valid ITIN by excluding certain ITIN related "group" values - """ - itin_group_numbers = [ - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 90, - 91, - 92, - 94, - 95, - 96, - 97, - 98, - 99, - ] - area = self.random_int(min=0, max=999) - if area < 900 and area not in {666, 0}: - random_group_or_serial = self.random_int(min=1, max=1000) - if random_group_or_serial <= 500: - group = 0 - serial = self.random_int(0, 9999) - else: - group = self.random_int(0, 99) - serial = 0 - elif area in {666, 0}: - group = self.random_int(0, 99) - serial = self.random_int(0, 9999) - else: - group = self.random_element([x for x in range(0, 100) if x not in itin_group_numbers]) - serial = self.random_int(0, 9999) - - invalid_ssn = f"{area:03d}-{group:02d}-{serial:04d}" - return invalid_ssn - - def ssn(self, taxpayer_identification_number_type: str = SSN_TYPE) -> str: - """Generate a random United States Taxpayer Identification Number of the specified type. - - If no type is specified, a US SSN is returned. - """ - - if taxpayer_identification_number_type == self.ITIN_TYPE: - return self.itin() - elif taxpayer_identification_number_type == self.EIN_TYPE: - return self.ein() - elif taxpayer_identification_number_type == self.INVALID_SSN_TYPE: - return self.invalid_ssn() - elif taxpayer_identification_number_type == self.SSN_TYPE: - # Certain numbers are invalid for United States Social Security - # Numbers. The area (first 3 digits) cannot be 666 or 900-999. - # The group number (middle digits) cannot be 00. The serial - # (last 4 digits) cannot be 0000. - - area = self.random_int(min=1, max=899) - if area == 666: - area += 1 - group = self.random_int(1, 99) - serial = self.random_int(1, 9999) - - ssn = f"{area:03d}-{group:02d}-{serial:04d}" - return ssn - - else: - raise ValueError( - "taxpayer_identification_number_type must be one of 'SSN', 'EIN', 'ITIN'," " or 'INVALID_SSN'." - ) diff --git a/venv/lib/python3.11/site-packages/faker/providers/ssn/en_US/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/ssn/en_US/__pycache__/__init__.cpython-311.pyc Binary files differdeleted file mode 100644 index 99668a6..0000000 --- a/venv/lib/python3.11/site-packages/faker/providers/ssn/en_US/__pycache__/__init__.cpython-311.pyc +++ /dev/null |