├── icon.png ├── src ├── workflow │ ├── version │ ├── Notify.tgz │ └── __init__.py ├── icon.png ├── icons │ ├── off.png │ ├── on.png │ ├── docs.png │ ├── help.png │ ├── icon.png │ ├── issue.png │ ├── issues.png │ ├── locales.png │ ├── update-check.png │ └── update-available.png └── libs │ ├── dateutil │ ├── tzwin.py │ ├── _version.py │ ├── zoneinfo │ │ ├── dateutil-zoneinfo.tar.gz │ │ └── rebuild.py │ ├── __init__.py │ ├── tz │ │ ├── __init__.py │ │ └── _factories.py │ ├── _common.py │ ├── parser │ │ └── __init__.py │ └── utils.py │ ├── faker │ ├── providers │ │ ├── file │ │ │ └── en_US │ │ │ │ └── __init__.py │ │ ├── geo │ │ │ ├── en_US │ │ │ │ └── __init__.py │ │ │ ├── de_AT │ │ │ │ └── __init__.py │ │ │ └── el_GR │ │ │ │ └── __init__.py │ │ ├── isbn │ │ │ ├── en_US │ │ │ │ └── __init__.py │ │ │ ├── rules.py │ │ │ └── isbn.py │ │ ├── job │ │ │ ├── en_US │ │ │ │ └── __init__.py │ │ │ ├── th_TH │ │ │ │ └── __init__.py │ │ │ └── fa_IR │ │ │ │ └── __init__.py │ │ ├── misc │ │ │ └── en_US │ │ │ │ └── __init__.py │ │ ├── color │ │ │ ├── en_US │ │ │ │ └── __init__.py │ │ │ ├── hu_HU │ │ │ │ └── __init__.py │ │ │ └── ru_RU │ │ │ │ └── __init__.py │ │ ├── barcode │ │ │ ├── en_US │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── profile │ │ │ ├── en_US │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── python │ │ │ └── en_US │ │ │ │ └── __init__.py │ │ ├── currency │ │ │ └── en_US │ │ │ │ └── __init__.py │ │ ├── date_time │ │ │ ├── en_US │ │ │ │ └── __init__.py │ │ │ ├── ar_EG │ │ │ │ └── __init__.py │ │ │ ├── ko_KR │ │ │ │ └── __init__.py │ │ │ ├── hy_AM │ │ │ │ └── __init__.py │ │ │ ├── pl_PL │ │ │ │ └── __init__.py │ │ │ ├── fr_FR │ │ │ │ └── __init__.py │ │ │ ├── id_ID │ │ │ │ └── __init__.py │ │ │ ├── ru_RU │ │ │ │ └── __init__.py │ │ │ ├── sl_SI │ │ │ │ └── __init__.py │ │ │ ├── hr_HR │ │ │ │ └── __init__.py │ │ │ └── hu_HU │ │ │ │ └── __init__.py │ │ ├── credit_card │ │ │ └── en_US │ │ │ │ └── __init__.py │ │ ├── user_agent │ │ │ └── en_US │ │ │ │ └── __init__.py │ │ ├── ssn │ │ │ ├── de_CH │ │ │ │ └── __init__.py │ │ │ ├── ru_RU │ │ │ │ └── __init__.py │ │ │ ├── es_CA │ │ │ │ └── __init__.py │ │ │ ├── ko_KR │ │ │ │ └── __init__.py │ │ │ ├── zh_TW │ │ │ │ └── __init__.py │ │ │ ├── __init__.py │ │ │ ├── dk_DK │ │ │ │ └── __init__.py │ │ │ ├── el_CY │ │ │ │ └── __init__.py │ │ │ ├── cs_CZ │ │ │ │ └── __init__.py │ │ │ ├── de_DE │ │ │ │ └── __init__.py │ │ │ ├── el_GR │ │ │ │ └── __init__.py │ │ │ ├── mt_MT │ │ │ │ └── __init__.py │ │ │ ├── de_AT │ │ │ │ └── __init__.py │ │ │ ├── lv_LV │ │ │ │ └── __init__.py │ │ │ ├── sl_SI │ │ │ │ └── __init__.py │ │ │ ├── pt_PT │ │ │ │ └── __init__.py │ │ │ ├── sk_SK │ │ │ │ └── __init__.py │ │ │ ├── lb_LU │ │ │ │ └── __init__.py │ │ │ ├── bg_BG │ │ │ │ └── __init__.py │ │ │ ├── lt_LT │ │ │ │ └── __init__.py │ │ │ ├── en_IE │ │ │ │ └── __init__.py │ │ │ ├── fr_FR │ │ │ │ └── __init__.py │ │ │ ├── ro_RO │ │ │ │ └── __init__.py │ │ │ ├── he_IL │ │ │ │ └── __init__.py │ │ │ ├── uk_UA │ │ │ │ └── __init__.py │ │ │ ├── en_GB │ │ │ │ └── __init__.py │ │ │ ├── it_IT │ │ │ │ └── __init__.py │ │ │ ├── hr_HR │ │ │ │ └── __init__.py │ │ │ ├── fr_CH │ │ │ │ └── __init__.py │ │ │ ├── nl_NL │ │ │ │ └── __init__.py │ │ │ ├── sv_SE │ │ │ │ └── __init__.py │ │ │ ├── pt_BR │ │ │ │ └── __init__.py │ │ │ ├── pl_PL │ │ │ │ └── __init__.py │ │ │ ├── nl_BE │ │ │ │ └── __init__.py │ │ │ └── fi_FI │ │ │ │ └── __init__.py │ │ ├── bank │ │ │ ├── pl_PL │ │ │ │ └── __init__.py │ │ │ ├── nl_NL │ │ │ │ └── __init__.py │ │ │ ├── no_NO │ │ │ │ └── __init__.py │ │ │ ├── de_AT │ │ │ │ └── __init__.py │ │ │ ├── de_DE │ │ │ │ └── __init__.py │ │ │ ├── en_GB │ │ │ │ └── __init__.py │ │ │ ├── fr_FR │ │ │ │ └── __init__.py │ │ │ ├── it_IT │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── company │ │ │ ├── en_US │ │ │ │ └── __init__.py │ │ │ ├── sl_SI │ │ │ │ └── __init__.py │ │ │ ├── cs_CZ │ │ │ │ └── __init__.py │ │ │ ├── hr_HR │ │ │ │ └── __init__.py │ │ │ ├── sk_SK │ │ │ │ └── __init__.py │ │ │ ├── sv_SE │ │ │ │ └── __init__.py │ │ │ ├── bg_BG │ │ │ │ └── __init__.py │ │ │ ├── hu_HU │ │ │ │ └── __init__.py │ │ │ ├── no_NO │ │ │ │ └── __init__.py │ │ │ ├── ru_RU │ │ │ │ └── __init__.py │ │ │ ├── ja_JP │ │ │ │ └── __init__.py │ │ │ ├── de_DE │ │ │ │ └── __init__.py │ │ │ ├── id_ID │ │ │ │ └── __init__.py │ │ │ ├── pt_PT │ │ │ │ └── __init__.py │ │ │ ├── zh_CN │ │ │ │ └── __init__.py │ │ │ ├── fr_CH │ │ │ │ └── __init__.py │ │ │ ├── zh_TW │ │ │ │ └── __init__.py │ │ │ └── fi_FI │ │ │ │ └── __init__.py │ │ ├── internet │ │ │ ├── en_US │ │ │ │ └── __init__.py │ │ │ ├── pt_PT │ │ │ │ └── __init__.py │ │ │ ├── fa_IR │ │ │ │ └── __init__.py │ │ │ ├── fi_FI │ │ │ │ └── __init__.py │ │ │ ├── ko_KR │ │ │ │ └── __init__.py │ │ │ ├── en_AU │ │ │ │ └── __init__.py │ │ │ ├── de_AT │ │ │ │ └── __init__.py │ │ │ ├── no_NO │ │ │ │ └── __init__.py │ │ │ ├── id_ID │ │ │ │ └── __init__.py │ │ │ ├── sv_SE │ │ │ │ └── __init__.py │ │ │ ├── en_NZ │ │ │ │ └── __init__.py │ │ │ ├── bs_BA │ │ │ │ └── __init__.py │ │ │ ├── ja_JP │ │ │ │ └── __init__.py │ │ │ ├── zh_TW │ │ │ │ └── __init__.py │ │ │ ├── de_DE │ │ │ │ └── __init__.py │ │ │ ├── hr_HR │ │ │ │ └── __init__.py │ │ │ ├── pl_PL │ │ │ │ └── __init__.py │ │ │ ├── pt_BR │ │ │ │ └── __init__.py │ │ │ ├── hu_HU │ │ │ │ └── __init__.py │ │ │ ├── fr_CH │ │ │ │ └── __init__.py │ │ │ ├── it_IT │ │ │ │ └── __init__.py │ │ │ ├── cs_CZ │ │ │ │ └── __init__.py │ │ │ ├── fr_FR │ │ │ │ └── __init__.py │ │ │ ├── sk_SK │ │ │ │ └── __init__.py │ │ │ ├── sl_SI │ │ │ │ └── __init__.py │ │ │ ├── uk_UA │ │ │ │ └── __init__.py │ │ │ ├── ar_AA │ │ │ │ └── __init__.py │ │ │ ├── ru_RU │ │ │ │ └── __init__.py │ │ │ ├── bg_BG │ │ │ │ └── __init__.py │ │ │ ├── zh_CN │ │ │ │ └── __init__.py │ │ │ └── el_GR │ │ │ │ └── __init__.py │ │ ├── automotive │ │ │ ├── pt_BR │ │ │ │ └── __init__.py │ │ │ ├── hu_HU │ │ │ │ └── __init__.py │ │ │ ├── en_GB │ │ │ │ └── __init__.py │ │ │ ├── id_ID │ │ │ │ └── __init__.py │ │ │ ├── __init__.py │ │ │ ├── sv_SE │ │ │ │ └── __init__.py │ │ │ ├── en_NZ │ │ │ │ └── __init__.py │ │ │ ├── pl_PL │ │ │ │ └── __init__.py │ │ │ ├── en_CA │ │ │ │ └── __init__.py │ │ │ ├── ar_JO │ │ │ │ └── __init__.py │ │ │ ├── ar_PS │ │ │ │ └── __init__.py │ │ │ └── ar_SA │ │ │ │ └── __init__.py │ │ ├── phone_number │ │ │ ├── th_TH │ │ │ │ └── __init__.py │ │ │ ├── lt_LT │ │ │ │ └── __init__.py │ │ │ ├── lv_LV │ │ │ │ └── __init__.py │ │ │ ├── ja_JP │ │ │ │ └── __init__.py │ │ │ ├── hi_IN │ │ │ │ └── __init__.py │ │ │ ├── ne_NP │ │ │ │ └── __init__.py │ │ │ ├── fi_FI │ │ │ │ └── __init__.py │ │ │ ├── es_ES │ │ │ │ └── __init__.py │ │ │ ├── hu_HU │ │ │ │ └── __init__.py │ │ │ ├── it_IT │ │ │ │ └── __init__.py │ │ │ ├── no_NO │ │ │ │ └── __init__.py │ │ │ ├── uk_UA │ │ │ │ └── __init__.py │ │ │ ├── en_CA │ │ │ │ └── __init__.py │ │ │ ├── tr_TR │ │ │ │ └── __init__.py │ │ │ ├── __init__.py │ │ │ ├── sl_SI │ │ │ │ └── __init__.py │ │ │ ├── ru_RU │ │ │ │ └── __init__.py │ │ │ ├── zh_TW │ │ │ │ └── __init__.py │ │ │ ├── sk_SK │ │ │ │ └── __init__.py │ │ │ ├── sv_SE │ │ │ │ └── __init__.py │ │ │ ├── bg_BG │ │ │ │ └── __init__.py │ │ │ ├── dk_DK │ │ │ │ └── __init__.py │ │ │ ├── hy_AM │ │ │ │ └── __init__.py │ │ │ ├── de_DE │ │ │ │ └── __init__.py │ │ │ ├── he_IL │ │ │ │ └── __init__.py │ │ │ ├── zh_CN │ │ │ │ └── __init__.py │ │ │ ├── nl_BE │ │ │ │ └── __init__.py │ │ │ ├── nl_NL │ │ │ │ └── __init__.py │ │ │ ├── el_GR │ │ │ │ └── __init__.py │ │ │ ├── tw_GH │ │ │ │ └── __init__.py │ │ │ ├── id_ID │ │ │ │ └── __init__.py │ │ │ ├── ko_KR │ │ │ │ └── __init__.py │ │ │ ├── es_MX │ │ │ │ └── __init__.py │ │ │ ├── hr_HR │ │ │ │ └── __init__.py │ │ │ ├── bs_BA │ │ │ │ └── __init__.py │ │ │ ├── pl_PL │ │ │ │ └── __init__.py │ │ │ ├── cs_CZ │ │ │ │ └── __init__.py │ │ │ ├── fr_CH │ │ │ │ └── __init__.py │ │ │ ├── fr_FR │ │ │ │ └── __init__.py │ │ │ ├── pt_PT │ │ │ │ └── __init__.py │ │ │ ├── en_US │ │ │ │ └── __init__.py │ │ │ ├── en_NZ │ │ │ │ └── __init__.py │ │ │ ├── en_AU │ │ │ │ └── __init__.py │ │ │ ├── ar_JO │ │ │ │ └── __init__.py │ │ │ ├── fa_IR │ │ │ │ └── __init__.py │ │ │ └── pt_BR │ │ │ │ └── __init__.py │ │ ├── person │ │ │ ├── ar_PS │ │ │ │ └── __init__.py │ │ │ ├── ar_SA │ │ │ │ └── __init__.py │ │ │ ├── es_CA │ │ │ │ └── __init__.py │ │ │ └── de_AT │ │ │ │ └── __init__.py │ │ ├── lorem │ │ │ ├── he_IL │ │ │ │ └── __init__.py │ │ │ └── la │ │ │ │ └── __init__.py │ │ └── address │ │ │ └── no_NO │ │ │ └── __init__.py │ ├── __main__.py │ ├── __init__.py │ ├── utils │ │ ├── __init__.py │ │ ├── datasets.py │ │ ├── decorators.py │ │ ├── text.py │ │ ├── loading.py │ │ └── distribution.py │ ├── config.py │ └── compat.py │ └── text_unidecode │ └── __init__.py ├── demo.gif ├── requirements.txt ├── Fakeum-2.2.2.alfredworkflow ├── icons.txt ├── bin └── example-data └── LICENCE /icon.png: -------------------------------------------------------------------------------- 1 | ./src/icons/icon.png -------------------------------------------------------------------------------- /src/workflow/version: -------------------------------------------------------------------------------- 1 | 1.37.2 -------------------------------------------------------------------------------- /demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deanishe/alfred-fakeum/HEAD/demo.gif -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | Alfred-Workflow==1.37.2 2 | docopt==0.6.2 3 | Faker==1.0.7 4 | -------------------------------------------------------------------------------- /src/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deanishe/alfred-fakeum/HEAD/src/icon.png -------------------------------------------------------------------------------- /src/icons/off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deanishe/alfred-fakeum/HEAD/src/icons/off.png -------------------------------------------------------------------------------- /src/icons/on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deanishe/alfred-fakeum/HEAD/src/icons/on.png -------------------------------------------------------------------------------- /src/libs/dateutil/tzwin.py: -------------------------------------------------------------------------------- 1 | # tzwin has moved to dateutil.tz.win 2 | from .tz.win import * 3 | -------------------------------------------------------------------------------- /src/icons/docs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deanishe/alfred-fakeum/HEAD/src/icons/docs.png -------------------------------------------------------------------------------- /src/icons/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deanishe/alfred-fakeum/HEAD/src/icons/help.png -------------------------------------------------------------------------------- /src/icons/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deanishe/alfred-fakeum/HEAD/src/icons/icon.png -------------------------------------------------------------------------------- /src/icons/issue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deanishe/alfred-fakeum/HEAD/src/icons/issue.png -------------------------------------------------------------------------------- /src/icons/issues.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deanishe/alfred-fakeum/HEAD/src/icons/issues.png -------------------------------------------------------------------------------- /src/icons/locales.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deanishe/alfred-fakeum/HEAD/src/icons/locales.png -------------------------------------------------------------------------------- /src/workflow/Notify.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deanishe/alfred-fakeum/HEAD/src/workflow/Notify.tgz -------------------------------------------------------------------------------- /Fakeum-2.2.2.alfredworkflow: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deanishe/alfred-fakeum/HEAD/Fakeum-2.2.2.alfredworkflow -------------------------------------------------------------------------------- /src/icons/update-check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deanishe/alfred-fakeum/HEAD/src/icons/update-check.png -------------------------------------------------------------------------------- /src/icons/update-available.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deanishe/alfred-fakeum/HEAD/src/icons/update-available.png -------------------------------------------------------------------------------- /src/libs/faker/providers/file/en_US/__init__.py: -------------------------------------------------------------------------------- 1 | from .. import Provider as FileProvider 2 | 3 | 4 | class Provider(FileProvider): 5 | pass 6 | -------------------------------------------------------------------------------- /src/libs/faker/providers/geo/en_US/__init__.py: -------------------------------------------------------------------------------- 1 | from .. import Provider as BaseProvider 2 | 3 | 4 | class Provider(BaseProvider): 5 | pass 6 | -------------------------------------------------------------------------------- /src/libs/faker/providers/isbn/en_US/__init__.py: -------------------------------------------------------------------------------- 1 | from .. import Provider as ISBNProvider 2 | 3 | 4 | class Provider(ISBNProvider): 5 | pass 6 | -------------------------------------------------------------------------------- /src/libs/faker/providers/job/en_US/__init__.py: -------------------------------------------------------------------------------- 1 | from .. import Provider as BaseProvider 2 | 3 | 4 | class Provider(BaseProvider): 5 | pass 6 | -------------------------------------------------------------------------------- /src/libs/faker/providers/misc/en_US/__init__.py: -------------------------------------------------------------------------------- 1 | from .. import Provider as MiscProvider 2 | 3 | 4 | class Provider(MiscProvider): 5 | pass 6 | -------------------------------------------------------------------------------- /src/libs/faker/providers/color/en_US/__init__.py: -------------------------------------------------------------------------------- 1 | from .. import Provider as ColorProvider 2 | 3 | 4 | class Provider(ColorProvider): 5 | pass 6 | -------------------------------------------------------------------------------- /src/libs/faker/providers/barcode/en_US/__init__.py: -------------------------------------------------------------------------------- 1 | from .. import Provider as BarCodeProvider 2 | 3 | 4 | class Provider(BarCodeProvider): 5 | pass 6 | -------------------------------------------------------------------------------- /src/libs/faker/providers/profile/en_US/__init__.py: -------------------------------------------------------------------------------- 1 | from .. import Provider as ProfileProvider 2 | 3 | 4 | class Provider(ProfileProvider): 5 | pass 6 | -------------------------------------------------------------------------------- /src/libs/faker/providers/python/en_US/__init__.py: -------------------------------------------------------------------------------- 1 | from .. import Provider as PythonProvider 2 | 3 | 4 | class Provider(PythonProvider): 5 | pass 6 | -------------------------------------------------------------------------------- /src/libs/dateutil/_version.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | # file generated by setuptools_scm 3 | # don't change, don't track in version control 4 | version = '2.8.0' 5 | -------------------------------------------------------------------------------- /src/libs/dateutil/zoneinfo/dateutil-zoneinfo.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deanishe/alfred-fakeum/HEAD/src/libs/dateutil/zoneinfo/dateutil-zoneinfo.tar.gz -------------------------------------------------------------------------------- /src/libs/faker/providers/currency/en_US/__init__.py: -------------------------------------------------------------------------------- 1 | from .. import Provider as CurrencyProvider 2 | 3 | 4 | class Provider(CurrencyProvider): 5 | pass 6 | -------------------------------------------------------------------------------- /src/libs/faker/providers/date_time/en_US/__init__.py: -------------------------------------------------------------------------------- 1 | from .. import Provider as DateTimeProvider 2 | 3 | 4 | class Provider(DateTimeProvider): 5 | pass 6 | -------------------------------------------------------------------------------- /src/libs/faker/providers/credit_card/en_US/__init__.py: -------------------------------------------------------------------------------- 1 | from .. import Provider as CreditCardProvider 2 | 3 | 4 | class Provider(CreditCardProvider): 5 | pass 6 | -------------------------------------------------------------------------------- /src/libs/faker/providers/user_agent/en_US/__init__.py: -------------------------------------------------------------------------------- 1 | from .. import Provider as UserAgentProvider 2 | 3 | 4 | class Provider(UserAgentProvider): 5 | pass 6 | -------------------------------------------------------------------------------- /src/libs/faker/__main__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | if __name__ == "__main__": 4 | from faker.cli import execute_from_command_line 5 | execute_from_command_line() 6 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/de_CH/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from ..fr_CH import Provider as BaseProvider 3 | 4 | 5 | class Provider(BaseProvider): 6 | pass 7 | -------------------------------------------------------------------------------- /src/libs/faker/__init__.py: -------------------------------------------------------------------------------- 1 | from faker.generator import Generator # noqa F401 2 | from faker.factory import Factory # noqa F401 3 | 4 | VERSION = '1.0.7' 5 | 6 | Faker = Factory.create 7 | -------------------------------------------------------------------------------- /src/libs/faker/providers/bank/pl_PL/__init__.py: -------------------------------------------------------------------------------- 1 | from .. import Provider as BankProvider 2 | 3 | 4 | class Provider(BankProvider): 5 | bban_format = '#' * 26 6 | country_code = 'PL' 7 | -------------------------------------------------------------------------------- /src/libs/faker/providers/bank/nl_NL/__init__.py: -------------------------------------------------------------------------------- 1 | from .. import Provider as BankProvider 2 | 3 | 4 | class Provider(BankProvider): 5 | bban_format = '????##########' 6 | country_code = 'NL' 7 | -------------------------------------------------------------------------------- /src/libs/faker/providers/bank/no_NO/__init__.py: -------------------------------------------------------------------------------- 1 | from .. import Provider as BankProvider 2 | 3 | 4 | class Provider(BankProvider): 5 | bban_format = '###########' 6 | country_code = 'NO' 7 | -------------------------------------------------------------------------------- /src/libs/faker/providers/company/en_US/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as CompanyProvider 3 | 4 | 5 | class Provider(CompanyProvider): 6 | pass 7 | -------------------------------------------------------------------------------- /src/libs/faker/providers/bank/de_AT/__init__.py: -------------------------------------------------------------------------------- 1 | from .. import Provider as BankProvider 2 | 3 | 4 | class Provider(BankProvider): 5 | bban_format = '################' 6 | country_code = 'AT' 7 | -------------------------------------------------------------------------------- /src/libs/faker/providers/bank/de_DE/__init__.py: -------------------------------------------------------------------------------- 1 | from .. import Provider as BankProvider 2 | 3 | 4 | class Provider(BankProvider): 5 | bban_format = '##################' 6 | country_code = 'DE' 7 | -------------------------------------------------------------------------------- /src/libs/faker/providers/bank/en_GB/__init__.py: -------------------------------------------------------------------------------- 1 | from .. import Provider as BankProvider 2 | 3 | 4 | class Provider(BankProvider): 5 | bban_format = '????#############' 6 | country_code = 'GB' 7 | -------------------------------------------------------------------------------- /src/libs/faker/providers/bank/fr_FR/__init__.py: -------------------------------------------------------------------------------- 1 | from .. import Provider as BankProvider 2 | 3 | 4 | class Provider(BankProvider): 5 | bban_format = '########################' 6 | country_code = 'FR' 7 | -------------------------------------------------------------------------------- /src/libs/faker/providers/bank/it_IT/__init__.py: -------------------------------------------------------------------------------- 1 | from .. import Provider as BankProvider 2 | 3 | 4 | class Provider(BankProvider): 5 | bban_format = '?######################' 6 | country_code = 'IT' 7 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/en_US/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as InternetProvider 4 | 5 | 6 | class Provider(InternetProvider): 7 | pass 8 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/ru_RU/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as SsnProvider 4 | 5 | 6 | class Provider(SsnProvider): 7 | ssn_formats = ("############",) 8 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/es_CA/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from ..es_ES import Provider as BaseProvider 3 | 4 | 5 | class Provider(BaseProvider): 6 | """ 7 | A Faker provider for the Spanish VAT IDs and DOIs 8 | """ 9 | 10 | pass 11 | -------------------------------------------------------------------------------- /src/libs/dateutil/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | try: 3 | from ._version import version as __version__ 4 | except ImportError: 5 | __version__ = 'unknown' 6 | 7 | __all__ = ['easter', 'parser', 'relativedelta', 'rrule', 'tz', 8 | 'utils', 'zoneinfo'] 9 | -------------------------------------------------------------------------------- /src/libs/faker/providers/automotive/pt_BR/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | 4 | from .. import Provider as AutomotiveProvider 5 | 6 | 7 | class Provider(AutomotiveProvider): 8 | 9 | license_formats = ( 10 | '???-####', 11 | ) 12 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/th_TH/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | '+66 #### ####', 8 | '+668 #### ####', 9 | ) 10 | -------------------------------------------------------------------------------- /src/libs/faker/utils/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | 4 | def is_string(var): 5 | try: 6 | return isinstance(var, basestring) 7 | except NameError: 8 | return isinstance(var, str) 9 | 10 | 11 | def quote(var): 12 | return ('"{0}"' if '"' not in var else "'{0}'").format(var) 13 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/lt_LT/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | '+370 ########', 8 | '+(370) ########', 9 | '+370########', 10 | ) 11 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/lv_LV/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | '+371 ########', 8 | '+(371) ########', 9 | '+371########', 10 | ) 11 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/ko_KR/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as SsnProvider 4 | 5 | 6 | class Provider(SsnProvider): 7 | ssn_formats = ("##0#0#-1######", "##0#1#-1######", "##0#2#-1######", 8 | "##0#0#-2######", "##0#1#-2######", "##0#2#-2######") 9 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/zh_TW/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as SsnProvider 4 | 5 | 6 | class Provider(SsnProvider): 7 | ssn_formats = ("?#########",) 8 | 9 | def ssn(self): 10 | return self.bothify(self.random_element(self.ssn_formats)).upper() 11 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | 4 | from .. import BaseProvider 5 | 6 | localized = True 7 | 8 | 9 | class Provider(BaseProvider): 10 | ssn_formats = ("###-##-####",) 11 | 12 | def ssn(self): 13 | return self.bothify(self.random_element(self.ssn_formats)) 14 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/ja_JP/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as PhoneNumberProvider 4 | 5 | 6 | class Provider(PhoneNumberProvider): 7 | formats = ( 8 | '070-####-####', 9 | '080-####-####', 10 | '090-####-####', 11 | '##-####-####', 12 | ) 13 | -------------------------------------------------------------------------------- /src/libs/faker/providers/automotive/hu_HU/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | 4 | from __future__ import unicode_literals 5 | from .. import Provider as AutomotiveProvider 6 | 7 | 8 | class Provider(AutomotiveProvider): 9 | # from https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Hungary 10 | license_formats = ( 11 | '???-###', 12 | ) 13 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/hi_IN/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | '+91 ##########', 8 | '+91 ### #######', 9 | '0##-########', 10 | '0##########', 11 | '0#### ######', 12 | ) 13 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/ne_NP/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | '+977 ##########', 8 | '+977 ### #######', 9 | '984#######', 10 | '985#######', 11 | '980#######', 12 | ) 13 | -------------------------------------------------------------------------------- /src/libs/faker/providers/color/hu_HU/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from faker.providers import BaseProvider 4 | 5 | 6 | class Provider(BaseProvider): 7 | 8 | safe_colors = ( 9 | 'fekete', 'bordó', 'zöld', 'királykék', 'oliva', 10 | 'bíbor', 'kékeszöld', 'citromzöld', 'kék', 'ezüst', 11 | 'szürke', 'sárga', 'mályva', 'akvamarin', 'fehér', 12 | ) 13 | -------------------------------------------------------------------------------- /src/libs/faker/providers/company/sl_SI/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as CompanyProvider 3 | 4 | 5 | class Provider(CompanyProvider): 6 | formats = ( 7 | '{{last_name}} {{company_suffix}}', 8 | '{{first_name}} {{last_name}} s.p.', 9 | ) 10 | 11 | company_suffixes = ( 12 | 'd.o.o.', 'd.d.', 13 | ) 14 | -------------------------------------------------------------------------------- /src/libs/faker/providers/geo/de_AT/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as GeoProvider 5 | 6 | 7 | class Provider(GeoProvider): 8 | 9 | def local_latitude(self): 10 | return self.coordinate(center=47.60707, radius=1) 11 | 12 | def local_longitude(self): 13 | return self.coordinate(center=13.37208, radius=2) 14 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/pt_PT/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as InternetProvider 4 | 5 | 6 | class Provider(InternetProvider): 7 | safe_email_tlds = ('com', 'net', 'pt', 'pt') 8 | free_email_domains = ('gmail.com', 'hotmail.com', 'clix.pt', 'sapo.pt') 9 | tlds = ('com', 'com', 'com', 'net', 'org', 'pt', 'pt', 'pt') 10 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/fi_FI/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | '+358 ## #######', 8 | '+358 #########', 9 | '+358#########', 10 | '(+358) #########', 11 | '0#########', 12 | '0## ### ####', 13 | ) 14 | -------------------------------------------------------------------------------- /src/libs/faker/providers/automotive/en_GB/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as AutomotiveProvider 5 | 6 | 7 | class Provider(AutomotiveProvider): 8 | # from 9 | # https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_the_United_Kingdom 10 | license_formats = ( 11 | '??## ???', 12 | '??##???', 13 | ) 14 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/es_ES/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | '+34 ### ### ###', 8 | '+34 #########', 9 | '+34 ### ## ## ##', 10 | '+34### ### ###', 11 | '+34#########', 12 | '+34### ## ## ##', 13 | ) 14 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/hu_HU/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | '+36 ## ###-####', 8 | '(06)##/###-####', 9 | '(##)/###-####', 10 | '##/###-####', 11 | '##/### ####', 12 | '06-#/### ####', 13 | '06-##/### ####', 14 | ) 15 | -------------------------------------------------------------------------------- /src/libs/faker/providers/company/cs_CZ/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as CompanyProvider 3 | 4 | 5 | class Provider(CompanyProvider): 6 | formats = ( 7 | '{{last_name}} {{company_suffix}}', 8 | '{{last_name}} {{last_name}} {{company_suffix}}', 9 | '{{last_name}}', 10 | ) 11 | 12 | company_suffixes = ( 13 | 's.r.o.', 'o.s.', 'a.s.', 14 | ) 15 | -------------------------------------------------------------------------------- /src/libs/faker/providers/company/hr_HR/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as CompanyProvider 3 | 4 | 5 | class Provider(CompanyProvider): 6 | formats = ( 7 | '{{last_name}} {{company_suffix}}', 8 | '{{last_name}} {{last_name}} {{company_suffix}}', 9 | '{{last_name}}', 10 | ) 11 | 12 | company_suffixes = ( 13 | 'd.o.o.', 'd.d.', 'j.d.o.o.', 14 | ) 15 | -------------------------------------------------------------------------------- /src/libs/faker/config.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from importlib import import_module 3 | from faker.utils.loading import find_available_locales, find_available_providers 4 | 5 | DEFAULT_LOCALE = 'en_US' 6 | 7 | META_PROVIDERS_MODULES = [ 8 | 'faker.providers', 9 | ] 10 | 11 | PROVIDERS = find_available_providers( 12 | [import_module(path) for path in META_PROVIDERS_MODULES]) 13 | 14 | AVAILABLE_LOCALES = find_available_locales(PROVIDERS) 15 | -------------------------------------------------------------------------------- /src/libs/faker/providers/company/sk_SK/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as CompanyProvider 3 | 4 | 5 | class Provider(CompanyProvider): 6 | formats = ( 7 | '{{last_name}} {{company_suffix}}', 8 | '{{last_name}} {{last_name}} {{company_suffix}}', 9 | '{{last_name}}', 10 | ) 11 | 12 | company_suffixes = ( 13 | 's.r.o.', 'v.o.s.', 'a.s.', 'k.s.', 14 | ) 15 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/fa_IR/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as BaseProvider 4 | 5 | 6 | class Provider(BaseProvider): 7 | safe_email_tlds = ('com', 'net', 'ir', 'org') 8 | free_email_domains = ('chmail.ir', 'mailfa.com', 9 | 'gmail.com', 'hotmail.com', 'yahoo.com') 10 | tlds = ('com', 'com', 'com', 'net', 'org', 'ir', 'ir', 'ir') 11 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/fi_FI/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as InternetProvider 4 | 5 | 6 | class Provider(InternetProvider): 7 | 8 | free_email_domains = ( 9 | 'gmail.com', 'googlemail.com', 'hotmail.com', 'suomi24.fi', 10 | 'kolumbus.fi', 'luukku.com', 'surffi.net', 11 | ) 12 | 13 | tlds = ('com', 'com', 'com', 'fi', 'fi', 'net', 'org') 14 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/ko_KR/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as InternetProvider 4 | 5 | 6 | class Provider(InternetProvider): 7 | 8 | free_email_domains = ( 9 | 'gmail.com', 'daum.net', 'hotmail.com', 'hanmail.net', 10 | 'naver.com', 'nate.com', 'live.com', 'dreamwiz.com', 11 | ) 12 | tlds = ('com', 'com', 'com', 'kr', 'kr', 'net', 'org') 13 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/it_IT/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | '+39 ### ## ## ####', 8 | '+39 ## #######', 9 | '+39 ## ########', 10 | '+39 ### #######', 11 | '+39 ### ########', 12 | '+39 #### #######', 13 | '+39 #### ########', 14 | ) 15 | -------------------------------------------------------------------------------- /src/libs/faker/providers/company/sv_SE/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as CompanyProvider 5 | 6 | 7 | class Provider(CompanyProvider): 8 | formats = ( 9 | '{{last_name}} {{company_suffix}}', 10 | '{{last_name}} {{last_name}} {{company_suffix}}', 11 | '{{last_name}} & {{last_name}} {{company_suffix}}', 12 | ) 13 | 14 | company_suffixes = ( 15 | 'AB', 'HB', 16 | ) 17 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/dk_DK/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from .. import Provider as BaseProvider 3 | 4 | 5 | class Provider(BaseProvider): 6 | """ 7 | A Faker provider for the Danish VAT IDs 8 | """ 9 | 10 | vat_id_formats = ( 11 | 'DK########', 12 | ) 13 | 14 | def vat_id(self): 15 | """ 16 | Returns a random generated Danish Tax ID 17 | """ 18 | 19 | return self.bothify(self.random_element(self.vat_id_formats)) 20 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/no_NO/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | '+47########', 8 | '+47 ## ## ## ##', 9 | '## ## ## ##', 10 | '## ## ## ##', 11 | '########', 12 | '########', 13 | '9## ## ###', 14 | '4## ## ###', 15 | '9#######', 16 | '4#######', 17 | ) 18 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/uk_UA/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as PhoneNumberProvider 4 | 5 | 6 | class Provider(PhoneNumberProvider): 7 | formats = ( 8 | '###-##-##', 9 | '### ## ##', 10 | '0## ### ## ##', 11 | '0## ###-##-##', 12 | '+38 0## ###-##-##', 13 | '+38 0## ###-##-##', 14 | '+38 (0##) ###-##-##', 15 | '+38 0## ### ## ##', 16 | ) 17 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/el_CY/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from .. import Provider as BaseProvider 3 | 4 | 5 | class Provider(BaseProvider): 6 | """ 7 | A Faker provider for the Cypriot VAT IDs 8 | """ 9 | 10 | vat_id_formats = ( 11 | 'CY#########?', 12 | ) 13 | 14 | def vat_id(self): 15 | """ 16 | Returns a random generated Cypriot Tax ID 17 | """ 18 | 19 | return self.bothify(self.random_element(self.vat_id_formats)) 20 | -------------------------------------------------------------------------------- /src/libs/faker/providers/automotive/id_ID/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as AutomotiveProvider 5 | 6 | 7 | class Provider(AutomotiveProvider): 8 | # Currently this is my own work 9 | license_formats = ( 10 | '? ### ??', 11 | '? ### ???', 12 | '?? ### ??', 13 | '?? ### ???', 14 | '? #### ??', 15 | '? #### ???', 16 | '?? #### ??', 17 | '?? #### ???', 18 | ) 19 | -------------------------------------------------------------------------------- /src/libs/faker/providers/automotive/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from .. import BaseProvider 4 | from string import ascii_uppercase 5 | import re 6 | 7 | localized = True 8 | 9 | 10 | class Provider(BaseProvider): 11 | license_formats = () 12 | 13 | def license_plate(self): 14 | temp = re.sub(r'\?', 15 | lambda x: self.random_element(ascii_uppercase), 16 | self.random_element(self.license_formats)) 17 | return self.numerify(temp) 18 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/en_CA/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | '%##-###-####', 8 | '%##.###.####', 9 | '%## ### ####', 10 | '(%##) ###-####', 11 | '1-%##-###-####', 12 | '1 (%##) ###-####', 13 | '+1 (%##) ###-####', 14 | '%##-###-#### x###', 15 | '(%##) ###-#### x###', 16 | ) 17 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/tr_TR/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | '+90(###)#######', 8 | '+90 (###) #######', 9 | '0### ### ## ##', 10 | '0##########', 11 | '0###-### ####', 12 | '(###)### ####', 13 | '### # ###', 14 | '+90(###)###-####x###', 15 | '+90(###)###-####x####', 16 | ) 17 | -------------------------------------------------------------------------------- /src/libs/faker/providers/automotive/sv_SE/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | 4 | from __future__ import unicode_literals 5 | from .. import Provider as AutomotiveProvider 6 | 7 | 8 | class Provider(AutomotiveProvider): 9 | # Source: https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Sweden 10 | # New possible format: https://goo.gl/gSjsnV 11 | license_formats = ( 12 | # Classic format 13 | '??? ###', 14 | # New possible format 15 | '??? ##?', 16 | ) 17 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/en_AU/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as InternetProvider 4 | 5 | 6 | class Provider(InternetProvider): 7 | 8 | free_email_domains = ( 9 | 'gmail.com', 10 | 'yahoo.com', 11 | 'hotmail.com', 12 | 'yahoo.com.au', 13 | 'hotmail.com.au', 14 | ) 15 | 16 | tlds = ('com', 'com.au', 'org', 'org.au', 'net', 17 | 'net.au', 'biz', 'info', 'edu', 'edu.au') 18 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/__init__.py: -------------------------------------------------------------------------------- 1 | from .. import BaseProvider 2 | 3 | localized = True 4 | 5 | 6 | class Provider(BaseProvider): 7 | formats = ('###-###-###',) 8 | 9 | msisdn_formats = ( 10 | '#############', 11 | ) 12 | 13 | def phone_number(self): 14 | return self.numerify(self.random_element(self.formats)) 15 | 16 | def msisdn(self): 17 | """ https://en.wikipedia.org/wiki/MSISDN """ 18 | return self.numerify(self.random_element(self.msisdn_formats)) 19 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/sl_SI/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | '040 ### ###', 8 | '041 ### ###', 9 | '031 ### ###', 10 | '030 ### ###', 11 | '070 ### ###', 12 | '01 #### ###', 13 | '02 #### ###', 14 | '04 #### ###', 15 | '05 #### ###', 16 | '06 #### ###', 17 | '08 #### ###', 18 | ) 19 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/cs_CZ/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from .. import Provider as BaseProvider 3 | 4 | 5 | class Provider(BaseProvider): 6 | vat_id_formats = ( 7 | 'CZ########', 8 | 'CZ#########', 9 | 'CZ##########', 10 | ) 11 | 12 | def vat_id(self): 13 | """ 14 | http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 15 | :return: A random Czech VAT ID 16 | """ 17 | 18 | return self.bothify(self.random_element(self.vat_id_formats)) 19 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/ru_RU/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | '+7 ### ### ####', 8 | '+7 ### ### ## ##', 9 | '+7 (###) ###-##-##', 10 | '+7 (###) ###-####', 11 | '+7##########', 12 | '8 ### ### ####', 13 | '8 ### ### ## ##', 14 | '8 (###) ###-##-##', 15 | '8 (###) ###-####', 16 | '8##########', 17 | ) 18 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/zh_TW/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as PhoneNumberProvider 4 | 5 | # phone number from https://en.wikipedia.org/wiki/Telephone_numbers_in_Taiwan 6 | 7 | 8 | class Provider(PhoneNumberProvider): 9 | formats = ("(0#) %#######", 10 | "0#-%#######", 11 | "0## %#######", 12 | "09########", 13 | "09##-######", 14 | "0#-%######", 15 | "0# %######") 16 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/sk_SK/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | '+421 2 ########', 8 | '+421 3# ### ####', 9 | '+421 4# ### ####', 10 | '+421 5# ### ####', 11 | '+421 90# ### ###', 12 | '+421 91# ### ###', 13 | '+421 940 ### ###', 14 | '+421 944 ### ###', 15 | '+421 948 ### ###', 16 | '+421 949 ### ###', 17 | ) 18 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/de_AT/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as InternetProvider 5 | 6 | 7 | class Provider(InternetProvider): 8 | 9 | free_email_domains = ( 10 | 'chello.at', 'gmail.com', 'gmx.at', 'kabsi.at', 11 | ) 12 | tlds = ('at', 'co.at', 'com', 'net', 'org') 13 | 14 | replacements = ( 15 | ('ä', 'ae'), ('Ä', 'Ae'), 16 | ('ö', 'oe'), ('Ö', 'Oe'), 17 | ('ü', 'ue'), ('Ü', 'Ue'), 18 | ('ß', 'ss'), 19 | ) 20 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/de_DE/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from .. import Provider as BaseProvider 3 | 4 | 5 | class Provider(BaseProvider): 6 | """ 7 | A Faker provider for the German VAT IDs 8 | """ 9 | 10 | vat_id_formats = ( 11 | 'DE#########', 12 | ) 13 | 14 | def vat_id(self): 15 | """ 16 | http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 17 | :return: A random German VAT ID 18 | """ 19 | 20 | return self.bothify(self.random_element(self.vat_id_formats)) 21 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/el_GR/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from .. import Provider as BaseProvider 3 | 4 | 5 | class Provider(BaseProvider): 6 | """ 7 | A Faker provider for the Greek VAT IDs 8 | """ 9 | 10 | vat_id_formats = ( 11 | 'EL#########', 12 | ) 13 | 14 | def vat_id(self): 15 | """ 16 | http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 17 | :return: a random Greek VAT ID 18 | """ 19 | 20 | return self.bothify(self.random_element(self.vat_id_formats)) 21 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/mt_MT/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from .. import Provider as BaseProvider 3 | 4 | 5 | class Provider(BaseProvider): 6 | """ 7 | A Faker provider for the Maltese VAT IDs 8 | """ 9 | 10 | vat_id_formats = ( 11 | 'MT########', 12 | ) 13 | 14 | def vat_id(self): 15 | """ 16 | http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 17 | :return: A random Maltese VAT ID 18 | """ 19 | 20 | return self.bothify(self.random_element(self.vat_id_formats)) 21 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/sv_SE/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as PhoneNumberProvider 5 | 6 | 7 | class Provider(PhoneNumberProvider): 8 | formats = ( 9 | '+46 (0)8 ### ### ##', 10 | '+46 (0)## ## ## ##', 11 | '+46 (0)### ### ##', 12 | '08-### ### ##', 13 | '08-### ## ##', 14 | '08-## ## ##', 15 | '0##-### ## ##', 16 | '0##-## ## ##', 17 | '0###-## ## ##', 18 | '0###-### ##', 19 | ) 20 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/de_AT/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from .. import Provider as BaseProvider 3 | 4 | 5 | class Provider(BaseProvider): 6 | """ 7 | A Faker provider for the Austrian VAT IDs 8 | """ 9 | 10 | vat_id_formats = ( 11 | 'ATU########', 12 | ) 13 | 14 | def vat_id(self): 15 | """ 16 | http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 17 | :return: a random Austrian VAT ID 18 | """ 19 | 20 | return self.bothify(self.random_element(self.vat_id_formats)) 21 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/lv_LV/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from .. import Provider as BaseProvider 3 | 4 | 5 | class Provider(BaseProvider): 6 | """ 7 | A Faker provider for the Latvian VAT IDs 8 | """ 9 | 10 | vat_id_formats = ( 11 | 'LV###########', 12 | ) 13 | 14 | def vat_id(self): 15 | """ 16 | http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 17 | :return: a random Latvian VAT ID 18 | """ 19 | 20 | return self.bothify(self.random_element(self.vat_id_formats)) 21 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/sl_SI/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from .. import Provider as BaseProvider 3 | 4 | 5 | class Provider(BaseProvider): 6 | """ 7 | A Faker provider for the Slovenian VAT IDs 8 | """ 9 | 10 | vat_id_formats = ( 11 | 'SI########', 12 | ) 13 | 14 | def vat_id(self): 15 | """ 16 | http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 17 | :return: a random Slovenian VAT ID 18 | """ 19 | 20 | return self.bothify(self.random_element(self.vat_id_formats)) 21 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/no_NO/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as InternetProvider 4 | 5 | 6 | class Provider(InternetProvider): 7 | 8 | tlds = ('com', 'com', 'com', 'net', 'org', 'no', 'no', 'no', 'no', 'no') 9 | 10 | replacements = ( 11 | ('æ', 'ae'), ('Æ', 'Ae'), 12 | ('ø', 'oe'), ('Ø', 'Oe'), 13 | ('å', 'aa'), ('Å', 'Aa'), 14 | ('ä', 'ae'), ('Ä', 'Ae'), 15 | ('ö', 'oe'), ('Ö', 'Oe'), 16 | ('ü', 'ue'), ('Ü', 'Ue'), 17 | ) 18 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/pt_PT/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from .. import Provider as BaseProvider 3 | 4 | 5 | class Provider(BaseProvider): 6 | """ 7 | A Faker provider for the Portuguese VAT IDs 8 | """ 9 | 10 | vat_id_formats = ( 11 | 'PT#########', 12 | ) 13 | 14 | def vat_id(self): 15 | """ 16 | http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 17 | :return: A random Portuguese VAT ID 18 | """ 19 | 20 | return self.bothify(self.random_element(self.vat_id_formats)) 21 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/sk_SK/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from .. import Provider as BaseProvider 3 | 4 | 5 | class Provider(BaseProvider): 6 | """ 7 | A Faker provider for the Slovakian VAT IDs 8 | """ 9 | 10 | vat_id_formats = ( 11 | 'SK##########', 12 | ) 13 | 14 | def vat_id(self): 15 | """ 16 | http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 17 | :return: a random Slovakian VAT ID 18 | """ 19 | 20 | return self.bothify(self.random_element(self.vat_id_formats)) 21 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/lb_LU/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from .. import Provider as BaseProvider 3 | 4 | 5 | class Provider(BaseProvider): 6 | """ 7 | A Faker provider for the Luxembourgish VAT IDs 8 | """ 9 | 10 | vat_id_formats = ( 11 | 'LU########', 12 | ) 13 | 14 | def vat_id(self): 15 | """ 16 | http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 17 | :return: a random Luxembourgish VAT ID 18 | """ 19 | 20 | return self.bothify(self.random_element(self.vat_id_formats)) 21 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/bg_BG/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as PhoneNumberProvider 4 | 5 | 6 | class Provider(PhoneNumberProvider): 7 | formats = ( 8 | '+359(0)#########', 9 | '+359(0)### ######', 10 | '+359(0)### ### ###', 11 | '+359#########', 12 | '0#########', 13 | '0### ######', 14 | '0### ### ###', 15 | '0### ###-###', 16 | '(0###) ######', 17 | '(0###) ### ###', 18 | '(0###) ###-###', 19 | ) 20 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/id_ID/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as InternetProvider 4 | 5 | 6 | class Provider(InternetProvider): 7 | tlds = ( 8 | # From https://en.wikipedia.org/wiki/List_of_Internet_top-level_domains 9 | 'com', 'org', 'net', 'int', 'edu', 'gov', 'mil', 10 | 11 | # From https://id.wikipedia.org/wiki/.id 12 | 'id', 'ac.id', 'biz.id', 'co.id', 'desa.id', 'go.id', 'mil.id', 13 | 'my.id', 'net.id', 'or.id', 'ponpes.id', 'sch.id', 'web.id', 14 | ) 15 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/dk_DK/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as PhoneNumberProvider 5 | 6 | 7 | class Provider(PhoneNumberProvider): 8 | formats = ( 9 | '+45(0)##########', 10 | '+45(0)#### ######', 11 | '+45 (0) #### ######', 12 | '+45(0) #########', 13 | '+45(0)#### #####', 14 | '0##########', 15 | '0#########', 16 | '0#### ######', 17 | '0#### #####', 18 | '(0####) ######', 19 | '(0####) #####', 20 | ) 21 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/bg_BG/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from .. import Provider as BaseProvider 3 | 4 | 5 | class Provider(BaseProvider): 6 | """ 7 | A Faker provider for the Bulgarian VAT IDs 8 | """ 9 | 10 | vat_id_formats = ( 11 | 'BG#########', 12 | 'BG##########', 13 | ) 14 | 15 | def vat_id(self): 16 | """ 17 | http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 18 | :return: A random Bulgarian VAT ID 19 | """ 20 | 21 | return self.bothify(self.random_element(self.vat_id_formats)) 22 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/lt_LT/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from .. import Provider as BaseProvider 3 | 4 | 5 | class Provider(BaseProvider): 6 | """ 7 | A Faker provider for the Lithuanian VAT IDs 8 | """ 9 | 10 | vat_id_formats = ( 11 | 'LT#########', 12 | 'LT############', 13 | ) 14 | 15 | def vat_id(self): 16 | """ 17 | http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 18 | :return: a random Lithuanian VAT ID 19 | """ 20 | 21 | return self.bothify(self.random_element(self.vat_id_formats)) 22 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/sv_SE/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as InternetProvider 5 | 6 | 7 | class Provider(InternetProvider): 8 | 9 | free_email_domains = ( 10 | 'telia.com', 'gmail.com', 'swipnet.se', 'googlemail.com', 'live.se', 11 | 'spray.se', 'yahoo.de', 12 | ) 13 | tlds = ('com', 'com', 'com', 'se', 'se', 'se', 'net', 'org') 14 | 15 | replacements = ( 16 | ('å', 'a'), ('Å', 'A'), 17 | ('ä', 'a'), ('Ä', 'A'), 18 | ('ö', 'o'), ('Ö', 'O'), 19 | ) 20 | -------------------------------------------------------------------------------- /src/libs/faker/providers/date_time/ar_EG/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | 4 | 5 | from ..ar_AA import Provider as ArabicDateTimeProvider 6 | 7 | 8 | class Provider(ArabicDateTimeProvider): 9 | MONTH_NAMES = { 10 | '01': 'يناير', 11 | '02': 'فبراير', 12 | '03': 'مارس', 13 | '04': 'أبريل', 14 | '05': 'مايو', 15 | '06': 'يونيو', 16 | '07': 'يوليو', 17 | '08': 'أغسطس', 18 | '09': 'سبتمبر', 19 | '10': 'أكتوبر', 20 | '11': 'نوفمبر', 21 | '12': 'ديسمبر', 22 | } 23 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/en_IE/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from .. import Provider as BaseProvider 3 | 4 | 5 | class Provider(BaseProvider): 6 | """ 7 | A Faker provider for the Irish VAT IDs 8 | """ 9 | 10 | vat_id_formats = ( 11 | 'IE#?#####?', 12 | 'IE#######?', 13 | 'IE#######??', 14 | ) 15 | 16 | def vat_id(self): 17 | """ 18 | http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 19 | :return: a random Irish VAT ID 20 | """ 21 | 22 | return self.bothify(self.random_element(self.vat_id_formats)) 23 | -------------------------------------------------------------------------------- /src/libs/text_unidecode/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import absolute_import, unicode_literals 3 | import os 4 | import pkgutil 5 | 6 | _replaces = pkgutil.get_data(__name__, 'data.bin').decode('utf8').split('\x00') 7 | 8 | def unidecode(txt): 9 | chars = [] 10 | for ch in txt: 11 | codepoint = ord(ch) 12 | 13 | if not codepoint: 14 | chars.append('\x00') 15 | continue 16 | 17 | try: 18 | chars.append(_replaces[codepoint-1]) 19 | except IndexError: 20 | pass 21 | return "".join(chars) 22 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/hy_AM/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | 7 | # Source: https://en.wikipedia.org/wiki/Telephone_numbers_in_Armenia 8 | formats = ( 9 | '2##-#####', 10 | '3##-#####', 11 | '(2##) #####', 12 | '(3##) #####', 13 | '2##.#####', 14 | '3##.#####', 15 | '10-######', 16 | '(10) ######', 17 | '10.######', 18 | '9#-######', 19 | '(9#) ######', 20 | '9#.######', 21 | ) 22 | -------------------------------------------------------------------------------- /src/libs/faker/utils/datasets.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from collections import Counter 4 | from functools import reduce 5 | import operator 6 | 7 | 8 | def add_dicts(*args): 9 | """ 10 | Adds two or more dicts together. Common keys will have their values added. 11 | 12 | For example:: 13 | 14 | >>> t1 = {'a':1, 'b':2} 15 | >>> t2 = {'b':1, 'c':3} 16 | >>> t3 = {'d':4} 17 | 18 | >>> add_dicts(t1, t2, t3) 19 | {'a': 1, 'c': 3, 'b': 3, 'd': 4} 20 | 21 | """ 22 | 23 | counters = [Counter(arg) for arg in args] 24 | return dict(reduce(operator.add, counters)) 25 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/en_NZ/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as InternetProvider 4 | 5 | 6 | class Provider(InternetProvider): 7 | 8 | free_email_domains = ( 9 | 'gmail.com', 10 | 'yahoo.com', 11 | 'hotmail.com', 12 | 'inspire.net.nz', 13 | 'xtra.co.nz', 14 | ) 15 | 16 | tlds = ( 17 | 'nz', 18 | 'co.nz', 19 | 'org.nz', 20 | 'kiwi', 21 | 'kiwi.nz', 22 | 'geek.nz', 23 | 'net.nz', 24 | 'school.nz', 25 | 'ac.nz', 26 | 'maori.nz', 27 | ) 28 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/fr_FR/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from .. import Provider as BaseProvider 3 | 4 | 5 | class Provider(BaseProvider): 6 | """ 7 | A Faker provider for the French VAT IDs 8 | """ 9 | 10 | vat_id_formats = ( 11 | 'FR?? #########', 12 | 'FR## #########', 13 | 'FR?# #########', 14 | 'FR#? #########', 15 | ) 16 | 17 | def vat_id(self): 18 | """ 19 | http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 20 | :return: a random French VAT ID 21 | """ 22 | 23 | return self.bothify(self.random_element(self.vat_id_formats)) 24 | -------------------------------------------------------------------------------- /src/libs/dateutil/tz/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from .tz import * 3 | from .tz import __doc__ 4 | 5 | #: Convenience constant providing a :class:`tzutc()` instance 6 | #: 7 | #: .. versionadded:: 2.7.0 8 | UTC = tzutc() 9 | 10 | __all__ = ["tzutc", "tzoffset", "tzlocal", "tzfile", "tzrange", 11 | "tzstr", "tzical", "tzwin", "tzwinlocal", "gettz", 12 | "enfold", "datetime_ambiguous", "datetime_exists", 13 | "resolve_imaginary", "UTC", "DeprecatedTzFormatWarning"] 14 | 15 | 16 | class DeprecatedTzFormatWarning(Warning): 17 | """Warning raised when time zones are parsed from deprecated formats.""" 18 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/de_DE/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as PhoneNumberProvider 5 | 6 | 7 | class Provider(PhoneNumberProvider): 8 | # https://de.wikipedia.org/wiki/Rufnummer#Schreibweisen 9 | formats = ( 10 | '+49(0)##########', 11 | '+49(0)#### ######', 12 | '+49 (0) #### ######', 13 | '+49(0) #########', 14 | '+49(0)#### #####', 15 | '0##########', 16 | '0#########', 17 | '0#### ######', 18 | '0#### #####', 19 | '(0####) ######', 20 | '(0####) #####', 21 | ) 22 | -------------------------------------------------------------------------------- /src/libs/faker/providers/company/bg_BG/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as CompanyProvider 4 | 5 | 6 | class Provider(CompanyProvider): 7 | formats = ( 8 | '{{last_name}} {{company_suffix}}', 9 | '{{last_name}} {{last_name}} {{company_suffix}}', 10 | '{{last_name}}', 11 | ) 12 | 13 | company_suffixes = ( 14 | 'АД', 'AD', 15 | 'ADSITz', 'АДСИЦ', 16 | 'EAD', 'ЕАД', 17 | 'EOOD', 'ЕООД', 18 | 'ET', 'ET', 19 | 'OOD', 'ООД', 20 | 'KD', 'КД', 21 | 'KDA', 'КДА', 22 | 'SD', 'СД', 23 | ) 24 | -------------------------------------------------------------------------------- /src/libs/faker/providers/company/hu_HU/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as CompanyProvider 5 | 6 | 7 | class Provider(CompanyProvider): 8 | formats = ( 9 | '{{last_name}} {{company_suffix}}', 10 | '{{last_name}} {{last_name}} {{company_suffix}}', 11 | '{{last_name}} és {{last_name}} {{company_suffix}}', 12 | '{{last_name}} és társa {{company_suffix}}', 13 | ) 14 | 15 | company_suffixes = ('Kft.', 'Kht.', 'Zrt.', 'Bt.', 'Nyrt.', 'Kkt.') 16 | 17 | def company_suffix(self): 18 | return self.random_element(self.company_suffixes) 19 | -------------------------------------------------------------------------------- /src/libs/faker/providers/company/no_NO/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as CompanyProvider 4 | 5 | 6 | class Provider(CompanyProvider): 7 | formats = [ 8 | '{{last_name}} {{company_suffix}}', 9 | '{{last_name}} {{company_suffix}}', 10 | '{{last_name}} {{company_suffix}}', 11 | '{{last_name}}-{{last_name}} {{company_suffix}}', 12 | '{{last_name}}, {{last_name}} og {{last_name}}', 13 | '{{last_name}}-{{last_name}}', 14 | ] 15 | 16 | company_suffixes = [ 17 | 'Gruppen', 'AS', 'ASA', 'BA', 'RFH', 'og Sønner', '& co.', 18 | ] 19 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/he_IL/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | '02#######', 8 | '02-####-###', 9 | '03#######', 10 | '03-####-###', 11 | '04#######', 12 | '04-####-###', 13 | '08#######', 14 | '08-####-###', 15 | '09#######', 16 | '09-####-###', 17 | '05#-###-####', 18 | '05# ###-####', 19 | '05# ### ####', 20 | '05#-#######', 21 | '05# #######', 22 | '05########', 23 | ) 24 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/zh_CN/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as PhoneNumberProvider 4 | 5 | 6 | class Provider(PhoneNumberProvider): 7 | phonenumber_prefixes = [134, 135, 136, 137, 138, 139, 147, 150, 8 | 151, 152, 157, 158, 159, 182, 187, 188, 9 | 130, 131, 132, 145, 155, 156, 185, 186, 10 | 145, 133, 153, 180, 181, 189] 11 | formats = [str(i) + "########" for i in phonenumber_prefixes] 12 | 13 | def phonenumber_prefix(self): 14 | return self.random_element(self.phonenumber_prefixes) 15 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/bs_BA/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as InternetProvider 4 | 5 | 6 | class Provider(InternetProvider): 7 | 8 | free_email_domains = ( 9 | 'gmail.com', 'hotmail.com', 'yahoo.com', 'outlook.com', 10 | 'bih.net.ba', 'tel.net.ba', 11 | ) 12 | 13 | tlds = ('ba', 'com.ba', 'org.ba', 'net.ba', 'gov.ba', 'edu.ba', 'unsa.ba') 14 | 15 | replacements = ( 16 | ('č', 'c'), ('Č', 'C'), 17 | ('ć', 'c'), ('Ć', 'C'), 18 | ('đ', 'dj'), ('Đ', 'Dj'), 19 | ('š', 's'), ('Š', 'S'), 20 | ('ž', 'z'), ('Ž', 'Z'), 21 | ) 22 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/ja_JP/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as InternetProvider 4 | from faker.utils.decorators import slugify 5 | 6 | 7 | class Provider(InternetProvider): 8 | user_name_formats = ( 9 | '{{last_romanized_name}}.{{first_romanized_name}}', 10 | '{{first_romanized_name}}.{{last_romanized_name}}', 11 | '{{first_romanized_name}}##', 12 | '?{{last_romanized_name}}', 13 | ) 14 | tlds = ('com', 'com', 'com', 'net', 'org', 'jp', 'jp', 'jp') 15 | 16 | @slugify 17 | def domain_word(self): 18 | return self.generator.format('last_romanized_name') 19 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/zh_TW/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as InternetProvider 4 | from faker.utils.decorators import slugify 5 | 6 | 7 | class Provider(InternetProvider): 8 | user_name_formats = ( 9 | '{{last_romanized_name}}.{{first_romanized_name}}', 10 | '{{first_romanized_name}}.{{last_romanized_name}}', 11 | '{{first_romanized_name}}##', 12 | '?{{last_romanized_name}}', 13 | ) 14 | tlds = ('com', 'com', 'com', 'net', 'org', 'tw', 'tw', 'tw') 15 | 16 | @slugify 17 | def domain_word(self): 18 | return self.generator.format('last_romanized_name') 19 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/de_DE/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as InternetProvider 5 | 6 | 7 | class Provider(InternetProvider): 8 | 9 | free_email_domains = ( 10 | 'aol.de', 'gmail.com', 'gmx.de', 'googlemail.com', 'hotmail.de', 11 | 'web.de', 'yahoo.de', 12 | ) 13 | tlds = ('com', 'com', 'com', 'net', 'org', 'de', 'de', 'de') 14 | 15 | replacements = ( 16 | ('ä', 'ae'), ('Ä', 'Ae'), 17 | ('ö', 'oe'), ('Ö', 'Oe'), 18 | ('ü', 'ue'), ('Ü', 'Ue'), 19 | ('é', 'e'), ('É', 'E'), 20 | ('à', 'a'), ('À', 'A'), 21 | ('ß', 'ss'), 22 | ) 23 | -------------------------------------------------------------------------------- /src/libs/faker/providers/company/ru_RU/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as CompanyProvider 5 | 6 | 7 | class Provider(CompanyProvider): 8 | formats = ( 9 | '{{company_prefix}} «{{last_name}}»', 10 | '{{company_prefix}} «{{last_name}} {{last_name}}»', 11 | '{{company_prefix}} «{{last_name}}-{{last_name}}»', 12 | '{{company_prefix}} «{{last_name}}, {{last_name}} и {{last_name}}»', 13 | '{{last_name}}', 14 | ) 15 | 16 | company_prefixes = ( 17 | 'РАО', 'АО', 'ИП', 'НПО', 18 | ) 19 | 20 | def company_prefix(self): 21 | return self.random_element(self.company_prefixes) 22 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/nl_BE/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as PhoneNumberProvider 5 | 6 | 7 | class Provider(PhoneNumberProvider): 8 | formats = ( 9 | '0### ######', 10 | '0## #######', 11 | '+32### ######', 12 | '+32## #######', 13 | '+32(0)### ######', 14 | '+32(0)## #######', 15 | '(0###) ######', 16 | '(0##) #######', 17 | '0###-######', 18 | '0##-#######', 19 | '+32###-######', 20 | '+32##-#######', 21 | '+32(0)###-######', 22 | '+32(0)##-#######', 23 | '(0###)-######', 24 | '(0##)-#######', 25 | ) 26 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/nl_NL/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as PhoneNumberProvider 5 | 6 | 7 | class Provider(PhoneNumberProvider): 8 | formats = ( 9 | '0### ######', 10 | '0## #######', 11 | '+31### ######', 12 | '+31## #######', 13 | '+31(0)### ######', 14 | '+31(0)## #######', 15 | '(0###) ######', 16 | '(0##) #######', 17 | '0###-######', 18 | '0##-#######', 19 | '+31###-######', 20 | '+31##-#######', 21 | '+31(0)###-######', 22 | '+31(0)##-#######', 23 | '(0###)-######', 24 | '(0##)-#######', 25 | ) 26 | -------------------------------------------------------------------------------- /src/libs/faker/providers/company/ja_JP/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as CompanyProvider 4 | 5 | 6 | class Provider(CompanyProvider): 7 | formats = ( 8 | '{{company_prefix}}{{last_name}}{{company_category}}', 9 | '{{last_name}}{{company_category}}{{company_prefix}}', 10 | ) 11 | 12 | company_prefixes = ('株式会社', '有限会社', '合同会社') 13 | company_categories = ('水産', '農林', '鉱業', '建設', '食品', '印刷', '電気', 'ガス', '情報', '通信', '運輸', '銀行', '保険') 14 | 15 | def company_prefix(self): 16 | return self.random_element(self.company_prefixes) 17 | 18 | def company_category(self): 19 | return self.random_element(self.company_categories) 20 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/hr_HR/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as InternetProvider 4 | 5 | 6 | class Provider(InternetProvider): 7 | 8 | free_email_domains = ( 9 | 'gmail.com', 'hotmail.com', 'yahoo.com', 10 | 'net.hr', 'zg.t-com.hr', 'inet.hr', 't.ht.hr', 'vip.hr', 11 | 'globalnet.hr', 'xnet.hr', 'yahoo.hr', 'zagreb.hr', 12 | ) 13 | 14 | tlds = ('hr', 'com', 'com.hr', 'info', 'org', 'net', 'biz') 15 | 16 | replacements = ( 17 | ('č', 'c'), ('Č', 'C'), 18 | ('ć', 'c'), ('Ć', 'C'), 19 | ('đ', 'dj'), ('Đ', 'Dj'), 20 | ('š', 's'), ('Š', 'S'), 21 | ('ž', 'z'), ('Ž', 'Z'), 22 | ) 23 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/el_GR/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | '69########', 8 | '69## ######', 9 | '69## ### ###', 10 | 11 | '210#######', 12 | '210 #######', 13 | '210 ### ####', 14 | 15 | '2##0######', 16 | '2##0 ######', 17 | '2##0 ### ###', 18 | 19 | '2###0#####', 20 | '2###0 ## ###', 21 | 22 | '(+30) 69## ######', 23 | '+30 69## ######', 24 | '+3069########', 25 | '(+30) 2### ######', 26 | '+30 2### ######', 27 | '+302#########', 28 | ) 29 | -------------------------------------------------------------------------------- /src/libs/faker/compat.py: -------------------------------------------------------------------------------- 1 | try: 2 | from inspect import getfullargspec as _getargspec 3 | except ImportError: 4 | from inspect import getargspec as _getargspec 5 | 6 | 7 | class getargspec(object): 8 | def __init__(self, method): 9 | self.argspec = _getargspec(method) 10 | 11 | @property 12 | def args(self): 13 | return self.argspec.args 14 | 15 | @property 16 | def varargs(self): 17 | return self.argspec.varargs 18 | 19 | @property 20 | def varkw(self): 21 | if hasattr(self.argspec, 'keywords'): 22 | return self.argspec.keywords 23 | return self.argspec.varkw 24 | 25 | @property 26 | def defaults(self): 27 | return self.argspec.defaults 28 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/pl_PL/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | 4 | from .. import Provider as InternetProvider 5 | 6 | 7 | class Provider(InternetProvider): 8 | 9 | free_email_domains = ( 10 | 'onet.pl', 11 | 'interia.pl', 12 | 'gmail.com', 13 | 'o2.pl', 14 | 'yahoo.com', 15 | 'hotmail.com', 16 | ) 17 | 18 | tlds = ('com', 'com', 'com', 'net', 'org', 'pl', 'pl', 'pl') 19 | 20 | replacements = ( 21 | ('ą', 'a'), 22 | ('ć', 'c'), 23 | ('ę', 'e'), 24 | ('ł', 'l'), 25 | ('ń', 'n'), 26 | ('ó', 'o'), 27 | ('ś', 's'), 28 | ('ź', 'z'), 29 | ('ż', 'z'), 30 | ) 31 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/ro_RO/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from .. import Provider as BaseProvider 3 | 4 | 5 | class Provider(BaseProvider): 6 | """ 7 | A Faker provider for the Romanian VAT IDs 8 | """ 9 | 10 | vat_id_formats = ( 11 | 'RO##', 12 | 'RO###', 13 | 'RO####', 14 | 'RO#####', 15 | 'RO######', 16 | 'RO#######', 17 | 'RO########', 18 | 'RO#########', 19 | 'RO##########', 20 | ) 21 | 22 | def vat_id(self): 23 | """ 24 | http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 25 | :return: A random Romanian VAT ID 26 | """ 27 | 28 | return self.bothify(self.random_element(self.vat_id_formats)) 29 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/pt_BR/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as InternetProvider 4 | 5 | 6 | class Provider(InternetProvider): 7 | safe_email_tlds = ('com', 'net', 'br', 'br') 8 | free_email_domains = ( 9 | 'gmail.com', 10 | 'hotmail.com', 11 | 'yahoo.com.br', 12 | 'uol.com.br', 13 | 'bol.com.br', 14 | 'ig.com.br') 15 | tlds = ('com', 'com', 'com', 'net', 'org', 'br', 'br', 'br') 16 | replacements = ( 17 | ('à', 'a'), ('â', 'a'), ('ã', 'a'), 18 | ('ç', 'c'), 19 | ('é', 'e'), ('ê', 'e'), 20 | ('í', 'i'), 21 | ('ô', 'o'), ('ö', 'o'), ('õ', 'o'), 22 | ('ú', 'u'), 23 | ) 24 | -------------------------------------------------------------------------------- /src/libs/faker/providers/person/ar_PS/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from ..ar_AA import Provider as ArabicPersonProvider 4 | 5 | 6 | class Provider(ArabicPersonProvider): 7 | last_names = ( 8 | 'خوري', 'شاهين', 'البرغوثي', 'الحسيني', 'الزيدانية', 'جرار', 9 | 'السكاكيني', 'طوقان', 'نسيبة', 'النشاشيبي', 'الخازن', 'ترابين', 10 | 'دغمش', 'دلاشة', 'الزيتاوي', 'صليبا', 'التركمان', 'الإغباري', 11 | 'كسواني', 'جزار', 'أبو اسنينة', 'التميمي', 'الجنيدي', 'بدر', 12 | 'أبو شقدم', 'أبو غليون', 'أبو قمر', 'الأدغم', 'حوسة', 'الصالحي', 13 | 'حمامي', 'هاشم', 'الحنبلي', 'أستيتية', 'مرمش', 'قرادة', 14 | 'فطاير', 'الخماش', 'الخياط', 'النعنيش', 'مهيار', 'أبو شلبك', 15 | ) 16 | -------------------------------------------------------------------------------- /src/libs/faker/providers/company/de_DE/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as CompanyProvider 5 | 6 | 7 | class Provider(CompanyProvider): 8 | formats = ( 9 | '{{last_name}} {{company_suffix}}', 10 | '{{last_name}} {{last_name}} {{company_suffix}}', 11 | '{{last_name}}', 12 | ) 13 | 14 | company_suffixes = ( 15 | 'AG', 'AG', 'AG', 'AG', 'AG & Co. KG', 'AG & Co. KGaA', 'AG & Co. OHG', 16 | 'GbR', 'GbR', 'GmbH', 'GmbH', 'GmbH', 'GmbH', 'GmbH & Co. KG', 17 | 'GmbH & Co. KG', 'GmbH & Co. KGaA', 'GmbH & Co. OHG', 'KG', 'KG', 'KG', 18 | 'KGaA', 'OHG mbH', 'Stiftung & Co. KG', 'Stiftung & Co. KGaA', 'e.G.', 19 | 'e.V.', 20 | ) 21 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/hu_HU/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as InternetProvider 4 | 5 | 6 | class Provider(InternetProvider): 7 | 8 | free_email_domains = ( 9 | 'gmail.com', 10 | 'hotmail.com', 11 | 'yahoo.com', 12 | ) 13 | 14 | tlds = ( 15 | 'hu', 16 | 'com', 17 | 'com.hu', 18 | 'info', 19 | 'org', 20 | 'net', 21 | 'biz', 22 | ) 23 | 24 | replacements = ( 25 | ('ö', 'o'), 26 | ('ü', 'u'), 27 | ('á', 'a'), 28 | ('é', 'e'), 29 | ('í', 'i'), 30 | ('ó', 'i'), 31 | ('ő', 'o'), 32 | ('ú', 'u'), 33 | ('ű', 'u'), 34 | ) 35 | -------------------------------------------------------------------------------- /src/libs/faker/providers/automotive/en_NZ/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as AutomotiveProvider 4 | 5 | 6 | class Provider(AutomotiveProvider): 7 | # See https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_New_Zealand 8 | license_formats = ( 9 | # Old plates 10 | '??%##', 11 | '??%###', 12 | '??%###', 13 | # Three letters since 2002 14 | 'A??%##', 15 | 'B??%##', 16 | 'C??%##', 17 | 'D??%##', 18 | 'E??%##', 19 | 'F??%##', 20 | 'G??%##', 21 | 'H??%##', 22 | 'J??%##', 23 | 'K??%##', 24 | 'L??%##', 25 | 'M??%##', 26 | # After 2018 27 | 'N??%##', 28 | ) 29 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/tw_GH/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | '+23327#######', 8 | '+23357#######', 9 | '+23355#######', 10 | '+23324#######', 11 | '+23354#######', 12 | '+23320#######', 13 | '+23350#######', 14 | '+23326#######', 15 | '+23356#######', 16 | '+23328#######', 17 | '024#######', 18 | '054#######', 19 | '055#######', 20 | '027#######', 21 | '057#######', 22 | '020#######', 23 | '050#######', 24 | '026#######', 25 | '056#######', 26 | '028#######', 27 | ) 28 | -------------------------------------------------------------------------------- /src/libs/faker/utils/decorators.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from functools import wraps 4 | 5 | from faker.utils import text 6 | 7 | 8 | def slugify(fn): 9 | @wraps(fn) 10 | def wrapper(*args, **kwargs): 11 | return text.slugify(fn(*args, **kwargs)) 12 | return wrapper 13 | 14 | 15 | def slugify_domain(fn): 16 | @wraps(fn) 17 | def wrapper(*args, **kwargs): 18 | return text.slugify(fn(*args, **kwargs), allow_dots=True) 19 | return wrapper 20 | 21 | 22 | def slugify_unicode(fn): 23 | @wraps(fn) 24 | def wrapper(*args, **kwargs): 25 | return text.slugify(fn(*args, **kwargs), allow_unicode=True) 26 | return wrapper 27 | 28 | 29 | def lowercase(fn): 30 | @wraps(fn) 31 | def wrapper(*args, **kwargs): 32 | return fn(*args, **kwargs).lower() 33 | return wrapper 34 | -------------------------------------------------------------------------------- /src/libs/faker/providers/automotive/pl_PL/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as AutomotiveProvider 5 | 6 | 7 | class Provider(AutomotiveProvider): 8 | # from 9 | # https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Poland 10 | license_formats = ( 11 | '?? #####', 12 | '?? ####?', 13 | '?? ###??', 14 | '?? #?###', 15 | '?? #??##', 16 | '??? ?###', 17 | '??? ##??', 18 | '??? #?##', 19 | '??? ##?#', 20 | '??? #??#', 21 | '??? ??##', 22 | '??? #####', 23 | '??? ####?', 24 | '??? ###??', 25 | ) 26 | 27 | def license_plate_regex_formats(self): 28 | return [plate.replace('?', '[A-Z]').replace('#', '[0-9]') for plate in self.license_formats] 29 | -------------------------------------------------------------------------------- /src/libs/faker/providers/person/ar_SA/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from ..ar_AA import Provider as ArabicPersonProvider 4 | 5 | 6 | class Provider(ArabicPersonProvider): 7 | last_names = ( 8 | 'حجار', 'آل الشيخ', 'الحجار', 'حنبولي', 'آل سعود', 'آل علي', 9 | 'آل جعفر', 'أبا الخيل', 'المهنا', 'مهنا', 'بن لادن', 'كانو', 10 | 'الجفالي', 'فصيل', 'آل رفيع', 'آل بن لافي', 'آل العسكري', 11 | 'آل بن ظافر', 'آل عواض', 'المشاولة', 'آل مقطة', 'آل عايض', 12 | 'آل معيض', 'آل حسين', 'المغاولة', 'آل خضير', 'آل صفوان', 13 | 'آل محمد بن علي بن جماز', 'آل عطفة', 'آل قصير', 'آل سلطان', 14 | 'العليان', 'الشايع', 'أبو داوود', 'الدباغ', 'العجلان', 'الراشد', 15 | 'المهيدب', 'العقيل', 'شربتلي', 'الخرافي', 'أبو داوود', 'الجابر', 16 | 'بقشان', 'الحكير', 17 | ) 18 | -------------------------------------------------------------------------------- /icons.txt: -------------------------------------------------------------------------------- 1 | # Icons from webfonts via http://icons.deanishe.net 2 | # 3 | # Script bin/icons reads this file and downloads the 4 | # specified icons to src/icons 5 | # 6 | # Colours 7 | # purple: 843CBD 8 | # yellow: F8AC30 9 | # red: B00000 10 | # green: 03AE03 11 | # 12 | 13 | # filename font name colour icon name 14 | 15 | # Workflow icons 16 | icon fontawesome 843CBD random 17 | locales material 843CBD settings 18 | on fontawesome 03AE03 dot-circle-o 19 | off fontawesome B00000 circle-o 20 | update-available material F8AC30 cloud-download 21 | update-check material 03AE03 cloud-download 22 | docs material 03AE03 help-outline 23 | issue fontawesome B00000 bug 24 | help material 843CBD help-outline 25 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/fr_CH/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as InternetProvider 4 | 5 | 6 | class Provider(InternetProvider): 7 | safe_email_tlds = ('org', 'com', 'net', 'ch') 8 | free_email_domains = ( 9 | 'gmail.com', 10 | 'hotmail.fr', 11 | 'yahoo.fr', 12 | 'bluewin.ch', 13 | 'romandie.com', 14 | 'hispeed.ch', 15 | 'sunrise.ch', 16 | 'vtxnet.ch') 17 | tlds = ('com', 'com', 'com', 'net', 'org', 'ch', 'ch', 'ch') 18 | 19 | replacements = ( 20 | ('ä', 'ae'), ('à', 'a'), ('â', 'a'), 21 | ('ç', 'c'), 22 | ('é', 'e'), ('è', 'e'), ('ê', 'e'), ('ë', 'e'), 23 | ('ï', 'i'), ('î', 'i'), 24 | ('ö', 'oe'), ('ô', 'o'), 25 | ('ü', 'ue'), ('ù', 'u'), ('ü', 'u'), 26 | ('ß', 'ss'), 27 | ) 28 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/id_ID/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | # Currently this is my own work 7 | formats = ( 8 | '+62-##-###-####', 9 | '+62-0##-###-####', 10 | 11 | '+62 (0##) ### ####', 12 | '+62 (0##) ###-####', 13 | 14 | '+62 (##) ### ####', 15 | '+62 (##) ###-####', 16 | 17 | '+62-###-###-####', 18 | '+62-0###-###-####', 19 | 20 | '+62 (0###) ### ####', 21 | '+62 (0###) ###-####', 22 | 23 | '+62 (###) ### ####', 24 | '+62 (###) ###-####', 25 | 26 | '(0##) ### ####', 27 | '(0##) ###-####', 28 | 29 | '(0###) ### ####', 30 | '(0###) ###-####', 31 | 32 | '08# ### ####', 33 | '08########', 34 | ) 35 | -------------------------------------------------------------------------------- /src/libs/faker/providers/barcode/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import BaseProvider 5 | 6 | 7 | class Provider(BaseProvider): 8 | 9 | def ean(self, length=13): 10 | code = [self.random_digit() for _ in range(length - 1)] 11 | 12 | if length not in (8, 13): 13 | raise AssertionError("length can only be 8 or 13") 14 | 15 | if length == 8: 16 | weights = [3, 1, 3, 1, 3, 1, 3] 17 | elif length == 13: 18 | weights = [1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3] 19 | 20 | weighted_sum = sum(x * y for x, y in zip(code, weights)) 21 | check_digit = (10 - weighted_sum % 10) % 10 22 | code.append(check_digit) 23 | 24 | return ''.join(str(x) for x in code) 25 | 26 | def ean8(self): 27 | return self.ean(8) 28 | 29 | def ean13(self): 30 | return self.ean(13) 31 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/ko_KR/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as PhoneNumberProvider 5 | 6 | 7 | class Provider(PhoneNumberProvider): 8 | formats = ( 9 | '02-####-####', 10 | '031-###-####', 11 | '032-###-####', 12 | '033-###-####', 13 | '041-###-####', 14 | '042-###-####', 15 | '043-###-####', 16 | '044-###-####', 17 | '051-###-####', 18 | '052-###-####', 19 | '053-###-####', 20 | '054-###-####', 21 | '055-###-####', 22 | '061-###-####', 23 | '062-###-####', 24 | '063-###-####', 25 | '064-7##-####', 26 | '010-####-####', 27 | '011-###-####', 28 | '016-###-####', 29 | '017-###-####', 30 | '018-###-####', 31 | '019-###-####', 32 | '070-####-####', 33 | ) 34 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/it_IT/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as InternetProvider 4 | 5 | 6 | class Provider(InternetProvider): 7 | safe_email_tlds = ('com', 'net', 'eu', 'it', 'it', 'it') 8 | free_email_domains = ( 9 | 'libero.it', 'libero.it', 'libero.it', 10 | 'tim.it', 11 | 'tin.it', 12 | 'alice.it', 13 | 'virgilio.it', 14 | 'tiscali.it', 15 | 'fastwebnet.it', 16 | 'vodafone.it', 17 | 'poste.it', 18 | 'gmail.com', 'gmail.com', 'gmail.com', 19 | 'outlook.com', 20 | 'live.com', 21 | 'hotmail.com', 22 | 'hotmail.it', 23 | 'yahoo.com', 24 | 'tele2.it', 25 | ) 26 | tlds = ('com', 'com', 'com', 'net', 'org', 'eu', 'it', 'it', 'it', 'it') 27 | replacements = ( 28 | ('à', 'a'), ('é', 'e'), ('è', 'e'), 29 | ('ì', 'i'), ('ò', 'o'), ('ù', 'u'), 30 | ) 31 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/es_MX/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | '+##(#)##########', 8 | '+##(#)##########', 9 | '0##########', 10 | '0##########', 11 | '###-###-####', 12 | '(###)###-####', 13 | '1-###-###-####', 14 | '###.###.####', 15 | '###-###-####', 16 | '(###)###-####', 17 | '1-###-###-####', 18 | '###.###.####', 19 | '###-###-####x###', 20 | '(###)###-####x###', 21 | '1-###-###-####x###', 22 | '###.###.####x###', 23 | '###-###-####x####', 24 | '(###)###-####x####', 25 | '1-###-###-####x####', 26 | '###.###.####x####', 27 | '###-###-####x#####', 28 | '(###)###-####x#####', 29 | '1-###-###-####x#####', 30 | '###.###.####x#####', 31 | ) 32 | -------------------------------------------------------------------------------- /bin/example-data: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # 4 | # Copyright (c) 2014 deanishe@deanishe.net 5 | # 6 | # MIT Licence. See http://opensource.org/licenses/MIT 7 | # 8 | # Created on 2014-12-29 9 | # 10 | 11 | """Print sample fake data to STDOUT.""" 12 | 13 | from __future__ import print_function, absolute_import 14 | 15 | import sys 16 | import os 17 | 18 | sys.path.insert(0, os.path.abspath(os.path.dirname(__file__) + '/../src/libs')) 19 | sys.path.insert(0, os.path.abspath(os.path.dirname(__file__) + '/../src')) 20 | 21 | 22 | def main(): 23 | """Print sample fake data.""" 24 | from workflow import Workflow 25 | import fakeum 26 | 27 | wf = Workflow() 28 | fakeum.wf = wf 29 | print('| Name | Example |') 30 | print('|-- |--|') 31 | for name in fakeum.FAKERS: 32 | ex = fakeum.get_fake_datum(name) 33 | print(u'| {} | {} |'.format(name, ex).encode('utf-8')) 34 | 35 | 36 | if __name__ == '__main__': 37 | sys.exit(main()) 38 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/cs_CZ/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as InternetProvider 4 | 5 | 6 | class Provider(InternetProvider): 7 | 8 | user_name_formats = ( 9 | '{{last_name_female}}.{{first_name_female}}', 10 | '{{last_name_female}}.{{first_name_female}}', 11 | '{{last_name_male}}.{{first_name_male}}', 12 | '{{last_name_male}}.{{first_name_male}}', 13 | '{{first_name_female}}.{{last_name_female}}', 14 | '{{first_name_male}}.{{last_name_male}}', 15 | '{{first_name}}##', 16 | '?{{last_name}}', 17 | '?{{last_name}}', 18 | '?{{last_name}}', 19 | ) 20 | 21 | email_formats = ('{{user_name}}@{{free_email_domain}}', ) 22 | 23 | free_email_domains = ( 24 | 'seznam.cz', 25 | 'gmail.com', 26 | 'email.cz', 27 | 'post.cz', 28 | 'chello.cz', 29 | 'centrum.cz', 30 | 'volny.cz', 31 | ) 32 | 33 | tlds = ('cz', 'com', 'cz') 34 | -------------------------------------------------------------------------------- /src/libs/faker/providers/date_time/ko_KR/__init__.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | from __future__ import unicode_literals 3 | 4 | from .. import Provider as DateTimeProvider 5 | 6 | 7 | class Provider(DateTimeProvider): 8 | 9 | def day_of_week(self): 10 | day = self.date('%w') 11 | DAY_NAMES = { 12 | "0": "일요일", 13 | "1": "월요일", 14 | "2": "화요일", 15 | "3": "수요일", 16 | "4": "목요일", 17 | "5": "금요일", 18 | "6": "토요일", 19 | } 20 | return DAY_NAMES[day] 21 | 22 | def month_name(self): 23 | month = self.month() 24 | MONTH_NAMES = { 25 | "01": "1월", 26 | "02": "2월", 27 | "03": "3월", 28 | "04": "4월", 29 | "05": "5월", 30 | "06": "6월", 31 | "07": "7월", 32 | "08": "8월", 33 | "09": "9월", 34 | "10": "10월", 35 | "11": "11월", 36 | "12": "12월", 37 | } 38 | return MONTH_NAMES[month] 39 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/hr_HR/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | '01 #### ###', 8 | '020 ### ###', 9 | '021 ### ###', 10 | '022 ### ###', 11 | '023 ### ###', 12 | '031 ### ###', 13 | '032 ### ###', 14 | '033 ### ###', 15 | '034 ### ###', 16 | '035 ### ###', 17 | '040 ### ###', 18 | '042 ### ###', 19 | '043 ### ###', 20 | '044 ### ###', 21 | '047 ### ###', 22 | '048 ### ###', 23 | '049 ### ###', 24 | '051 ### ###', 25 | '052 ### ###', 26 | '053 ### ###', 27 | '060 ### ###', 28 | '072 ### ###', 29 | '074 ### ###', 30 | '091 #### ###', 31 | '092 #### ###', 32 | '095 #### ###', 33 | '097 #### ###', 34 | '098 #### ###', 35 | '099 #### ###', 36 | '0800 ## ##', 37 | ) 38 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/he_IL/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as SsnProvider 5 | 6 | 7 | class Provider(SsnProvider): 8 | 9 | def ssn(self): 10 | """ 11 | Returns an Israeli identity number, known as Teudat Zehut ("tz"). 12 | 13 | https://en.wikipedia.org/wiki/Israeli_identity_card 14 | """ 15 | 16 | newID = str(self.generator.random.randrange(111111, 99999999)) 17 | newID = newID.zfill(8) 18 | theSum = 0 19 | indexRange = [0, 2, 4, 6] 20 | for i in indexRange: 21 | digit = newID[i] 22 | num = int(digit) 23 | theSum = theSum + num 24 | num = int(newID[i + 1]) * 2 25 | if num > 9: 26 | num = int(str(num)[0]) + int(str(num)[1]) 27 | theSum = theSum + num 28 | lastDigit = theSum % 10 29 | if lastDigit != 0: 30 | lastDigit = 10 - lastDigit 31 | 32 | return str(newID) + str(lastDigit) 33 | -------------------------------------------------------------------------------- /src/libs/faker/providers/date_time/hy_AM/__init__.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as DateTimeProvider 5 | 6 | 7 | class Provider(DateTimeProvider): 8 | 9 | DAY_NAMES = { 10 | "0": "Կիրակի", 11 | "1": "Երկուշաբթի", 12 | "2": "Երեքշաբթի", 13 | "3": "Չորեքշաբթի", 14 | "4": "Հինգշաբթի", 15 | "5": "Ուրբաթ", 16 | "6": "Շաբաթ", 17 | } 18 | 19 | MONTH_NAMES = { 20 | "01": "Հունվար", 21 | "02": "Փետրվար", 22 | "03": "Մարտ", 23 | "04": "Ապրիլ", 24 | "05": "Մայիս", 25 | "06": "Հունիս", 26 | "07": "Հուլիս", 27 | "08": "Օգոստոս", 28 | "09": "Սեպտեմբեր", 29 | "10": "Հոկտեմբեր", 30 | "11": "Նոյեմբեր", 31 | "12": "Դեկտեմբեր", 32 | } 33 | 34 | def day_of_week(self): 35 | day = self.date('%w') 36 | return self.DAY_NAMES[day] 37 | 38 | def month_name(self): 39 | month = self.month() 40 | return self.MONTH_NAMES[month] 41 | -------------------------------------------------------------------------------- /src/libs/faker/providers/geo/el_GR/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | 5 | from decimal import Decimal 6 | 7 | from .. import Provider as GeoProvider 8 | 9 | 10 | class Provider(GeoProvider): 11 | 12 | poly = ( 13 | (40.34026, 19.15120), 14 | (42.21670, 26.13934), 15 | (35.55680, 29.38280), 16 | (34.15370, 22.58810), 17 | ) 18 | 19 | def local_latlng(self): 20 | return float(self.local_latitude()), float(self.local_longitude()) 21 | 22 | def local_latitude(self): 23 | latitudes = list(map(lambda t: int(t[0] * 10000000), self.poly)) 24 | return Decimal(str(self.generator.random.randint( 25 | min(latitudes), max(latitudes)) / 10000000.0)).quantize(Decimal('.000001')) 26 | 27 | def local_longitude(self): 28 | longitudes = list(map(lambda t: int(t[1] * 10000000), self.poly)) 29 | return Decimal(str(self.generator.random.randint( 30 | min(longitudes), max(longitudes)) / 10000000.0)).quantize(Decimal('.000001')) 31 | -------------------------------------------------------------------------------- /src/libs/faker/providers/date_time/pl_PL/__init__.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | from __future__ import unicode_literals 4 | 5 | from .. import Provider as DateTimeProvider 6 | 7 | 8 | class Provider(DateTimeProvider): 9 | 10 | DAY_NAMES = { 11 | '0': 'poniedziałek', 12 | '1': 'wtorek', 13 | '2': 'środa', 14 | '3': 'czwartek', 15 | '4': 'piątek', 16 | '5': 'sobota', 17 | '6': 'niedziela', 18 | } 19 | 20 | MONTH_NAMES = { 21 | '01': 'styczeń', 22 | '02': 'luty', 23 | '03': 'marzec', 24 | '04': 'kwiecień', 25 | '05': 'maj', 26 | '06': 'czerwiec', 27 | '07': 'lipiec', 28 | '08': 'sierpień', 29 | '09': 'wrzesień', 30 | '10': 'październik', 31 | '11': 'listopad', 32 | '12': 'grudzień', 33 | } 34 | 35 | def day_of_week(self): 36 | day = self.date('%w') 37 | return self.DAY_NAMES[day] 38 | 39 | def month_name(self): 40 | month = self.month() 41 | return self.MONTH_NAMES[month] 42 | -------------------------------------------------------------------------------- /src/libs/faker/providers/company/id_ID/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as CompanyProvider 3 | 4 | 5 | class Provider(CompanyProvider): 6 | formats = ( 7 | '{{company_prefix}} {{last_name}}', 8 | '{{company_prefix}} {{last_name}} {{last_name}}', 9 | '{{company_prefix}} {{last_name}} {{company_suffix}}', 10 | '{{company_prefix}} {{last_name}} {{last_name}} {{company_suffix}}', 11 | ) 12 | 13 | # From http://id.wikipedia.org/wiki/Jenis_badan_usaha 14 | # via 15 | # https://github.com/fzaninotto/faker/blob/master/src/Faker/Provider/id_ID/Company.php 16 | company_prefixes = ( 17 | 'PT', 'CV', 'UD', 'PD', 'Perum', 18 | ) 19 | 20 | # From http://id.wikipedia.org/wiki/Jenis_badan_usaha 21 | # via 22 | # https://github.com/fzaninotto/faker/blob/master/src/Faker/Provider/id_ID/Company.php 23 | company_suffixes = ( 24 | '(Persero) Tbk', 'Tbk', 25 | ) 26 | 27 | def company_prefix(self): 28 | return self.random_element(self.company_prefixes) 29 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/fr_FR/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as InternetProvider 4 | 5 | 6 | class Provider(InternetProvider): 7 | safe_email_tlds = ('com', 'net', 'fr', 'fr') 8 | free_email_domains = ( 9 | 'voila.fr', 10 | 'gmail.com', 11 | 'hotmail.fr', 12 | 'yahoo.fr', 13 | 'laposte.net', 14 | 'free.fr', 15 | 'sfr.fr', 16 | 'orange.fr', 17 | 'bouygtel.fr', 18 | 'club-internet.fr', 19 | 'dbmail.com', 20 | 'live.com', 21 | 'ifrance.com', 22 | 'noos.fr', 23 | 'tele2.fr', 24 | 'tiscali.fr', 25 | 'wanadoo.fr') 26 | tlds = ('com', 'com', 'com', 'net', 'org', 'fr', 'fr', 'fr') 27 | replacements = ( 28 | ('à', 'a'), ('â', 'a'), ('ä', 'a'), 29 | ('ç', 'c'), 30 | ('é', 'e'), ('è', 'e'), ('ê', 'e'), ('ë', 'e'), ('É', 'e'), 31 | ('ï', 'i'), ('î', 'i'), 32 | ('ô', 'o'), ('ö', 'o'), 33 | ('ù', 'u'), ('ü', 'u'), 34 | ) 35 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/sk_SK/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as InternetProvider 4 | 5 | 6 | class Provider(InternetProvider): 7 | user_name_formats = ( 8 | '{{last_name_female}}.{{first_name_female}}', 9 | '{{last_name_female}}.{{first_name_female}}', 10 | '{{last_name_male}}.{{first_name_male}}', 11 | '{{last_name_male}}.{{first_name_male}}', 12 | '{{first_name_female}}.{{last_name_female}}', 13 | '{{first_name_male}}.{{last_name_male}}', 14 | '{{first_name}}##', 15 | '?{{last_name}}', 16 | '?{{last_name}}', 17 | '?{{last_name}}', 18 | ) 19 | 20 | email_formats = ('{{user_name}}@{{free_email_domain}}', ) 21 | 22 | free_email_domains = ( 23 | 'zoznam.sk', 24 | 'gmail.com', 25 | 'centrum.sk', 26 | 'post.sk', 27 | 'chello.sk', 28 | 'pobox.sk', 29 | 'szm.sk', 30 | 'atlas.sk', 31 | 'azet.sk', 32 | 'inmail.sk', 33 | ) 34 | 35 | tlds = ('sk', 'com') 36 | -------------------------------------------------------------------------------- /src/libs/faker/providers/date_time/fr_FR/__init__.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | from __future__ import unicode_literals 3 | 4 | from .. import Provider as DateTimeProvider 5 | 6 | 7 | class Provider(DateTimeProvider): 8 | 9 | def day_of_week(self): 10 | day = self.date('%w') 11 | DAY_NAMES = { 12 | "0": "Dimanche", 13 | "1": "Lundi", 14 | "2": "Mardi", 15 | "3": "Mercredi", 16 | "4": "Jeudi", 17 | "5": "Vendredi", 18 | "6": "Samedi", 19 | } 20 | return DAY_NAMES[day] 21 | 22 | def month_name(self): 23 | month = self.month() 24 | MONTH_NAMES = { 25 | "01": "Janvier", 26 | "02": "Février", 27 | "03": "Mars", 28 | "04": "Avril", 29 | "05": "Mai", 30 | "06": "Juin", 31 | "07": "Juillet", 32 | "08": "Août", 33 | "09": "Septembre", 34 | "10": "Octobre", 35 | "11": "Novembre", 36 | "12": "Décembre", 37 | } 38 | return MONTH_NAMES[month] 39 | -------------------------------------------------------------------------------- /src/libs/faker/providers/date_time/id_ID/__init__.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as DateTimeProvider 5 | 6 | 7 | class Provider(DateTimeProvider): 8 | 9 | def day_of_week(self): 10 | day = self.date('%w') 11 | DAY_NAMES = { 12 | "0": "Senin", 13 | "1": "Selasa", 14 | "2": "Rabu", 15 | "3": "Kamis", 16 | "4": "Jumat", 17 | "5": "Sabtu", 18 | "6": "Minggu", 19 | } 20 | 21 | return DAY_NAMES[day] 22 | 23 | def month_name(self): 24 | month = self.month() 25 | MONTH_NAMES = { 26 | "01": "Januari", 27 | "02": "Februari", 28 | "03": "Maret", 29 | "04": "April", 30 | "05": "Mei", 31 | "06": "Juni", 32 | "07": "Juli", 33 | "08": "Agustus", 34 | "09": "September", 35 | "10": "Oktober", 36 | "11": "November", 37 | "12": "Desember", 38 | } 39 | 40 | return MONTH_NAMES[month] 41 | -------------------------------------------------------------------------------- /src/libs/faker/providers/date_time/ru_RU/__init__.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | from __future__ import unicode_literals 3 | 4 | from .. import Provider as DateTimeProvider 5 | 6 | 7 | class Provider(DateTimeProvider): 8 | 9 | def day_of_week(self): 10 | day = self.date('%w') 11 | DAY_NAMES = { 12 | "0": "Воскресенье", 13 | "1": "Понедельник", 14 | "2": "Вторник", 15 | "3": "Среда", 16 | "4": "Четверг", 17 | "5": "Пятница", 18 | "6": "Суббота", 19 | } 20 | return DAY_NAMES[day] 21 | 22 | def month_name(self): 23 | month = self.month() 24 | MONTH_NAMES = { 25 | "01": "Январь", 26 | "02": "Февраль", 27 | "03": "Март", 28 | "04": "Апрель", 29 | "05": "Май", 30 | "06": "Июнь", 31 | "07": "Июль", 32 | "08": "Август", 33 | "09": "Сентябрь", 34 | "10": "Октябрь", 35 | "11": "Ноябрь", 36 | "12": "Декабрь", 37 | } 38 | return MONTH_NAMES[month] 39 | -------------------------------------------------------------------------------- /src/libs/faker/providers/date_time/sl_SI/__init__.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | from __future__ import unicode_literals 3 | 4 | from .. import Provider as DateTimeProvider 5 | 6 | 7 | class Provider(DateTimeProvider): 8 | 9 | def day_of_week(self): 10 | day = self.date('%w') 11 | DAY_NAMES = { 12 | "0": "Nedelja", 13 | "1": "Ponedeljek", 14 | "2": "Torek", 15 | "3": "Sreda", 16 | "4": "Četrtek", 17 | "5": "Petek", 18 | "6": "Sobota", 19 | } 20 | return DAY_NAMES[day] 21 | 22 | def month_name(self): 23 | month = self.month() 24 | MONTH_NAMES = { 25 | "01": "Januar", 26 | "02": "Februar", 27 | "03": "Marec", 28 | "04": "April", 29 | "05": "Maj", 30 | "06": "Junij", 31 | "07": "Julij", 32 | "08": "Avgust", 33 | "09": "September", 34 | "10": "Oktober", 35 | "11": "November", 36 | "12": "December", 37 | } 38 | return MONTH_NAMES[month] 39 | -------------------------------------------------------------------------------- /src/libs/faker/providers/date_time/hr_HR/__init__.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | from __future__ import unicode_literals 3 | 4 | from .. import Provider as DateTimeProvider 5 | 6 | 7 | class Provider(DateTimeProvider): 8 | 9 | def day_of_week(self): 10 | day = self.date('%w') 11 | DAY_NAMES = { 12 | "0": "Nedjelja", 13 | "1": "Ponedjeljak", 14 | "2": "Utorak", 15 | "3": "Srijeda", 16 | "4": "Četvrtak", 17 | "5": "Petak", 18 | "6": "Subota", 19 | } 20 | return DAY_NAMES[day] 21 | 22 | def month_name(self): 23 | month = self.month() 24 | MONTH_NAMES = { 25 | "01": "Siječanj", 26 | "02": "Veljača", 27 | "03": "Ožujak", 28 | "04": "Travanj", 29 | "05": "Svibanj", 30 | "06": "Lipanj", 31 | "07": "Srpanj", 32 | "08": "Kolovoz", 33 | "09": "Rujan", 34 | "10": "Listopad", 35 | "11": "Studeni", 36 | "12": "Prosinac", 37 | } 38 | return MONTH_NAMES[month] 39 | -------------------------------------------------------------------------------- /src/libs/faker/providers/automotive/en_CA/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as AutomotiveProvider 5 | 6 | 7 | class Provider(AutomotiveProvider): 8 | # from 9 | # https://www.revolvy.com/main/index.php?s=Canadian%20licence%20plate%20designs%20and%20serial%20formats 10 | license_formats = ( 11 | # Alberta 12 | '???-####', 13 | # BC 14 | '??# ##?', 15 | '?? ####', 16 | # Manitoba 17 | '??? ###', 18 | # New Brunswick 19 | '??? ###', 20 | # Newfoundland and Labrador 21 | '??? ###', 22 | # NWT 23 | '######', 24 | # Nova Scotia 25 | '??? ###', 26 | # Nunavut 27 | '### ###', 28 | # Ontario 29 | '### ???', 30 | '???? ###', 31 | '??# ###', 32 | '### #??', 33 | '?? ####', 34 | 'GV??-###', 35 | # PEI 36 | '## ##??', 37 | # Quebec 38 | '?## ???', 39 | # Saskatchewan 40 | '### ???', 41 | # Yukon 42 | '???##', 43 | ) 44 | -------------------------------------------------------------------------------- /src/libs/dateutil/_common.py: -------------------------------------------------------------------------------- 1 | """ 2 | Common code used in multiple modules. 3 | """ 4 | 5 | 6 | class weekday(object): 7 | __slots__ = ["weekday", "n"] 8 | 9 | def __init__(self, weekday, n=None): 10 | self.weekday = weekday 11 | self.n = n 12 | 13 | def __call__(self, n): 14 | if n == self.n: 15 | return self 16 | else: 17 | return self.__class__(self.weekday, n) 18 | 19 | def __eq__(self, other): 20 | try: 21 | if self.weekday != other.weekday or self.n != other.n: 22 | return False 23 | except AttributeError: 24 | return False 25 | return True 26 | 27 | def __hash__(self): 28 | return hash(( 29 | self.weekday, 30 | self.n, 31 | )) 32 | 33 | def __ne__(self, other): 34 | return not (self == other) 35 | 36 | def __repr__(self): 37 | s = ("MO", "TU", "WE", "TH", "FR", "SA", "SU")[self.weekday] 38 | if not self.n: 39 | return s 40 | else: 41 | return "%s(%+d)" % (s, self.n) 42 | 43 | # vim:ts=4:sw=4:et 44 | -------------------------------------------------------------------------------- /src/libs/faker/providers/date_time/hu_HU/__init__.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as DateTimeProvider 5 | 6 | 7 | class Provider(DateTimeProvider): 8 | 9 | def day_of_week(self): 10 | day = self.date('%w') 11 | DAY_NAMES = { 12 | "0": "hétfő", 13 | "1": "kedd", 14 | "2": "szerda", 15 | "3": "csütörtök", 16 | "4": "péntek", 17 | "5": "szombat", 18 | "6": "vasárnap", 19 | } 20 | 21 | return DAY_NAMES[day] 22 | 23 | def month_name(self): 24 | month = self.month() 25 | MONTH_NAMES = { 26 | "01": "január", 27 | "02": "február", 28 | "03": "március", 29 | "04": "április", 30 | "05": "május", 31 | "06": "junius", 32 | "07": "julius", 33 | "08": "augusztus", 34 | "09": "szeptember", 35 | "10": "október", 36 | "11": "november", 37 | "12": "december", 38 | } 39 | 40 | return MONTH_NAMES[month] 41 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/bs_BA/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | '030 ### ###', 8 | '031 ### ###', 9 | '032 ### ###', 10 | '033 ### ###', 11 | '034 ### ###', 12 | '035 ### ###', 13 | '036 ### ###', 14 | '037 ### ###', 15 | '038 ### ###', 16 | '039 ### ###', 17 | '049 ### ###', 18 | '050 ### ###', 19 | '051 ### ###', 20 | '052 ### ###', 21 | '053 ### ###', 22 | '054 ### ###', 23 | '055 ### ###', 24 | '056 ### ###', 25 | '057 ### ###', 26 | '058 ### ###', 27 | '059 ### ###', 28 | '060 ### ###', 29 | '060 #### ###', 30 | '061 ### ###', 31 | '062 ### ###', 32 | '063 ### ###', 33 | '064 ### ###', 34 | '065 ### ###', 35 | '066 ### ###', 36 | '067 ### ###', 37 | '070 20# ###', 38 | '+387 61 ### ###', 39 | '+387 (0)61 ### ###', 40 | ) 41 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/pl_PL/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | # Mobile 8 | # Government website: http://www.uke.gov.pl/numeracja-843 9 | '50# ### ###', 10 | '51# ### ###', 11 | '53# ### ###', 12 | '57# ### ###', 13 | '60# ### ###', 14 | '66# ### ###', 15 | '69# ### ###', 16 | '72# ### ###', 17 | '73# ### ###', 18 | '78# ### ###', 19 | '79# ### ###', 20 | '88# ### ###', 21 | 22 | '+48 50# ### ###', 23 | '+48 51# ### ###', 24 | '+48 53# ### ###', 25 | '+48 57# ### ###', 26 | '+48 60# ### ###', 27 | '+48 66# ### ###', 28 | '+48 69# ### ###', 29 | '+48 72# ### ###', 30 | '+48 73# ### ###', 31 | '+48 78# ### ###', 32 | '+48 79# ### ###', 33 | '+48 88# ### ###', 34 | 35 | '32 ### ## ##', 36 | '+48 32 ### ## ##', 37 | '22 ### ## ##', 38 | '+48 22 ### ## ##', 39 | ) 40 | -------------------------------------------------------------------------------- /LICENCE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Dean Jackson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/cs_CZ/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | '601 ### ###', 8 | '603 ### ###', 9 | '608 ### ###', 10 | '790 ### ###', 11 | '602 ### ###', 12 | '604 ### ###', 13 | '770 ### ###', 14 | '606 ### ###', 15 | '605 ### ###', 16 | '773 ### ###', 17 | '607 ### ###', 18 | '730 ### ###', 19 | '774 ### ###', 20 | '702 ### ###', 21 | '731 ### ###', 22 | '775 ### ###', 23 | '720 ### ###', 24 | '732 ### ###', 25 | '776 ### ###', 26 | '721 ### ###', 27 | '733 ### ###', 28 | '777 ### ###', 29 | '722 ### ###', 30 | '734 ### ###', 31 | '723 ### ###', 32 | '736 ### ###', 33 | '724 ### ###', 34 | '737 ### ###', 35 | '725 ### ###', 36 | '738 ### ###', 37 | '726 ### ###', 38 | '739 ### ###', 39 | '727 ### ###', 40 | '728 ### ###', 41 | '729 ### ###', 42 | ) 43 | -------------------------------------------------------------------------------- /src/libs/faker/utils/text.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | import re 4 | 5 | import six 6 | import unicodedata 7 | 8 | 9 | _re_pattern = re.compile(r'[^\w\s-]', flags=re.U) 10 | _re_pattern_allow_dots = re.compile(r'[^\.\w\s-]', flags=re.U) 11 | _re_spaces = re.compile(r'[-\s]+', flags=re.U) 12 | 13 | 14 | def slugify(value, allow_dots=False, allow_unicode=False): 15 | """ 16 | Converts to lowercase, removes non-word characters (alphanumerics and 17 | underscores) and converts spaces to hyphens. Also strips leading and 18 | trailing whitespace. Modified to optionally allow dots. 19 | 20 | Adapted from Django 1.9 21 | """ 22 | if allow_dots: 23 | pattern = _re_pattern_allow_dots 24 | else: 25 | pattern = _re_pattern 26 | 27 | value = six.text_type(value) 28 | if allow_unicode: 29 | value = unicodedata.normalize('NFKC', value) 30 | value = pattern.sub('', value).strip().lower() 31 | return _re_spaces.sub('-', value) 32 | value = unicodedata.normalize('NFKD', value).encode( 33 | 'ascii', 'ignore').decode('ascii') 34 | value = pattern.sub('', value).strip().lower() 35 | return _re_spaces.sub('-', value) 36 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/fr_CH/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | '+41 2# ### ## ##', 8 | '+41 3# ### ## ##', 9 | '+41 4# ### ## ##', 10 | '+41 5# ### ## ##', 11 | '+41 6# ### ## ##', 12 | '+41 7# ### ## ##', 13 | '+41 8# ### ## ##', 14 | '+41 9# ### ## ##', 15 | '+41 (0)2# ### ## ##', 16 | '+41 (0)3# ### ## ##', 17 | '+41 (0)4# ### ## ##', 18 | '+41 (0)5# ### ## ##', 19 | '+41 (0)6# ### ## ##', 20 | '+41 (0)7# ### ## ##', 21 | '+41 (0)8# ### ## ##', 22 | '+41 (0)9# ### ## ##', 23 | '02# ### ## ##', 24 | '03# ### ## ##', 25 | '04# ### ## ##', 26 | '05# ### ## ##', 27 | '06# ### ## ##', 28 | '07# ### ## ##', 29 | '08# ### ## ##', 30 | '09# ### ## ##', 31 | # see: http://www.bakom.admin.ch/themen/telekom/00479/00607/index.html 32 | '084# ### ###', 33 | '0878 ### ###', 34 | '0900 ### ###', 35 | '0901 ### ###', 36 | '0906 ### ###', 37 | ) 38 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/uk_UA/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | 4 | from datetime import date 5 | 6 | from .. import Provider as SsnProvider 7 | 8 | 9 | class Provider(SsnProvider): 10 | def ssn(self): 11 | """ 12 | Ukrainian "Реєстраційний номер облікової картки платника податків" 13 | also known as "Ідентифікаційний номер фізичної особи". 14 | """ 15 | digits = [] 16 | 17 | # Number of days between 1899-12-31 and a birth date 18 | for digit in str((self.generator.date_object() - 19 | date(1899, 12, 31)).days): 20 | digits.append(int(digit)) 21 | 22 | # Person's sequence number 23 | for _ in range(4): 24 | digits.append(self.random_int(0, 9)) 25 | 26 | checksum = (digits[0] * -1 + digits[1] * 5 + digits[2] * 7 + digits[3] * 9 + 27 | digits[4] * 4 + digits[5] * 6 + digits[6] * 10 + digits[7] * 5 + 28 | digits[8] * 7) 29 | # Remainder of a checksum divided by 11 or 1 if it equals to 10 30 | digits.append(checksum % 11 % 10) 31 | 32 | return ''.join(str(digit) for digit in digits) 33 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/sl_SI/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as InternetProvider 4 | 5 | 6 | class Provider(InternetProvider): 7 | 8 | user_name_formats = ( 9 | '{{last_name}}.{{first_name_female}}', 10 | '{{last_name}}.{{first_name_male}}', 11 | '{{first_name_female}}.{{last_name}}', 12 | '{{first_name_male}}.{{last_name}}', 13 | '{{first_name}}##', 14 | ) 15 | 16 | email_formats = ('{{user_name}}@{{free_email_domain}}', ) 17 | 18 | free_email_domains = ( 19 | 'gmail.com', 'siol.net', 'email.si', 'volja.net', 20 | ) 21 | 22 | uri_pages = ( 23 | 'index', 'domov', 'iskanje', 'main', 'novica', 24 | 'homepage', 'kategorija', 'registracija', 'login', 25 | 'faq', 'o-nas', 'pogoji', 26 | 'zasebnost', 'avtor', 27 | ) 28 | uri_paths = ( 29 | 'app', 'main', 'wp-content', 'iskanje', 'kategorija', 'novica', 30 | 'kategorije', 'novice', 'blog', 'komentarji', 'seznam') 31 | uri_extensions = ( 32 | '.html', '.html', '.html', '.htm', '.htm', '.php', 33 | '.php', '.jsp', '.asp', 34 | ) 35 | 36 | tlds = ('si', 'com') 37 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/fr_FR/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | '+33 (0)1 ## ## ## ##', 8 | '+33 (0)1 ## ## ## ##', 9 | '+33 (0)2 ## ## ## ##', 10 | '+33 (0)3 ## ## ## ##', 11 | '+33 (0)4 ## ## ## ##', 12 | '+33 (0)5 ## ## ## ##', 13 | '+33 (0)6 ## ## ## ##', 14 | '+33 (0)8 0# ## ## ##', 15 | '+33 1 ## ## ## ##', 16 | '+33 1 ## ## ## ##', 17 | '+33 2 ## ## ## ##', 18 | '+33 3 ## ## ## ##', 19 | '+33 4 ## ## ## ##', 20 | '+33 5 ## ## ## ##', 21 | '+33 6 ## ## ## ##', 22 | '+33 8 0# ## ## ##', 23 | '01########', 24 | '01########', 25 | '02########', 26 | '03########', 27 | '04########', 28 | '05########', 29 | '06########', 30 | '080#######', 31 | '01 ## ## ## ##', 32 | '01 ## ## ## ##', 33 | '02 ## ## ## ##', 34 | '03 ## ## ## ##', 35 | '04 ## ## ## ##', 36 | '05 ## ## ## ##', 37 | '06 ## ## ## ##', 38 | '08 0# ## ## ##', 39 | ) 40 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/pt_PT/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | '(351) 91# ### ###', 8 | '(351) 92# ### ###', 9 | '(351) 93# ### ###', 10 | '(351) 96# ### ###', 11 | '(351) 2## ### ###', 12 | '(351) 91#######', 13 | '(351) 92#######', 14 | '(351) 93#######', 15 | '(351) 96#######', 16 | '(351) 2########', 17 | '(351) 91# ### ###', 18 | '(351) 92# ### ###', 19 | '(351) 93# ### ###', 20 | '(351) 96# ### ###', 21 | '(351) 2## ### ###', 22 | '(351) 91#######', 23 | '(351) 92#######', 24 | '(351) 93#######', 25 | '(351) 96#######', 26 | '(351) 2########', 27 | '+35191#######', 28 | '+35192#######', 29 | '+35193#######', 30 | '+35196#######', 31 | '+3512########', 32 | '91# ### ###', 33 | '92# ### ###', 34 | '93# ### ###', 35 | '96# ### ###', 36 | '2## ### ###', 37 | '91#######', 38 | '92#######', 39 | '93#######', 40 | '96#######', 41 | '2########', 42 | ) 43 | -------------------------------------------------------------------------------- /src/libs/faker/providers/bank/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from .. import BaseProvider 3 | import string 4 | from string import ascii_uppercase 5 | import re 6 | 7 | localized = True 8 | default_locale = 'en_GB' 9 | 10 | 11 | class Provider(BaseProvider): 12 | """ 13 | Provider for IBAN/BBAN: it generates valid (valid length, valid checksum) 14 | IBAN/BBANs for the given country. But the ids of the banks are random and 15 | not valid banks! Same for account numbers. 16 | """ 17 | 18 | ALPHA = {c: str(ord(c) % 55) for c in string.ascii_uppercase} 19 | 20 | # see https://en.wikipedia.org/wiki/International_Bank_Account_Number 21 | bban_format = '????#############' 22 | country_code = 'GB' 23 | 24 | def bank_country(self): 25 | return self.country_code 26 | 27 | def bban(self): 28 | temp = re.sub(r'\?', 29 | lambda x: self.random_element(ascii_uppercase), 30 | self.bban_format) 31 | return self.numerify(temp) 32 | 33 | def iban(self): 34 | bban = self.bban() 35 | 36 | check = bban + self.country_code + '00' 37 | check = int(''.join(self.ALPHA.get(c, c) for c in check)) 38 | check = 98 - (check % 97) 39 | check = str(check).zfill(2) 40 | 41 | return self.country_code + check + bban 42 | -------------------------------------------------------------------------------- /src/libs/faker/providers/company/pt_PT/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as CompanyProvider 4 | 5 | 6 | class Provider(CompanyProvider): 7 | formats = ( 8 | '{{last_name}} {{company_suffix}}', 9 | '{{last_name}} {{last_name}} {{company_suffix}}', 10 | '{{last_name}}', 11 | '{{last_name}}', 12 | ) 13 | 14 | catch_phrase_formats = ( 15 | '{{catch_phrase_noun}} {{catch_phrase_verb}} {{catch_phrase_attribute}}', ) 16 | 17 | nouns = ( 18 | 'a segurança', 'o prazer', 'o conforto', 'a simplicidade', 'a certeza', 19 | 'a arte', 'o poder', 'o direito', 'a possibilidade', 'a vantagem', 20 | 'a liberdade', 21 | ) 22 | 23 | verbs = ( 24 | 'de conseguir', 'de avançar', 'de evoluir', 'de mudar', 'de inovar', 25 | 'de ganhar', 'de atingir os seus objetivos', 26 | 'de concretizar seus projetos', 'de realizar seus sonhos', 27 | ) 28 | 29 | attributes = ( 30 | 'de maneira eficaz', 'mais rapidamente', 'mais facilmente', 31 | 'simplesmente', 'com toda a tranquilidade', 'antes de tudo', 32 | 'naturalmente', 'sem preocupação', 'em estado puro', 'com força total', 33 | 'direto da fonte', 'com confiança', 34 | ) 35 | 36 | company_suffixes = ('S/A', 'S.A.', 'Lda.', 'e Filhos') 37 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/uk_UA/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | 4 | from .. import Provider as InternetProvider 5 | 6 | 7 | class Provider(InternetProvider): 8 | free_email_domains = ( 9 | 'email.ua', 'gmail.com', 'gov.ua', 'i.ua', 'meta.ua', 'ukr.net', 10 | ) 11 | tlds = ('com', 'info', 'net', 'org', 'ua', 'укр') 12 | 13 | replacements = ( 14 | ('А', 'a'), ('Б', 'b'), ('В', 'v'), ('Г', 'h'), ('Ґ', 'g'), ('Д', 'd'), 15 | ('Е', 'e'), ('Є', 'ye'), ('Ж', 'zh'), ('З', 'z'), ('И', 'y'), 16 | ('І', 'i'), ('Ї', 'yi'), ('Й', 'y'), ('К', 'k'), ('Л', 'l'), 17 | ('М', 'm'), ('Н', 'n'), ('О', 'o'), ('П', 'p'), ('Р', 'r'), ('С', 's'), 18 | ('Т', 't'), ('У', 'u'), ('Ф', 'f'), ('Х', 'kh'), ('Ц', 'ts'), 19 | ('Ч', 'ch'), ('Ш', 'sh'), ('Щ', 'shch'), ('Ь', 'ʹ'), ('Ю', 'yu'), 20 | ('Я', 'ya'), ('а', 'a'), ('б', 'b'), ('в', 'v'), ('г', 'h'), 21 | ('ґ', 'g'), ('д', 'd'), ('е', 'e'), ('є', 'ie'), ('ж', 'zh'), 22 | ('з', 'z'), ('и', 'y'), ('і', 'i'), ('ї', 'i'), ('й', 'i'), 23 | ('к', 'k'), ('л', 'l'), ('м', 'm'), ('н', 'n'), ('о', 'o'), ('п', 'p'), 24 | ('р', 'r'), ('с', 's'), ('т', 't'), ('у', 'u'), ('ф', 'f'), 25 | ('х', 'kh'), ('ц', 'ts'), ('ч', 'ch'), ('ш', 'sh'), ('щ', 'shch'), 26 | ('ь', 'ʹ'), ('ю', 'iu'), ('я', 'ia'), 27 | ) 28 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/ar_AA/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as InternetProvider 5 | 6 | 7 | class Provider(InternetProvider): 8 | 9 | replacements = ( 10 | ('س', 's'), 11 | ('ق', 'q'), 12 | ('ب', 'b'), 13 | ('خ', 'x'), 14 | ('ش', '$'), 15 | ('َ', 'a'), 16 | ('ئ', '}'), 17 | ('إ', '<'), 18 | ('ل', 'l'), 19 | ('ٰ', '`'), 20 | ('ف', 'f'), 21 | ('و', 'w'), 22 | ('ض', 'D'), 23 | ('ي', 'y'), 24 | ('ُ', 'u'), 25 | ('ة', 'p'), 26 | ('ظ', 'Z'), 27 | ('ث', 'v'), 28 | ('ـ', '_'), 29 | ('ج', 'j'), 30 | ('د', 'd'), 31 | ('ح', 'H'), 32 | ('ا', 'A'), 33 | ('أ', '>'), 34 | ('ر', 'r'), 35 | ('ى', 'Y'), 36 | ('ذ', '*'), 37 | ('ْ', 'o'), 38 | ('ن', 'n'), 39 | ('ّ', '~'), 40 | ('ك', 'k'), 41 | ('ء', "'"), 42 | ('ط', 'T'), 43 | ('ت', 't'), 44 | ('ه', 'h'), 45 | ('ً', 'F'), 46 | ('ؤ', '&'), 47 | ('ٍ', 'K'), 48 | ('ِ', 'i'), 49 | ('ص', 'S'), 50 | ('ٱ', '{'), 51 | ('ٌ', 'N'), 52 | ('م', 'm'), 53 | ('ز', 'z'), 54 | ('ع', 'E'), 55 | ('آ', '|'), 56 | ('غ', 'g'), 57 | ) 58 | -------------------------------------------------------------------------------- /src/libs/faker/providers/company/zh_CN/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as CompanyProvider 4 | 5 | 6 | class Provider(CompanyProvider): 7 | formats = ["{{company_prefix}}{{company_suffix}}"] 8 | 9 | company_prefixes = ["超艺", "和泰", "九方", "鑫博腾飞", "戴硕电子", "济南亿次元", 10 | "海创", "创联世纪", "凌云", "泰麒麟", "彩虹", "兰金电子", 11 | "晖来计算机", "天益", "恒聪百汇", "菊风公司", "惠派国际公司", 12 | "创汇", "思优", "时空盒数字", "易动力", "飞海科技", "华泰通安", 13 | "盟新", "商软冠联", "图龙信息", "易动力", "华远软件", "创亿", 14 | "时刻", "开发区世创", "明腾", "良诺", "天开", "毕博诚", "快讯", 15 | "凌颖信息", "黄石金承", "恩悌", "雨林木风计算机", "双敏电子", 16 | "维旺明", "网新恒天", "数字100", "飞利信", "立信电子", "联通时科", 17 | "中建创业", "新格林耐特", "新宇龙信息", "浙大万朋", "MBP软件", 18 | "昂歌信息", "万迅电脑", "方正科技", "联软", "七喜", "南康", "银嘉", 19 | "巨奥", "佳禾", "国讯", "信诚致远", "浦华众城", "迪摩", "太极", 20 | "群英", "合联电子", "同兴万点", "襄樊地球村", "精芯", "艾提科信", 21 | "昊嘉", "鸿睿思博", "四通", "富罳", "商软冠联", "诺依曼软件", 22 | "东方峻景", "华成育卓", "趋势", "维涛", "通际名联"] 23 | company_suffixes = [n + "有限公司" for n in ["科技", "网络", "信息", "传媒"]] 24 | 25 | def company_prefix(self): 26 | return self.random_element(self.company_prefixes) 27 | -------------------------------------------------------------------------------- /src/libs/faker/providers/automotive/ar_JO/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as AutomotiveProvider 5 | 6 | 7 | class Provider(AutomotiveProvider): 8 | # Source: 9 | # https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Jordan 10 | license_formats = ( 11 | '{{initials}}-####', 12 | '{{initials}}-#####', 13 | ) 14 | 15 | def initials(self): 16 | return self.random_element([ 17 | '1', # Ministers 18 | '2', '3', # Parliament 19 | '5', # General Government 20 | 21 | '6', # Aqaba free zone 22 | '7', '8', # Diplomatic 23 | '9', # Temporary 24 | '10', '23', # Passenger cars 25 | '38', '39', # Crew cabs 26 | '41', '42', # Light goods vehicles 27 | '44', # Tractors 28 | '46', # Motorcycles and scooters 29 | '50', # Taxi 30 | '56', # Small buses 31 | '58', # Coaches 32 | '60', # HGVs 33 | '70', # Rental Cars 34 | '71', # Trailer 35 | '90', # Army 36 | '95', # Ambulance 37 | '96', # Gendarmerie 38 | '99', # Police 39 | ]) 40 | 41 | def license_plate(self): 42 | pattern = self.random_element(self.license_formats) 43 | return self.numerify(self.generator.parse(pattern)) 44 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/en_GB/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as BaseProvider 4 | 5 | 6 | class Provider(BaseProvider): 7 | # Source: 8 | # https://en.wikipedia.org/wiki/National_Insurance_number 9 | # UK National Insurance numbers (NINO) follow a specific format 10 | # To avoid generating real NINOs, the prefix and suffix letters 11 | # remain static using values reserved by HMRC (never to be used). 12 | # Example format: "QR 12 34 56 C" or "QR123456C" - only alphanumeric 13 | # and whitespace characters are permitted. Whitespace is for readability 14 | # only and is generally included as per the above examples, but a 15 | # few 'styles' have been included below for the sake of realism. 16 | 17 | nino_formats = ( 18 | 'ZZ ## ## ## T', 19 | 'ZZ######T', 20 | 'ZZ ###### T', 21 | ) 22 | 23 | def ssn(self): 24 | pattern = self.random_element(self.nino_formats) 25 | return self.numerify(self.generator.parse(pattern)) 26 | 27 | vat_id_formats = ( 28 | 'GB### #### ##', 29 | 'GB### #### ## ###', 30 | 'GBGD###', 31 | 'GBHA###', 32 | ) 33 | 34 | def vat_id(self): 35 | """ 36 | http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 37 | :return: A random British VAT ID 38 | """ 39 | return self.bothify(self.random_element(self.vat_id_formats)) 40 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/en_US/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | # Standard 10-digit phone number formats 8 | '##########', 9 | '##########', 10 | '###-###-####', 11 | '###-###-####', 12 | # Optional 10-digit local phone number format 13 | '(###)###-####', 14 | '(###)###-####', 15 | # Non-standard 10-digit phone number format 16 | '###.###.####', 17 | '###.###.####', 18 | # Standard 10-digit phone number format with extensions 19 | '###-###-####x###', 20 | '###-###-####x####', 21 | '###-###-####x#####', 22 | # Optional 10-digit local phone number format with extensions 23 | '(###)###-####x###', 24 | '(###)###-####x####', 25 | '(###)###-####x#####', 26 | # Non-standard 10-digit phone number format with extensions 27 | '###.###.####x###', 28 | '###.###.####x####', 29 | '###.###.####x#####', 30 | # Standard 11-digit phone number format 31 | '+1-###-###-####', 32 | '001-###-###-####', 33 | # Standard 11-digit phone number format with extensions 34 | '+1-###-###-####x###', 35 | '+1-###-###-####x####', 36 | '+1-###-###-####x#####', 37 | '001-###-###-####x###', 38 | '001-###-###-####x####', 39 | '001-###-###-####x#####', 40 | ) 41 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/en_NZ/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as PhoneNumberProvider 4 | 5 | 6 | class Provider(PhoneNumberProvider): 7 | formats = ( 8 | # Local calls 9 | '%## ####', 10 | '%##-####', 11 | '%######', 12 | # National & Mobile dialing 13 | '0{{area_code}} %## ####', 14 | '0{{area_code}} %##-####', 15 | '0{{area_code}}-%##-####', 16 | '0{{area_code}} %######', 17 | # Optional parenthesis 18 | '(0{{area_code}}) %## ####', 19 | '(0{{area_code}}) %##-####', 20 | '(0{{area_code}}) %######', 21 | # International drops the 0 22 | '+64 {{area_code}} %## ####', 23 | '+64 {{area_code}} %##-####', 24 | '+64 {{area_code}} %######', 25 | '+64-{{area_code}}-%##-####', 26 | '+64{{area_code}}%######', 27 | ) 28 | 29 | area_codes = [ 30 | # Mobiles 31 | '20', 32 | '21', 33 | '22', 34 | '27', 35 | '29', 36 | 37 | '3', # South Island 38 | '4', # Wellington 39 | '6', # Lower North Island 40 | '7', # Central North Island 41 | '9', # Auckland 42 | ] 43 | 44 | def area_code(self): 45 | return self.numerify(self.random_element(self.area_codes)) 46 | 47 | def phone_number(self): 48 | pattern = self.random_element(self.formats) 49 | return self.numerify(self.generator.parse(pattern)) 50 | -------------------------------------------------------------------------------- /src/libs/faker/providers/company/fr_CH/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from ..fr_FR import Provider as CompanyProvider 4 | 5 | 6 | class Provider(CompanyProvider): 7 | company_suffixes = ('SA', 'Sàrl.') 8 | 9 | def ide(self): 10 | """ 11 | Generates a IDE number (9 digits). 12 | http://www.bfs.admin.ch/bfs/portal/fr/index/themen/00/05/blank/03/02.html 13 | """ 14 | def _checksum(digits): 15 | factors = (5, 4, 3, 2, 7, 6, 5, 4) 16 | sum_ = 0 17 | for i in range(len(digits)): 18 | sum_ += digits[i] * factors[i] 19 | return sum_ % 11 20 | 21 | while True: 22 | # create an array of first 8 elements initialized randomly 23 | digits = self.generator.random.sample(range(10), 8) 24 | # sum those 8 digits according to (part of) the "modulo 11" 25 | sum_ = _checksum(digits) 26 | # determine the last digit to make it qualify the test 27 | control_number = 11 - sum_ 28 | if control_number != 10: 29 | digits.append(control_number) 30 | break 31 | 32 | digits = ''.join([str(digit) for digit in digits]) 33 | # finally return our random but valid BSN 34 | return 'CHE-' + digits[0:3] + '.'\ 35 | + digits[3:6] + '.'\ 36 | + digits[6:9] 37 | uid = ide 38 | # uid: german name for ide 39 | idi = ide 40 | # idi: italian name for ide 41 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/en_AU/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | # Local calls 8 | '#### ####', 9 | '####-####', 10 | '####.####', # domain registrars apparently use this 11 | '########', 12 | # National dialing 13 | '0{{area_code}} #### ####', 14 | '0{{area_code}}-####-####', 15 | '0{{area_code}}.####.####', 16 | '0{{area_code}}########', 17 | # Optional parenthesis 18 | '(0{{area_code}}) #### ####', 19 | '(0{{area_code}})-####-####', 20 | '(0{{area_code}}).####.####', 21 | '(0{{area_code}})########', 22 | # International drops the 0 23 | '+61 {{area_code}} #### ####', 24 | '+61-{{area_code}}-####-####', 25 | '+61.{{area_code}}.####.####', 26 | '+61{{area_code}}########', 27 | # 04 Mobile telephones (Australia-wide) mostly commonly written 4 - 3 - 28 | # 3 instead of 2 - 4 - 4 29 | '04## ### ###', 30 | '04##-###-###', 31 | '04##.###.###', 32 | '+61 4## ### ###', 33 | '+61-4##-###-###', 34 | '+61.4##.###.###', 35 | ) 36 | 37 | def area_code(self): 38 | return self.numerify(self.random_element( 39 | ['2', 40 | '3', 41 | '7', 42 | '8'])) 43 | 44 | def phone_number(self): 45 | pattern = self.random_element(self.formats) 46 | return self.numerify(self.generator.parse(pattern)) 47 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/it_IT/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | """it_IT ssn provider (yields italian fiscal codes)""" 3 | 4 | from __future__ import unicode_literals 5 | from string import ascii_uppercase, digits 6 | from .. import Provider as SsnProvider 7 | 8 | 9 | ALPHANUMERICS = sorted(digits + ascii_uppercase) 10 | ALPHANUMERICS_DICT = {char: index for index, char in enumerate(ALPHANUMERICS)} 11 | CHECKSUM_TABLE = ( 12 | (1, 0, 5, 7, 9, 13, 15, 17, 19, 21, 1, 0, 5, 7, 9, 13, 15, 17, 19, 13 | 21, 2, 4, 18, 20, 11, 3, 6, 8, 12, 14, 16, 10, 22, 25, 24, 23), 14 | (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15 | 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)) 16 | 17 | 18 | def checksum(value): 19 | """ 20 | Calculates the checksum char used for the 16th char. 21 | Author: Vincenzo Palazzo 22 | """ 23 | return chr(65 + sum(CHECKSUM_TABLE[index % 2][ALPHANUMERICS_DICT[char]] 24 | for index, char in enumerate(value)) % 26) 25 | 26 | 27 | class Provider(SsnProvider): 28 | """ 29 | Generates italian fiscal codes. 30 | """ 31 | fiscal_code_format = '??????##?##?###' 32 | 33 | def ssn(self): 34 | code = self.bothify(self.fiscal_code_format).upper() 35 | return code + checksum(code) 36 | 37 | vat_id_formats = ( 38 | 'IT###########', 39 | ) 40 | 41 | def vat_id(self): 42 | """ 43 | http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 44 | :return: A random Italian VAT ID 45 | """ 46 | return self.bothify(self.random_element(self.vat_id_formats)) 47 | -------------------------------------------------------------------------------- /src/libs/faker/providers/company/zh_TW/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as CompanyProvider 4 | 5 | 6 | class Provider(CompanyProvider): 7 | formats = ("{{company_prefix}}{{company_suffix}}", ) 8 | 9 | company_prefixes = ( 10 | "品王餐飲", "一統企業", "品誠", "台灣電信", 11 | "Goagle", "一統星巴克", "台日積體電路", "榮長航空", 12 | "台灣印無品良", "華中航空", "台灣人銀行", "國中鋼鐵", 13 | "海鴻精密", "台灣鐵高", "家宜家居(KIEA)", "天上雜誌", 14 | "台灣力電", "碩華電腦", "雄豹旅遊", "光新三越百貨", 15 | "台灣軟微", "鐵台", "一統超商", "碁宏", 16 | "創群光電(奇原美電子)", "台灣酒菸", "美奧廣告", "AYHOO!摩奇", 17 | "台灣台油", "達宏國際電子", "華晶國際酒店", "秀威影城", 18 | "王鼎餐飲集團", "台灣五星電子", "遊戲葡萄數位科技", "橋子王生技", 19 | "大八電視", "台灣業糖", "都亞緻麗", "台灣來自水", 20 | "麥當當", "風微廣場", "見遠雜誌", "石金堂", 21 | "邦城文化事業", "華中郵政", "達友光電", "中台信託商業銀行", 22 | "台北登來喜大飯店", "全味食品工業", "遠西百貨", "旗花(台灣銀)行", 23 | "冠智科技", "丹味企業", "發聯科技", "台灣雅萊(Y'ORÉAL)", 24 | "古太可口可樂", "榮長海運", "達廣電腦", "華福大飯店", 25 | "立三電視", "星燦國際旅行社", "衣優庫(Nuiqlo)", "德汎", 26 | "台北眾大捷運", "共公電視", "明陽海運", "雄遠建設事業", 27 | "台灣迪奧汽車", "台灣地土銀行", "天中電視", "月日光半導體", 28 | "塑台石化", "樂可旅遊集團", "信永藥品", "輝燁企業", 29 | "興復航空運輸", "豐兆國際商業銀行", "平太洋崇光百貨", "神漢名店百貨", 30 | "台灣士賓", "賓國大飯店", "業商週刊", "台灣BIM", 31 | "湖劍山世界", "合作庫金商業銀行", "台北邦富商業銀行", "愛味之", 32 | "邦富人壽保險", "律理法律", "心安食品服務(斯摩漢堡)", "松黑", 33 | "台灣生資堂", "鮮爭", "達台電子", "聯燁鋼鐵", "華聯電子", 34 | "瑞輝大藥廠", "隆豐大飯店(北台君悅)", "資華粧業(生資堂)") 35 | 36 | company_suffixes = ("", "有限公司", "股份有限公司", "資訊有限公司") 37 | 38 | def company_prefix(self): 39 | return self.random_element(self.company_prefixes) 40 | -------------------------------------------------------------------------------- /src/libs/faker/providers/lorem/he_IL/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as LoremProvider 4 | 5 | 6 | class Provider(LoremProvider): 7 | word_list = ( 8 | "אאוגו", "אגת", "אדיפיסינג", "אדנדום", "אט", "איאקוליס", "איבן", "איף", 9 | "איפסום", "אלית", "אלמנקום", "אמט", "אס", "אפאח", "אקווזמן", "ארווס", 10 | "בגורמי", "בורק?", "בלובק", "בלינדו", "בלינך", "בליקרה", "בעליק", 11 | "בעריר", "בראיט", "ברומץ", "בריקנה", "ברשג", "גדדיש", "גולר", "גק", 12 | "דול", "דולור", "דומור", "דז", "דיאם", "דלאמת", "דס", "הבקיץ", "הדש", 13 | "הועניב", "היושבב", "הכייר", "השמה", "התידם", "וואל", "וולופטה", 14 | "וחאית", "ולחת", "ולתיעם", "ומעיוט", "ומרגשח", "וסטיבולום", "וסתעד", 15 | "וק", "ותלברו", "זותה", "חשלו", "טידום", "יבש", "יהול", "ישבעס", "כאנה", 16 | "כלרשט", "להאמית", "לורם", "ליאמום", "ליבם", "ליץ", "לכימפו", "לכנו", 17 | "לכנוץ", "למטכין", "למרקוח", "למרקל", "לפמעט", "לפריקך", "לפתיעם", 18 | "לקטוס", "לרטי", "לתיג", "לתכי", "מא", "מגמש", "מונחף", "מונפרד", 19 | "מונפרר", "מוסן", "מורגם", "מיחוצים", "מנורך", "מנכם", "מנק", "מנת", 20 | "מרגשי", "נובש", "נולום", "נון", "נונסטי", "ניבאה", "ניסי", "ניצאחו", 21 | "נמרגי", "נשואי", "סאפיאן", "סוברט", "סולגק", "סוליסי", "סחטיר", 22 | "סטום", "סיט", "סילקוף", "סכעיט", "סת", "סתשם", "עמחליף", "ערששף", 23 | "פוסיליס", "צוט", "צופעט", "צורק", "קוויז", "קוויס", "קולהע", "קולורס", 24 | "קונדימנטום", "קונסקטורר", "קורוס", "קלאצי", "קלובר", "קראס", "קרהשק", 25 | "רוגצה", "שבצק", "שהכים", "שלושע", "שמחויט", "שנרא", "שעותלשך", "שערש", 26 | "תוק", "תצטנפל", "תצטריק", "תרבנך", 27 | ) 28 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/hr_HR/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as SsnProvider 5 | 6 | 7 | def checksum(digits): 8 | """ 9 | Calculate and return control digit for given list of digits based on 10 | ISO7064, MOD 11,10 standard. 11 | """ 12 | remainder = 10 13 | for digit in digits: 14 | remainder = (remainder + digit) % 10 15 | if remainder == 0: 16 | remainder = 10 17 | remainder = (remainder * 2) % 11 18 | 19 | control_digit = 11 - remainder 20 | if control_digit == 10: 21 | control_digit = 0 22 | return control_digit 23 | 24 | 25 | class Provider(SsnProvider): 26 | """ 27 | The Personal identification number (Croatian: Osobni identifikacijski 28 | broj or OIB) is a permanent national identification number of every 29 | Croatian citizen and legal persons domiciled in the Republic of Croatia. 30 | 31 | OIB consists of 11 digits which contain no personal information. The OIB 32 | is constructed from ten randomly chosen digits and one digit control number 33 | (international standard ISO 7064, module 11.10). 34 | """ 35 | 36 | def ssn(self): 37 | digits = self.generator.random.sample(range(10), 10) 38 | 39 | digits.append(checksum(digits)) 40 | 41 | return ''.join(map(str, digits)) 42 | 43 | vat_id_formats = ( 44 | 'HR###########', 45 | ) 46 | 47 | def vat_id(self): 48 | """ 49 | http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 50 | :return: A random Croatian VAT ID 51 | """ 52 | return self.bothify(self.random_element(self.vat_id_formats)) 53 | -------------------------------------------------------------------------------- /src/libs/faker/providers/automotive/ar_PS/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as AutomotiveProvider 5 | 6 | 7 | class Provider(AutomotiveProvider): 8 | # Source: 9 | # https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_the_Palestinian_National_Authority 10 | license_formats = ( 11 | # Private vehicles 12 | '{{district}}-####-3#', 13 | '{{district}}-####-4#', 14 | '{{district}}-####-7#', 15 | '{{district}}-####-9#', 16 | # Public transport 17 | '{{district}}-####-30', 18 | # Authority vehicles 19 | '####', 20 | # New police vehicles 21 | '####-99', 22 | 23 | # Gaza strip after 2012 24 | 25 | # Private 26 | '1-####-0#', 27 | '3-####-0#', 28 | # Commercial 29 | '1-####-1#', 30 | '3-####-1#', 31 | # Public 32 | '1-####-2#', 33 | '3-####-2#', 34 | # Municipal 35 | '1-####-4#', 36 | '3-####-4#', 37 | # Governmental, and Governmental personal vehicles 38 | '1-####-5#', 39 | '3-####-5#', 40 | ) 41 | 42 | def district(self): 43 | return self.random_element([ 44 | # Gaza Strip 45 | '1', 46 | '3', 47 | 48 | # Northern West Bank (Nablus, Tulkarm, Qalqilya, Jenin) 49 | '4', 50 | '7', 51 | 52 | # Central West Bank (Ramallah, Jerusalem, Jericho) 53 | '5', 54 | '6', 55 | 56 | # Southern West Bank (Bethlehem, Hebron) 57 | '8', 58 | '9', 59 | ]) 60 | 61 | def license_plate(self): 62 | pattern = self.random_element(self.license_formats) 63 | return self.numerify(self.generator.parse(pattern)) 64 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/fr_CH/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as SsnProvider 5 | 6 | 7 | class Provider(SsnProvider): 8 | ssn_formats = ("###.####.####.##",) 9 | 10 | def ssn(self): 11 | """ 12 | Returns a 13 digits Swiss SSN named AHV (German) or 13 | AVS (French and Italian) 14 | See: http://www.bsv.admin.ch/themen/ahv/00011/02185/ 15 | """ 16 | def _checksum(digits): 17 | evensum = sum(digits[:-1:2]) 18 | oddsum = sum(digits[1::2]) 19 | return (10 - ((evensum + oddsum * 3) % 10)) % 10 20 | 21 | digits = [7, 5, 6] 22 | # create an array of first 9 elements initialized randomly 23 | digits += self.generator.random.sample(range(10), 9) 24 | # determine the last digit to make it qualify the test 25 | digits.append(_checksum(digits)) 26 | # repeat steps until it does qualify the test 27 | 28 | digits = ''.join([str(d) for d in digits]) 29 | ssn = digits[:3] + '.' \ 30 | + digits[3:7] + '.' \ 31 | + digits[7:11] + '.' \ 32 | + digits[11:] 33 | return ssn 34 | 35 | def vat_id(self): 36 | """ 37 | :return: Swiss UID number 38 | """ 39 | def _checksum(digits): 40 | code = ['8', '6', '4', '2', '3', '5', '9', '7'] 41 | remainder = 11-(sum(map(lambda x, y: int(x) * int(y), code, digits)) % 11) 42 | if remainder == 10: 43 | return 0 44 | elif remainder == 11: 45 | return 5 46 | return remainder 47 | 48 | vat_id = self.bothify('########') 49 | return 'CHE' + vat_id + str(_checksum(vat_id)) 50 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/nl_NL/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as SsnProvider 5 | 6 | 7 | class Provider(SsnProvider): 8 | 9 | def ssn(self): 10 | """ 11 | Returns a 9 digits Dutch SSN called "burgerservicenummer (BSN)". 12 | 13 | the Dutch "burgerservicenummer (BSN)" needs to pass the "11-proef", 14 | which is a check digit approach; this function essentially reverses 15 | the checksum steps to create a random valid BSN (which is 9 digits). 16 | """ 17 | # see http://nl.wikipedia.org/wiki/Burgerservicenummer (in Dutch) 18 | def _checksum(digits): 19 | factors = (9, 8, 7, 6, 5, 4, 3, 2, -1) 20 | s = 0 21 | for i in range(len(digits)): 22 | s += digits[i] * factors[i] 23 | return s 24 | 25 | while True: 26 | # create an array of first 8 elements initialized randomly 27 | digits = self.generator.random.sample(range(10), 8) 28 | # sum those 8 digits according to (part of) the "11-proef" 29 | s = _checksum(digits) 30 | # determine the last digit to make it qualify the test 31 | digits.append((s % 11) % 10) 32 | # repeat steps until it does qualify the test 33 | if 0 == (_checksum(digits) % 11): 34 | break 35 | 36 | # build the resulting BSN 37 | bsn = "".join([str(e) for e in digits]) 38 | # finally return our random but valid BSN 39 | return bsn 40 | 41 | vat_id_formats = ( 42 | 'NL#########B##', 43 | ) 44 | 45 | def vat_id(self): 46 | """ 47 | http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 48 | :return: A random Dutch VAT ID 49 | """ 50 | return self.bothify(self.random_element(self.vat_id_formats)) 51 | -------------------------------------------------------------------------------- /src/libs/dateutil/zoneinfo/rebuild.py: -------------------------------------------------------------------------------- 1 | import logging 2 | import os 3 | import tempfile 4 | import shutil 5 | import json 6 | from subprocess import check_call 7 | from tarfile import TarFile 8 | 9 | from dateutil.zoneinfo import METADATA_FN, ZONEFILENAME 10 | 11 | 12 | def rebuild(filename, tag=None, format="gz", zonegroups=[], metadata=None): 13 | """Rebuild the internal timezone info in dateutil/zoneinfo/zoneinfo*tar* 14 | 15 | filename is the timezone tarball from ``ftp.iana.org/tz``. 16 | 17 | """ 18 | tmpdir = tempfile.mkdtemp() 19 | zonedir = os.path.join(tmpdir, "zoneinfo") 20 | moduledir = os.path.dirname(__file__) 21 | try: 22 | with TarFile.open(filename) as tf: 23 | for name in zonegroups: 24 | tf.extract(name, tmpdir) 25 | filepaths = [os.path.join(tmpdir, n) for n in zonegroups] 26 | try: 27 | check_call(["zic", "-d", zonedir] + filepaths) 28 | except OSError as e: 29 | _print_on_nosuchfile(e) 30 | raise 31 | # write metadata file 32 | with open(os.path.join(zonedir, METADATA_FN), 'w') as f: 33 | json.dump(metadata, f, indent=4, sort_keys=True) 34 | target = os.path.join(moduledir, ZONEFILENAME) 35 | with TarFile.open(target, "w:%s" % format) as tf: 36 | for entry in os.listdir(zonedir): 37 | entrypath = os.path.join(zonedir, entry) 38 | tf.add(entrypath, entry) 39 | finally: 40 | shutil.rmtree(tmpdir) 41 | 42 | 43 | def _print_on_nosuchfile(e): 44 | """Print helpful troubleshooting message 45 | 46 | e is an exception raised by subprocess.check_call() 47 | 48 | """ 49 | if e.errno == 2: 50 | logging.error( 51 | "Could not find zic. Perhaps you need to install " 52 | "libc-bin or some other package that provides it, " 53 | "or it's not in your PATH?") 54 | -------------------------------------------------------------------------------- /src/libs/faker/providers/isbn/rules.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | """ 3 | This module exists solely to figure how long a registrant/publication 4 | number may be within an ISBN. The rules change based on the prefix and 5 | language/region. This list of rules only encapsulates the 978 prefix 6 | for English books. 978 is the largest and, until recently, the only 7 | prefix. 8 | 9 | The complete list of prefixes and rules can be found at 10 | https://www.isbn-international.org/range_file_generation 11 | """ 12 | 13 | from collections import namedtuple 14 | 15 | RegistrantRule = namedtuple( 16 | 'RegistrantRule', ['min', 'max', 'registrant_length']) 17 | 18 | # Structure: RULES[`EAN Prefix`][`Registration Group`] = [Rule1, Rule2, ...] 19 | RULES = { 20 | '978': { 21 | '0': [ 22 | RegistrantRule('0000000', '1999999', 2), 23 | RegistrantRule('2000000', '2279999', 3), 24 | RegistrantRule('2280000', '2289999', 4), 25 | RegistrantRule('2290000', '6479999', 3), 26 | RegistrantRule('6480000', '6489999', 7), 27 | RegistrantRule('6490000', '6999999', 3), 28 | RegistrantRule('7000000', '8499999', 4), 29 | RegistrantRule('8500000', '8999999', 5), 30 | RegistrantRule('9000000', '9499999', 6), 31 | RegistrantRule('9500000', '9999999', 7), 32 | ], 33 | '1': [ 34 | RegistrantRule('0000000', '0999999', 2), 35 | RegistrantRule('1000000', '3999999', 3), 36 | RegistrantRule('4000000', '5499999', 4), 37 | RegistrantRule('5500000', '7319999', 5), 38 | RegistrantRule('7320000', '7399999', 7), 39 | RegistrantRule('7400000', '8697999', 5), 40 | RegistrantRule('8698000', '9729999', 6), 41 | RegistrantRule('9730000', '9877999', 4), 42 | RegistrantRule('9878000', '9989999', 6), 43 | RegistrantRule('9990000', '9999999', 7), 44 | ], 45 | }, 46 | } 47 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/ar_JO/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | # Source: https://en.wikipedia.org/wiki/Telephone_numbers_in_Jordan 7 | 8 | cellphone_formats = ( 9 | '+9627{{operator_id}}#######', 10 | '+962 7 {{operator_id}}### ####', 11 | '07{{operator_id}}#######', 12 | '07{{operator_id}} ### ####', 13 | ) 14 | 15 | telephone_formats = ( 16 | '+962{{area_code}}#######', 17 | '+962 {{area_code}} ### ####', 18 | '0{{area_code}}#######', 19 | '0{{area_code}} ### ####', 20 | ) 21 | 22 | services_phones_formats = ( 23 | '9##', 24 | '12##', 25 | '13##', 26 | '14##', 27 | ) 28 | 29 | formats = cellphone_formats + \ 30 | telephone_formats + \ 31 | services_phones_formats 32 | 33 | def operator_id(self): 34 | return self.random_element([ 35 | '4', 36 | '7', 37 | '8', 38 | '9', 39 | ]) 40 | 41 | def area_code(self): 42 | return self.random_element([ 43 | '2', 44 | '3', 45 | '5', 46 | '6', 47 | '7', 48 | ]) 49 | 50 | def cellphone_number(self): 51 | pattern = self.random_element(self.cellphone_formats) 52 | return self.numerify(self.generator.parse(pattern)) 53 | 54 | def telephone_number(self): 55 | pattern = self.random_element(self.telephone_formats) 56 | return self.numerify(self.generator.parse(pattern)) 57 | 58 | def service_phone_number(self): 59 | pattern = self.random_element(self.services_phones_formats) 60 | return self.numerify(self.generator.parse(pattern)) 61 | 62 | def phone_number(self): 63 | pattern = self.random_element(self.formats) 64 | return self.numerify(self.generator.parse(pattern)) 65 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/ru_RU/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as InternetProvider 4 | 5 | 6 | class Provider(InternetProvider): 7 | user_name_formats = ( 8 | '{{last_name_female}}.{{first_name_female}}', 9 | '{{last_name_male}}.{{first_name_male}}', 10 | '{{last_name_male}}.{{first_name_male}}', 11 | '{{first_name_male}}.{{last_name_male}}', 12 | '{{first_name}}##', 13 | '{{first_name}}_##', 14 | '?{{last_name}}', 15 | '{{first_name}}{{year}}', 16 | '{{first_name}}_{{year}}', 17 | ) 18 | 19 | email_formats = ( 20 | '{{user_name}}@{{free_email_domain}}', 21 | '{{user_name}}@{{domain_name}}') 22 | 23 | free_email_domains = ( 24 | 'gmail.com', 25 | 'yahoo.com', 26 | 'hotmail.com', 27 | 'mail.ru', 28 | 'yandex.ru', 29 | 'rambler.ru') 30 | 31 | tlds = ('ru', 'com', 'biz', 'info', 'net', 'org', 'edu') 32 | 33 | replacements = ( 34 | ('А', 'a'), ('Б', 'b'), ('В', 'v'), ('Г', 'g'), ('Д', 'd'), ('Е', 'e'), 35 | ('Ё', 'e'), ('Ж', 'zh'), ('З', 'z'), ('И', 'i'), ('Й', ''), ('К', 'k'), 36 | ('Л', 'l'), ('М', 'm'), ('Н', 'n'), ('О', 'o'), ('П', 'p'), ('Р', 'r'), 37 | ('С', 's'), ('Т', 't'), ('У', 'u'), ('Ф', 'f'), ('Х', 'h'), ('Ц', 'ts'), 38 | ('Ч', 'ch'), ('Ш', 'sh'), ('Щ', 'shch'), ('Ъ', ''), ('Ы', 'i'), 39 | ('Ь', ''), ('Э', 'e'), ('Ю', 'yu'), ('Я', 'ya'), ('а', 'a'), ('б', 'b'), 40 | ('в', 'v'), ('г', 'g'), ('д', 'd'), ('е', 'e'), ('ё', 'e'), ('ж', 'zh'), 41 | ('з', 'z'), ('и', 'i'), ('й', ''), ('к', 'k'), ('л', 'l'), ('м', 'm'), 42 | ('н', 'n'), ('о', 'o'), ('п', 'p'), ('р', 'r'), ('с', 's'), ('т', 't'), 43 | ('у', 'u'), ('ф', 'f'), ('х', 'h'), ('ц', 'ts'), ('ч', 'ch'), 44 | ('ш', 'sh'), ('щ', 'shch'), ('ъ', ''), ('ы', 'i'), ('ь', ''), 45 | ('э', 'e'), ('ю', 'ju'), ('я', 'ja'), 46 | ) 47 | -------------------------------------------------------------------------------- /src/libs/dateutil/parser/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from ._parser import parse, parser, parserinfo 3 | from ._parser import DEFAULTPARSER, DEFAULTTZPARSER 4 | from ._parser import UnknownTimezoneWarning 5 | 6 | from ._parser import __doc__ 7 | 8 | from .isoparser import isoparser, isoparse 9 | 10 | __all__ = ['parse', 'parser', 'parserinfo', 11 | 'isoparse', 'isoparser', 12 | 'UnknownTimezoneWarning'] 13 | 14 | 15 | ### 16 | # Deprecate portions of the private interface so that downstream code that 17 | # is improperly relying on it is given *some* notice. 18 | 19 | 20 | def __deprecated_private_func(f): 21 | from functools import wraps 22 | import warnings 23 | 24 | msg = ('{name} is a private function and may break without warning, ' 25 | 'it will be moved and or renamed in future versions.') 26 | msg = msg.format(name=f.__name__) 27 | 28 | @wraps(f) 29 | def deprecated_func(*args, **kwargs): 30 | warnings.warn(msg, DeprecationWarning) 31 | return f(*args, **kwargs) 32 | 33 | return deprecated_func 34 | 35 | def __deprecate_private_class(c): 36 | import warnings 37 | 38 | msg = ('{name} is a private class and may break without warning, ' 39 | 'it will be moved and or renamed in future versions.') 40 | msg = msg.format(name=c.__name__) 41 | 42 | class private_class(c): 43 | __doc__ = c.__doc__ 44 | 45 | def __init__(self, *args, **kwargs): 46 | warnings.warn(msg, DeprecationWarning) 47 | super(private_class, self).__init__(*args, **kwargs) 48 | 49 | private_class.__name__ = c.__name__ 50 | 51 | return private_class 52 | 53 | 54 | from ._parser import _timelex, _resultbase 55 | from ._parser import _tzparser, _parsetz 56 | 57 | _timelex = __deprecate_private_class(_timelex) 58 | _tzparser = __deprecate_private_class(_tzparser) 59 | _resultbase = __deprecate_private_class(_resultbase) 60 | _parsetz = __deprecated_private_func(_parsetz) 61 | -------------------------------------------------------------------------------- /src/libs/faker/utils/loading.py: -------------------------------------------------------------------------------- 1 | import os 2 | import sys 3 | from importlib import import_module 4 | import pkgutil 5 | 6 | 7 | def get_path(module): 8 | if getattr(sys, 'frozen', False): 9 | # frozen 10 | 11 | if getattr(sys, '_MEIPASS', False): 12 | # PyInstaller 13 | lib_dir = getattr(sys, '_MEIPASS') 14 | else: 15 | # others 16 | base_dir = os.path.dirname(sys.executable) 17 | lib_dir = os.path.join(base_dir, "lib") 18 | 19 | module_to_rel_path = os.path.join(*module.__package__.split(".")) 20 | path = os.path.join(lib_dir, module_to_rel_path) 21 | else: 22 | # unfrozen 23 | path = os.path.dirname(os.path.realpath(module.__file__)) 24 | return path 25 | 26 | 27 | def list_module(module): 28 | path = get_path(module) 29 | 30 | if getattr(sys, '_MEIPASS', False): 31 | # PyInstaller 32 | return [name for name in os.listdir(path) 33 | if os.path.isdir(os.path.join(path, name)) and 34 | "__init__.py" in os.listdir(os.path.join(path, name))] 35 | else: 36 | return [name for _, name, is_pkg in pkgutil.iter_modules([path]) if is_pkg] 37 | 38 | 39 | def find_available_locales(providers): 40 | available_locales = set() 41 | 42 | for provider_path in providers: 43 | 44 | provider_module = import_module(provider_path) 45 | if getattr(provider_module, 'localized', False): 46 | langs = list_module(provider_module) 47 | available_locales.update(langs) 48 | return available_locales 49 | 50 | 51 | def find_available_providers(modules): 52 | available_providers = set() 53 | for providers_mod in modules: 54 | providers = [ 55 | '.'.join([providers_mod.__package__, mod]) 56 | for mod in list_module(providers_mod) if mod != '__pycache__' 57 | ] 58 | available_providers.update(providers) 59 | return sorted(available_providers) 60 | -------------------------------------------------------------------------------- /src/libs/faker/utils/distribution.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | import bisect 4 | from faker.generator import random as mod_random 5 | 6 | 7 | def random_sample(random=None): 8 | if random is None: 9 | random = mod_random 10 | return random.uniform(0.0, 1.0) 11 | 12 | 13 | def cumsum(it): 14 | total = 0 15 | for x in it: 16 | total += x 17 | yield total 18 | 19 | 20 | def choices_distribution_unique(a, p, random=None, length=1): 21 | # As of Python 3.7, there isn't a way to sample unique elements that takes 22 | # weight into account. 23 | if random is None: 24 | random = mod_random 25 | 26 | assert len(a) == len(p) 27 | assert len(a) >= length, "You can't request more unique samples than elements in the dataset." 28 | 29 | choices = [] 30 | items = list(a) 31 | probabilities = list(p) 32 | for i in range(length): 33 | cdf = list(cumsum(probabilities)) 34 | normal = cdf[-1] 35 | cdf2 = [float(i) / float(normal) for i in cdf] 36 | uniform_sample = random_sample(random=random) 37 | idx = bisect.bisect_right(cdf2, uniform_sample) 38 | item = items[idx] 39 | choices.append(item) 40 | probabilities.pop(idx) 41 | items.pop(idx) 42 | return choices 43 | 44 | 45 | def choices_distribution(a, p, random=None, length=1): 46 | if random is None: 47 | random = mod_random 48 | 49 | assert len(a) == len(p) 50 | 51 | if hasattr(random, 'choices'): 52 | choices = random.choices(a, weights=p, k=length) 53 | return choices 54 | else: 55 | choices = [] 56 | 57 | cdf = list(cumsum(p)) 58 | normal = cdf[-1] 59 | cdf2 = [float(i) / float(normal) for i in cdf] 60 | for i in range(length): 61 | uniform_sample = random_sample(random=random) 62 | idx = bisect.bisect_right(cdf2, uniform_sample) 63 | item = a[idx] 64 | choices.append(item) 65 | return choices 66 | -------------------------------------------------------------------------------- /src/libs/faker/providers/profile/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from .. import BaseProvider 4 | import itertools 5 | 6 | 7 | class Provider(BaseProvider): 8 | """ 9 | This provider is a collection of functions to generate personal profiles and identities. 10 | 11 | """ 12 | 13 | def simple_profile(self, sex=None): 14 | """ 15 | Generates a basic profile with personal informations 16 | """ 17 | SEX = ["F", "M"] 18 | if sex not in SEX: 19 | sex = self.random_element(SEX) 20 | if sex == 'F': 21 | name = self.generator.name_female() 22 | elif sex == 'M': 23 | name = self.generator.name_male() 24 | return { 25 | "username": self.generator.user_name(), 26 | "name": name, 27 | "sex": sex, 28 | "address": self.generator.address(), 29 | "mail": self.generator.free_email(), 30 | "birthdate": self.generator.date_of_birth(), 31 | } 32 | 33 | def profile(self, fields=None, sex=None): 34 | """ 35 | Generates a complete profile. 36 | If "fields" is not empty, only the fields in the list will be returned 37 | """ 38 | if fields is None: 39 | fields = [] 40 | 41 | d = { 42 | "job": self.generator.job(), 43 | "company": self.generator.company(), 44 | "ssn": self.generator.ssn(), 45 | "residence": self.generator.address(), 46 | "current_location": (self.generator.latitude(), self.generator.longitude()), 47 | "blood_group": "".join(self.random_element(list(itertools.product(["A", "B", "AB", "O"], ["+", "-"])))), 48 | "website": [self.generator.url() for _ in range(1, self.random_int(2, 5))], 49 | } 50 | 51 | d = dict(d, **self.generator.simple_profile(sex)) 52 | # field selection 53 | if len(fields) > 0: 54 | d = {k: v for k, v in d.items() if k in fields} 55 | 56 | return d 57 | -------------------------------------------------------------------------------- /src/libs/faker/providers/company/fi_FI/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as CompanyProvider 3 | 4 | 5 | class Provider(CompanyProvider): 6 | formats = ( 7 | '{{last_name}} {{company_suffix}}', 8 | '{{last_name}} {{last_name}} {{company_suffix}}', 9 | '{{last_name}} {{last_name}} {{company_suffix}}', 10 | '{{last_name}}', 11 | ) 12 | 13 | company_suffixes = ( 14 | 'As Oy', 'Tmi', 'Oy', 'Oyj', 'Ky', 'Osk', 'ry', 15 | ) 16 | 17 | def company_business_id(self): 18 | """ 19 | Returns Finnish company Business Identity Code (y-tunnus). 20 | Format is 8 digits - e.g. FI99999999,[8] last digit is a check 21 | digit utilizing MOD 11-2. The first digit is zero for some old 22 | organizations. This function provides current codes starting with 23 | non-zero. 24 | """ 25 | def calculate_checksum(number): 26 | """Calculate the checksum using mod 11,2 method""" 27 | factors = [7, 9, 10, 5, 8, 4, 2] 28 | sum_ = 0 29 | for x, y in zip(number, factors): 30 | sum_ = sum_ + int(x) * y 31 | if sum_ % 11 == 0: 32 | return '0' 33 | else: 34 | return str(11 - sum_ % 11) 35 | 36 | first_digit = str(self.random_digit_not_null()) 37 | body = first_digit + self.bothify('######') 38 | cs = calculate_checksum(body) 39 | return body + '-' + str(cs) 40 | 41 | def company_vat(self): 42 | """ 43 | Returns Finnish VAT identification number (Arvonlisaveronumero). 44 | This can be calculated from company business identity code by 45 | adding prefix "FI" and removing dash before checksum. 46 | """ 47 | def convert_to_vat(business_id): 48 | """ 49 | Convert business id to VATIN 50 | """ 51 | return 'FI' + business_id.replace('-', '') 52 | 53 | return convert_to_vat(self.company_business_id()) 54 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/bg_BG/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as InternetProvider 4 | 5 | 6 | class Provider(InternetProvider): 7 | 8 | user_name_formats = ( 9 | '{{last_name_female}}.{{first_name_female}}', 10 | '{{last_name_male}}.{{first_name_male}}', 11 | '{{last_name_male}}.{{first_name_male}}', 12 | '{{first_name_male}}.{{last_name_male}}', 13 | '{{first_name}}##', 14 | '?{{last_name}}', 15 | '{{first_name}}{{year}}', 16 | ) 17 | 18 | email_formats = ( 19 | '{{user_name}}@{{free_email_domain}}', 20 | '{{user_name}}@{{domain_name}}') 21 | 22 | free_email_domains = ( 23 | 'gmail.com', 'yahoo.com', 'hotmail.com', 'mail.bg', 'abv.bg', 'dir.bg', 24 | ) 25 | 26 | tlds = ('bg', 'com', 'biz', 'info', 'net', 'org', 'edu') 27 | 28 | replacements = ( 29 | ('Б', 'b'), ('Г', 'r'), ('Д', 'd'), ('Ж', 'zh'), ('З', 'z'), ('И', 'i'), 30 | ('Й', 'i'), ('Л', 'l'), ('П', 'p'), ('Ф', 'f'), ('Ц', 'ts'), ('Ч', 'ch'), 31 | ('Ш', 'sh'), ('Щ', 'sht'), ('Ъ', 'u'), ('Ь', ''), ('Ю', 'yu'), ('Я', 'ya'), 32 | ('б', 'b'), ('в', 'v'), ('д', 'd'), ('ж', 'zh'), ('з', 'z'), ('и', 'i'), 33 | ('й', 'i'), ('к', 'k'), ('л', 'l'), ('м', 'm'), ('н', 'n'), ('п', 'p'), 34 | ('т', 't'), ('ф', 'f'), ('ц', 'ts'), ('ч', 'ch'), ('ш', 'sh'), ('щ', 'sht'), 35 | ('ъ', 'u'), ('ь', ''), ('ю', 'yu'), ('я', 'ya'), ('Б', 'b'), ('Г', 'r'), 36 | ('Д', 'd'), ('Ж', 'zh'), ('З', 'z'), ('И', 'i'), ('Й', 'i'), ('Л', 'l'), 37 | ('П', 'p'), ('Ф', 'f'), ('Ц', 'ts'), ('Ч', 'ch'), ('Ш', 'sh'), ('Щ', 'sht'), 38 | ('Ъ', 'u'), ('Ь', ''), ('Ю', 'yu'), ('Я', 'ya'), ('б', 'b'), ('в', 'v'), 39 | ('д', 'd'), ('ж', 'zh'), ('з', 'z'), ('и', 'i'), ('й', 'i'), ('к', 'k'), 40 | ('л', 'l'), ('м', 'm'), ('н', 'n'), ('п', 'p'), ('т', 't'), ('ф', 'f'), 41 | ('ц', 'ts'), ('ч', 'ch'), ('ш', 'sh'), ('щ', 'sht'), ('ъ', 'u'), ('ь', ''), 42 | ('ю', 'yu'), ('я', 'ya'), 43 | ) 44 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/sv_SE/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as SsnProvider 5 | import datetime 6 | 7 | 8 | class Provider(SsnProvider): 9 | 10 | def ssn(self, min_age=18, max_age=90): 11 | """ 12 | Returns a 10 digit Swedish SSN, "Personnummer". 13 | 14 | It consists of 10 digits in the form YYMMDD-SSGQ, where 15 | YYMMDD is the date of birth, SSS is a serial number 16 | and Q is a control character (Luhn checksum). 17 | 18 | http://en.wikipedia.org/wiki/Personal_identity_number_(Sweden) 19 | """ 20 | def _luhn_checksum(number): 21 | def digits_of(n): 22 | return [int(d) for d in str(n)] 23 | digits = digits_of(number) 24 | odd_digits = digits[-1::-2] 25 | even_digits = digits[-2::-2] 26 | checksum = 0 27 | checksum += sum(odd_digits) 28 | for d in even_digits: 29 | checksum += sum(digits_of(d * 2)) 30 | return checksum % 10 31 | 32 | def _calculate_luhn(partial_number): 33 | check_digit = _luhn_checksum(int(partial_number) * 10) 34 | return check_digit if check_digit == 0 else 10 - check_digit 35 | 36 | age = datetime.timedelta( 37 | days=self.generator.random.randrange(min_age * 365, max_age * 365)) 38 | birthday = datetime.datetime.now() - age 39 | pnr_date = birthday.strftime('%y%m%d') 40 | suffix = str(self.generator.random.randrange(0, 999)).zfill(3) 41 | luhn_checksum = str(_calculate_luhn(pnr_date + suffix)) 42 | pnr = '{0}-{1}{2}'.format(pnr_date, suffix, luhn_checksum) 43 | 44 | return pnr 45 | 46 | vat_id_formats = ( 47 | 'SE############', 48 | ) 49 | 50 | def vat_id(self): 51 | """ 52 | http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 53 | :return: A random Swedish VAT ID 54 | """ 55 | 56 | return self.bothify(self.random_element(self.vat_id_formats)) 57 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/pt_BR/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | 5 | from .. import Provider as SsnProvider 6 | 7 | 8 | def checksum(digits): 9 | """ 10 | Returns the checksum of CPF digits. 11 | References to the algorithm: 12 | https://pt.wikipedia.org/wiki/Cadastro_de_pessoas_f%C3%ADsicas#Algoritmo 13 | https://metacpan.org/source/MAMAWE/Algorithm-CheckDigits-v1.3.0/lib/Algorithm/CheckDigits/M11_004.pm 14 | """ 15 | s = 0 16 | p = len(digits) + 1 17 | for i in range(0, len(digits)): 18 | s += digits[i] * p 19 | p -= 1 20 | 21 | reminder = s % 11 22 | if reminder == 0 or reminder == 1: 23 | return 0 24 | else: 25 | return 11 - reminder 26 | 27 | 28 | class Provider(SsnProvider): 29 | """ 30 | Provider for Brazilian SSN also known in Brazil as CPF. 31 | There are two methods Provider.ssn and Provider.cpf 32 | The snn returns a valid number with numbers only 33 | The cpf return a valid number formatted with brazilian mask. eg nnn.nnn.nnn-nn 34 | """ 35 | 36 | def ssn(self): 37 | digits = self.generator.random.sample(range(10), 9) 38 | 39 | dv = checksum(digits) 40 | digits.append(dv) 41 | digits.append(checksum(digits)) 42 | 43 | return ''.join(map(str, digits)) 44 | 45 | def cpf(self): 46 | c = self.ssn() 47 | return c[:3] + '.' + c[3:6] + '.' + c[6:9] + '-' + c[9:] 48 | 49 | def rg(self): 50 | """ 51 | Brazilian RG, return plain numbers. 52 | Check: https://www.ngmatematica.com/2014/02/como-determinar-o-digito-verificador-do.html 53 | """ 54 | 55 | digits = self.generator.random.sample(range(0, 9), 8) 56 | checksum = sum(i * digits[i - 2] for i in range(2, 10)) 57 | last_digit = 11 - (checksum % 11) 58 | 59 | if last_digit == 10: 60 | digits.append('X') 61 | elif last_digit == 11: 62 | digits.append(0) 63 | else: 64 | digits.append(last_digit) 65 | 66 | return ''.join(map(str, digits)) 67 | -------------------------------------------------------------------------------- /src/libs/faker/providers/person/es_CA/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from ..es_ES import Provider as PersonProvider 4 | 5 | 6 | class Provider(PersonProvider): 7 | """ 8 | Adds popular Catalan names. 9 | https://www.idescat.cat/pub/?id=aec&n=946&lang=es&t=2018 10 | https://www.idescat.cat/pub/?id=aec&n=947&lang=es&t=2018 11 | """ 12 | first_names_male = ( 13 | 'Adam', 14 | 'Albert', 15 | 'Aleix', 16 | 'Álex', 17 | 'Antonio', 18 | 'Arnau', 19 | 'Biel', 20 | 'Bruno', 21 | 'Carlos', 22 | 'Daniel', 23 | 'David', 24 | 'Enzo', 25 | 'Èric', 26 | 'Francisco', 27 | 'Hugo', 28 | 'Jan', 29 | 'Javier', 30 | 'Joan', 31 | 'Jordi', 32 | 'Jorge', 33 | 'Josep', 34 | 'José', 35 | 'José María', 36 | 'Juan', 37 | 'Leo', 38 | 'Lucas', 39 | 'Manuel', 40 | 'Marc', 41 | 'Martí', 42 | 'Max', 43 | 'Miguel', 44 | 'Nil', 45 | 'Pau', 46 | 'Pedro', 47 | 'Pol', 48 | 'Ramón', 49 | 'Xavier') 50 | 51 | first_names_female = ( 52 | 'Abril', 53 | 'Aina', 54 | 'Ana', 55 | 'Anna', 56 | 'Antonia', 57 | 'Antònia', 58 | 'Arlet', 59 | 'Carla', 60 | 'Carmen', 61 | 'Chlóe', 62 | 'Clàudia', 63 | 'Cristina', 64 | 'Dolores', 65 | 'Emma', 66 | 'Francisca', 67 | 'Isabel', 68 | 'Jana', 69 | 'Josefa', 70 | 'Júlia', 71 | 'Laia', 72 | 'Laura', 73 | 'Lucia', 74 | 'Marta', 75 | 'Martina', 76 | 'María', 77 | 'María Del Carmen', 78 | 'María Dolores', 79 | 'María Teresa', 80 | 'Mia', 81 | 'Montserrat', 82 | 'Noa', 83 | 'Núria', 84 | 'Ona', 85 | 'Paula', 86 | 'Rosa', 87 | 'Sara', 88 | 'Sofía', 89 | 'Sílvia', 90 | 'Valèria') 91 | 92 | first_names = first_names_male + first_names_female 93 | -------------------------------------------------------------------------------- /src/libs/faker/providers/automotive/ar_SA/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | 5 | import re 6 | 7 | from .. import Provider as AutomotiveProvider 8 | 9 | 10 | class Provider(AutomotiveProvider): 11 | # Source: 12 | # https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Saudi_Arabia 13 | LICENSE_FORMAT_EN = '#### ???' 14 | LICENSE_FORMAT_AR = '? ? ? ####' 15 | 16 | PLATE_CHARS_EN = 'ABDEGHJKLNRSTUVXZ' 17 | PLATE_CHARS_AR = 'أبدعقهحكلنرسطوىصم' 18 | 19 | PLATE_MAP = { 20 | 'A': 'ا', 21 | 'B': 'ب', 22 | 'D': 'د', 23 | 'E': 'ع', 24 | 'G': 'ق', 25 | 'H': 'ه', 26 | 'J': 'ح', 27 | 'K': 'ك', 28 | 'L': 'ل', 29 | 'N': 'ن', 30 | 'R': 'ر', 31 | 'S': 'س', 32 | 'T': 'ط', 33 | 'U': 'و', 34 | 'V': 'ى', 35 | 'X': 'ص', 36 | 'Z': 'م', 37 | 38 | '0': '٠', 39 | '1': '١', 40 | '2': '٢', 41 | '3': '٣', 42 | '4': '٤', 43 | '5': '٥', 44 | '6': '٦', 45 | '7': '٧', 46 | '8': '٨', 47 | '9': '٩', 48 | } 49 | 50 | def license_plate_en(self): 51 | return self.bothify( 52 | self.LICENSE_FORMAT_EN, letters=self.PLATE_CHARS_EN, 53 | ) 54 | 55 | def license_plate_ar(self): 56 | english_plate = self.license_plate_en() 57 | return self._translate_license_plate(english_plate) 58 | 59 | def _translate_license_plate(self, license_plate): 60 | nums = list(reversed(license_plate[0:4])) 61 | chars = list(license_plate[5:8]) 62 | 63 | numerated = re.sub( 64 | r'\#', 65 | lambda x: self.PLATE_MAP[nums.pop()], 66 | self.LICENSE_FORMAT_AR, 67 | ) 68 | ar_plate = re.sub( 69 | r'\?', 70 | lambda x: self.PLATE_MAP[chars.pop()], 71 | numerated, 72 | ) 73 | 74 | return ar_plate 75 | 76 | def license_plate(self): 77 | en_palate = self.license_plate_en() 78 | ar_palate = self._translate_license_plate(en_palate) 79 | 80 | return en_palate, ar_palate 81 | -------------------------------------------------------------------------------- /src/libs/faker/providers/address/no_NO/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | 4 | from .. import Provider as AddressProvider 5 | 6 | 7 | class Provider(AddressProvider): 8 | city_suffixes = ['berg', 'borg', 'by', 'bø', 'dal', 'eid', 'fjell', 9 | 'fjord', 'foss', 'grunn', 'hamn', 'havn', 'helle', 'mark', 10 | 'nes', 'odden', 'sand', 'sjøen', 'stad', 'strand', 11 | 'strøm', 'sund', 'vik', 'vær', 'våg', 'ø', 'øy', 'ås'] 12 | street_suffixes = ['alléen', 'bakken', 'berget', 'bråten', 'eggen', 13 | 'engen', 'ekra', 'faret', 'flata', 'gata', 'gjerdet', 14 | 'grenda', 'gropa', 'hagen', 'haugen', 'havna', 'holtet', 15 | 'høgda', 'jordet', 'kollen', 'kroken', 'lia', 'lunden', 16 | 'lyngen', 'løkka', 'marka', 'moen', 'myra', 'plassen', 17 | 'ringen', 'roa', 'røa', 'skogen', 'skrenten', 18 | 'spranget', 'stien', 'stranda', 'stubben', 'stykket', 19 | 'svingen', 'tjernet', 'toppen', 'tunet', 'vollen', 20 | 'vika', 'åsen'] 21 | city_formats = [ 22 | '{{first_name}}{{city_suffix}}', '{{last_name}}'] 23 | street_name_formats = [ 24 | '{{last_name}}{{street_suffix}}', 25 | ] 26 | street_address_formats = ('{{street_name}} {{building_number}}',) 27 | address_formats = ('{{street_address}}, {{postcode}} {{city}}',) 28 | building_number_formats = ('%', '%', '%', '%?', '##', '##', '##?', '###') 29 | building_number_suffixes = { 30 | 'A': 0.2, 'B': 0.2, 'C': 0.2, 'D': 0.1, 'E': 0.1, 'F': 0.1, 'G': 0.05, 31 | 'H': 0.05} 32 | postcode_formats = ('####',) 33 | 34 | def building_number(self): 35 | suffix = self.random_element(self.building_number_suffixes) 36 | return self.numerify( 37 | self.random_element( 38 | self.building_number_formats)).replace( 39 | '?', suffix) 40 | 41 | def city_suffix(self): 42 | return self.random_element(self.city_suffixes) 43 | 44 | def street_suffix(self): 45 | return self.random_element(self.street_suffixes) 46 | -------------------------------------------------------------------------------- /src/libs/dateutil/utils.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | This module offers general convenience and utility functions for dealing with 4 | datetimes. 5 | 6 | .. versionadded:: 2.7.0 7 | """ 8 | from __future__ import unicode_literals 9 | 10 | from datetime import datetime, time 11 | 12 | 13 | def today(tzinfo=None): 14 | """ 15 | Returns a :py:class:`datetime` representing the current day at midnight 16 | 17 | :param tzinfo: 18 | The time zone to attach (also used to determine the current day). 19 | 20 | :return: 21 | A :py:class:`datetime.datetime` object representing the current day 22 | at midnight. 23 | """ 24 | 25 | dt = datetime.now(tzinfo) 26 | return datetime.combine(dt.date(), time(0, tzinfo=tzinfo)) 27 | 28 | 29 | def default_tzinfo(dt, tzinfo): 30 | """ 31 | Sets the the ``tzinfo`` parameter on naive datetimes only 32 | 33 | This is useful for example when you are provided a datetime that may have 34 | either an implicit or explicit time zone, such as when parsing a time zone 35 | string. 36 | 37 | .. doctest:: 38 | 39 | >>> from dateutil.tz import tzoffset 40 | >>> from dateutil.parser import parse 41 | >>> from dateutil.utils import default_tzinfo 42 | >>> dflt_tz = tzoffset("EST", -18000) 43 | >>> print(default_tzinfo(parse('2014-01-01 12:30 UTC'), dflt_tz)) 44 | 2014-01-01 12:30:00+00:00 45 | >>> print(default_tzinfo(parse('2014-01-01 12:30'), dflt_tz)) 46 | 2014-01-01 12:30:00-05:00 47 | 48 | :param dt: 49 | The datetime on which to replace the time zone 50 | 51 | :param tzinfo: 52 | The :py:class:`datetime.tzinfo` subclass instance to assign to 53 | ``dt`` if (and only if) it is naive. 54 | 55 | :return: 56 | Returns an aware :py:class:`datetime.datetime`. 57 | """ 58 | if dt.tzinfo is not None: 59 | return dt 60 | else: 61 | return dt.replace(tzinfo=tzinfo) 62 | 63 | 64 | def within_delta(dt1, dt2, delta): 65 | """ 66 | Useful for comparing two datetimes that may a negilible difference 67 | to be considered equal. 68 | """ 69 | delta = abs(delta) 70 | difference = dt1 - dt2 71 | return -delta <= difference <= delta 72 | -------------------------------------------------------------------------------- /src/libs/faker/providers/isbn/isbn.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | """ 3 | This module is responsible for generating the check digit and formatting 4 | ISBN numbers. 5 | """ 6 | 7 | 8 | class ISBN(object): 9 | 10 | MAX_LENGTH = 13 11 | 12 | def __init__(self, ean=None, group=None, registrant=None, publication=None): 13 | self.ean = ean 14 | self.group = group 15 | self.registrant = registrant 16 | self.publication = publication 17 | 18 | 19 | class ISBN13(ISBN): 20 | 21 | def __init__(self, *args, **kwargs): 22 | super(ISBN13, self).__init__(*args, **kwargs) 23 | self.check_digit = self._check_digit() 24 | 25 | def _check_digit(self): 26 | """ Calculate the check digit for ISBN-13. 27 | See https://en.wikipedia.org/wiki/International_Standard_Book_Number 28 | for calculation. 29 | """ 30 | weights = (1 if x % 2 == 0 else 3 for x in range(12)) 31 | body = ''.join([self.ean, self.group, self.registrant, 32 | self.publication]) 33 | remainder = sum(int(b) * w for b, w in zip(body, weights)) % 10 34 | diff = 10 - remainder 35 | check_digit = 0 if diff == 10 else diff 36 | return str(check_digit) 37 | 38 | def format(self, separator=''): 39 | return separator.join([self.ean, self.group, self.registrant, 40 | self.publication, self.check_digit]) 41 | 42 | 43 | class ISBN10(ISBN): 44 | 45 | def __init__(self, *args, **kwargs): 46 | super(ISBN10, self).__init__(*args, **kwargs) 47 | self.check_digit = self._check_digit() 48 | 49 | def _check_digit(self): 50 | """ Calculate the check digit for ISBN-10. 51 | See https://en.wikipedia.org/wiki/International_Standard_Book_Number 52 | for calculation. 53 | """ 54 | weights = range(1, 10) 55 | body = ''.join([self.group, self.registrant, self.publication]) 56 | remainder = sum(int(b) * w for b, w in zip(body, weights)) % 11 57 | check_digit = 'X' if remainder == 10 else str(remainder) 58 | return str(check_digit) 59 | 60 | def format(self, separator=''): 61 | return separator.join([self.group, self.registrant, self.publication, 62 | self.check_digit]) 63 | -------------------------------------------------------------------------------- /src/libs/faker/providers/job/th_TH/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as BaseProvider 4 | 5 | 6 | # Reference: 7 | # https://th.wikipedia.org/wiki/หมวดหมู่:บุคคลแบ่งตามอาชีพ 8 | # on 2018-10-16 9 | class Provider(BaseProvider): 10 | jobs = [ 11 | 'นักกฎหมาย', 12 | 'กวี', 13 | 'นักการทูต', 14 | 'นักการเมือง', 15 | 'นักการศึกษา', 16 | 'นักกีฬา', 17 | 'นักการกุศล', 18 | 'เกษตรกร', 19 | 'นักเขียน', 20 | 'ข้าราชการ', 21 | 'นักคณิตศาสตร์', 22 | 'คนขับรถแท็กซี่', 23 | 'โฆษก', 24 | 'จ๊อกกี้', 25 | 'นักจัดรายการวิทยุ', 26 | 'จารชน', 27 | 'จิตรกร', 28 | 'นักจิตวิทยา', 29 | 'เจ้าหน้าทีรักษาความปลอดภัย', 30 | 'เจ้าหน้าที่รัฐบาล', 31 | 'ช่างทำเครื่องดนตรี', 32 | 'ช่างทำผม', 33 | 'นักชีววิทยา', 34 | 'นักดนตรี', 35 | 'นักดาราศาสตร์', 36 | 'นักแต่งเพลง', 37 | 'ตำรวจ', 38 | 'นักถ่ายภาพ', 39 | 'ทนายความ', 40 | 'ทหารบก', 41 | 'นักธุรกิจ', 42 | 'นักเคลื่อนไหว', 43 | 'นักบวช', 44 | 'นักบิน', 45 | 'นักบินอวกาศ', 46 | 'นักประชาสัมพันธ์', 47 | 'นักผจญภัย', 48 | 'นักสะสมศิลปะ', 49 | 'นักแสดง', 50 | 'นักหนังสือพิมพ์', 51 | 'นางงาม', 52 | 'นางแบบ', 53 | 'นายแบบ', 54 | 'บรรณาธิการ', 55 | 'นักโบราณคดี', 56 | 'นักแปล', 57 | 'นักประดิษฐ์', 58 | 'นักประวัติศาสตร์', 59 | 'นักปรัชญา', 60 | 'ผู้กำกับ', 61 | 'ผู้กำกับภาพยนตร์', 62 | 'ผู้กำกับละครโทรทัศน์', 63 | 'ผู้จัดพิมพ์', 64 | 'นักพจนานุกรม', 65 | 'แพทย์', 66 | 'นักพากย์', 67 | 'พิธีกร', 68 | 'นักโภชนาการ', 69 | 'นักภาษาศาสตร์', 70 | 'เภสัชกร', 71 | 'มัคคุเทศก์', 72 | 'นักมายากล', 73 | 'นักวาดการ์ตูน', 74 | 'นักวิทยาศาสตร์', 75 | 'วิศวกร', 76 | 'วีเจ', 77 | 'นักเศรษฐศาสตร์', 78 | 'ศิลปิน', 79 | 'สถาปนิก', 80 | 'นักสังคมวิทยา', 81 | 'นักสังคมศาสตร์', 82 | 'นักสัตววิทยา', 83 | 'นักสำรวจ', 84 | 'นักสืบ', 85 | 'นักอนุรักษ์ธรรมชาติ', 86 | 'นักออกแบบ', 87 | 'อัยการ', 88 | 'โปรแกรมเมอร์', 89 | ] 90 | -------------------------------------------------------------------------------- /src/libs/faker/providers/lorem/la/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as LoremProvider 5 | 6 | 7 | class Provider(LoremProvider): 8 | word_list = ( 9 | 'a', 'ab', 'accusamus', 'accusantium', 'ad', 'adipisci', 'alias', 10 | 'aliquam', 'aliquid', 'amet', 'animi', 'aperiam', 'architecto', 11 | 'asperiores', 'aspernatur', 'assumenda', 'at', 'atque', 'aut', 'autem', 12 | 'beatae', 'blanditiis', 'commodi', 'consectetur', 'consequatur', 13 | 'consequuntur', 'corporis', 'corrupti', 'culpa', 'cum', 'cumque', 14 | 'cupiditate', 'debitis', 'delectus', 'deleniti', 'deserunt', 'dicta', 15 | 'dignissimos', 'distinctio', 'dolor', 'dolore', 'dolorem', 'doloremque', 16 | 'dolores', 'doloribus', 'dolorum', 'ducimus', 'ea', 'eaque', 'earum', 17 | 'eius', 'eligendi', 'enim', 'eos', 'error', 'esse', 'est', 'et', 'eum', 18 | 'eveniet', 'ex', 'excepturi', 'exercitationem', 'expedita', 'explicabo', 19 | 'facere', 'facilis', 'fuga', 'fugiat', 'fugit', 'harum', 'hic', 'id', 20 | 'illo', 'illum', 'impedit', 'in', 'incidunt', 'inventore', 'ipsa', 21 | 'ipsam', 'ipsum', 'iste', 'itaque', 'iure', 'iusto', 'labore', 22 | 'laboriosam', 'laborum', 'laudantium', 'libero', 'magnam', 'magni', 23 | 'maiores', 'maxime', 'minima', 'minus', 'modi', 'molestiae', 24 | 'molestias', 'mollitia', 'nam', 'natus', 'necessitatibus', 'nemo', 25 | 'neque', 'nesciunt', 'nihil', 'nisi', 'nobis', 'non', 'nostrum', 26 | 'nulla', 'numquam', 'occaecati', 'odio', 'odit', 'officia', 'officiis', 27 | 'omnis', 'optio', 'pariatur', 'perferendis', 'perspiciatis', 'placeat', 28 | 'porro', 'possimus', 'praesentium', 'provident', 'quae', 'quaerat', 29 | 'quam', 'quas', 'quasi', 'qui', 'quia', 'quibusdam', 'quidem', 'quis', 30 | 'quisquam', 'quo', 'quod', 'quos', 'ratione', 'recusandae', 31 | 'reiciendis', 'rem', 'repellat', 'repellendus', 'reprehenderit', 32 | 'repudiandae', 'rerum', 'saepe', 'sapiente', 'sed', 'sequi', 33 | 'similique', 'sint', 'sit', 'soluta', 'sunt', 'suscipit', 'tempora', 34 | 'tempore', 'temporibus', 'tenetur', 'totam', 'ullam', 'unde', 'ut', 35 | 'vel', 'velit', 'veniam', 'veritatis', 'vero', 'vitae', 'voluptas', 36 | 'voluptate', 'voluptatem', 'voluptates', 'voluptatibus', 'voluptatum', 37 | ) 38 | -------------------------------------------------------------------------------- /src/libs/faker/providers/job/fa_IR/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as BaseProvider 4 | 5 | 6 | class Provider(BaseProvider): 7 | jobs = [ 8 | "هنر‌پیشه", 9 | "ناخدا", 10 | "بخشدار", 11 | "خیاط", 12 | "گله‌دار", 13 | "باغ‌دار", 14 | "مؤذن", 15 | "ساربان", 16 | "آشپز", 17 | "دندان‌پزشک", 18 | "نجار", 19 | "چوپان", 20 | "خانه‌دار", 21 | "شورا", 22 | "نویسنده", 23 | "گارسون", 24 | "استاد", 25 | "فروشنده", 26 | "شیشه‌ساز", 27 | "مدیر", 28 | "نقاش ساختمان", 29 | "قایقران", 30 | "رفتگر", 31 | "وزیر", 32 | "خلبان", 33 | "آرایشگر", 34 | "روحانی", 35 | "متخصص", 36 | "فوتبالیست", 37 | "قصاب", 38 | "ساعت‌ساز", 39 | "بقال", 40 | "تلفن‌چی", 41 | "تاجر", 42 | "عینک‌ساز", 43 | "خوشنویس", 44 | "جنگلبان", 45 | "معلم", 46 | "مهندس", 47 | "راننده", 48 | "آذین گر", 49 | "نظامی", 50 | "نانوا", 51 | "فرماندار", 52 | "دانش‌آموز", 53 | "دانشجو", 54 | "تعمیرکار", 55 | "کشاورز", 56 | "هنرمند", 57 | "معاون", 58 | "بانکدار", 59 | "آهنگر", 60 | "رئیس", 61 | "سرتیپ", 62 | "سرایدار", 63 | "کارمند", 64 | "مربی", 65 | "سرهنگ", 66 | "غواص", 67 | "پزشک", 68 | "دربان", 69 | "آتش‌نشان", 70 | "ماهی‌گیر", 71 | "میوه‌فروش", 72 | "نگهبان", 73 | "پاسدار", 74 | "قاضی", 75 | "وکیل", 76 | "کارگر", 77 | "شهردار", 78 | "معدن‌چی", 79 | "پرستار", 80 | "افسر", 81 | "عکاس", 82 | "لوله‌کش", 83 | "بازیگر", 84 | "باربر", 85 | "رئیس‌جمهور", 86 | "نخست‌وزیر", 87 | "روانشناس", 88 | "خبر‌نگار", 89 | "بازنشسته", 90 | "مجسمه‌ساز", 91 | "گروهبان", 92 | "مغازه‌دار", 93 | "خواننده", 94 | "سرباز", 95 | "سخن‌ران", 96 | "جراح", 97 | "سفال‌گر", 98 | "جهانگرد", 99 | "جوشکار", 100 | "چشم‌پزشک", 101 | "گزارش‌گر", 102 | "خطاط", 103 | ] 104 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/pl_PL/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as SsnProvider 5 | 6 | 7 | def checksum(digits): 8 | """ 9 | Calculates and returns a control digit for given list of digits basing on PESEL standard. 10 | """ 11 | weights_for_check_digit = [9, 7, 3, 1, 9, 7, 3, 1, 9, 7] 12 | check_digit = 0 13 | 14 | for i in range(0, 10): 15 | check_digit += weights_for_check_digit[i] * digits[i] 16 | 17 | check_digit %= 10 18 | 19 | return check_digit 20 | 21 | 22 | def calculate_month(birth_date): 23 | """ 24 | Calculates and returns a month number basing on PESEL standard. 25 | """ 26 | year = int(birth_date.strftime('%Y')) 27 | month = int(birth_date.strftime('%m')) + ((int(year / 100) - 14) % 5) * 20 28 | 29 | return month 30 | 31 | 32 | class Provider(SsnProvider): 33 | 34 | def ssn(self): 35 | """ 36 | Returns 11 character Polish national identity code (Public Electronic Census System, 37 | Polish: Powszechny Elektroniczny System Ewidencji Ludności - PESEL). 38 | 39 | It has the form YYMMDDZZZXQ, where YYMMDD is the date of birth (with century 40 | encoded in month field), ZZZ is the personal identification number, X denotes sex 41 | (even for females, odd for males) and Q is a parity number. 42 | 43 | https://en.wikipedia.org/wiki/National_identification_number#Poland 44 | """ 45 | birth_date = self.generator.date_time() 46 | 47 | year_without_century = int(birth_date.strftime('%y')) 48 | month = calculate_month(birth_date) 49 | day = int(birth_date.strftime('%d')) 50 | 51 | pesel_digits = [ 52 | int(year_without_century / 10), 53 | year_without_century % 10, 54 | int(month / 10), 55 | month % 10, 56 | int(day / 10), day % 10, 57 | ] 58 | 59 | for _ in range(4): 60 | pesel_digits.append(self.random_digit()) 61 | 62 | pesel_digits.append(checksum(pesel_digits)) 63 | 64 | return ''.join(str(digit) for digit in pesel_digits) 65 | 66 | vat_id_formats = ( 67 | 'PL##########', 68 | ) 69 | 70 | def vat_id(self): 71 | """ 72 | http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 73 | :return: A random Polish VAT ID 74 | """ 75 | return self.bothify(self.random_element(self.vat_id_formats)) 76 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/fa_IR/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | # Mobile 8 | '+98 91# ### ####', 9 | '091# ### ####', 10 | '+98 920 ### ####', 11 | '0920 ### ####', 12 | '+98 921 ### ####', 13 | '0921 ### ####', 14 | '+98 93# ### ####', 15 | '093# ### ####', 16 | # Land lines, 17 | # https://en.wikipedia.org/wiki/List_of_dialling_codes_in_Iran 18 | '+98 21 #### ####', 19 | '021 #### ####', 20 | '+98 26 #### ####', 21 | '026 #### ####', 22 | '+98 25 #### ####', 23 | '025 #### ####', 24 | '+98 86 #### ####', 25 | '086 #### ####', 26 | '+98 24 #### ####', 27 | '024 #### ####', 28 | '+98 23 #### ####', 29 | '023 #### ####', 30 | '+98 81 #### ####', 31 | '081 #### ####', 32 | '+98 28 #### ####', 33 | '028 #### ####', 34 | '+98 31 #### ####', 35 | '031 #### ####', 36 | '+98 44 #### ####', 37 | '044 #### ####', 38 | '+98 11 #### ####', 39 | '011 #### ####', 40 | '+98 74 #### ####', 41 | '074 #### ####', 42 | '+98 83 #### ####', 43 | '083 #### ####', 44 | '+98 51 #### ####', 45 | '051 #### ####', 46 | '+98 45 #### ####', 47 | '045 #### ####', 48 | '+98 17 #### ####', 49 | '017 #### ####', 50 | '+98 41 #### ####', 51 | '041 #### ####', 52 | '+98 54 #### ####', 53 | '054 #### ####', 54 | '+98 87 #### ####', 55 | '087 #### ####', 56 | '+98 71 #### ####', 57 | '071 #### ####', 58 | '+98 66 #### ####', 59 | '066 #### ####', 60 | '+98 34 #### ####', 61 | '034 #### ####', 62 | '+98 56 #### ####', 63 | '056 #### ####', 64 | '+98 13 #### ####', 65 | '013 #### ####', 66 | '+98 77 #### ####', 67 | '077 #### ####', 68 | '+98 76 #### ####', 69 | '076 #### ####', 70 | '+98 61 #### ####', 71 | '061 #### ####', 72 | '+98 38 #### ####', 73 | '038 #### ####', 74 | '+98 58 #### ####', 75 | '058 #### ####', 76 | '+98 35 #### ####', 77 | '035 #### ####', 78 | '+98 84 #### ####', 79 | '084 #### ####', 80 | '+98 ### #### ####', 81 | '0### #### ####', 82 | ) 83 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/zh_CN/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from collections import OrderedDict 4 | from .. import Provider as InternetProvider 5 | from faker.utils.decorators import slugify 6 | 7 | 8 | class Provider(InternetProvider): 9 | user_name_formats = ( 10 | '{{last_romanized_name}}.{{first_romanized_name}}', 11 | '{{first_romanized_name}}.{{last_romanized_name}}', 12 | '{{first_romanized_name}}##', 13 | '?{{last_romanized_name}}', 14 | ) 15 | 16 | tlds = OrderedDict(( 17 | ('cn', 0.8), 18 | ('net', 0.1), 19 | ('com', 0.05), 20 | ('org', 0.05), 21 | )) 22 | 23 | second_level_domains = ('ac', 'com', 'edu', 'gov', 'mil', 'net', 'org', 24 | 'ah', 'bj', 'cq', 'fj', 'gd', 'gs', 'gz', 'gx', 25 | 'ha', 'hb', 'he', 'hi', 'hk', 'hl', 'hn', 'jl', 26 | 'js', 'jx', 'ln', 'mo', 'nm', 'nx', 'qh', 'sc', 27 | 'sd', 'sh', 'sn', 'sx', 'tj', 'xj', 'xz', 'yn', 'zj') 28 | 29 | domain_formats = ( 30 | '##', '??', 31 | '{{first_romanized_name}}', 32 | '{{last_romanized_name}}', 33 | '{{first_romanized_name}}{{last_romanized_name}}', 34 | '{{last_romanized_name}}{{last_romanized_name}}', 35 | '{{first_romanized_name}}{{first_romanized_name}}', 36 | ) 37 | 38 | @slugify 39 | def domain_word(self): 40 | pattern = self.random_element(self.domain_formats) 41 | if '#' in pattern or '?' in pattern: 42 | return self.bothify(pattern) 43 | else: 44 | return self.generator.parse(pattern) 45 | 46 | def domain_name(self, levels=1): 47 | if levels < 1: 48 | raise ValueError("levels must be greater than or equal to 1") 49 | if levels == 1: 50 | domain_word = self.domain_word() 51 | # Avoids he.cn as seen in issue #687 52 | while domain_word in self.second_level_domains: 53 | domain_word = self.domain_word() 54 | return domain_word + '.' + self.tld() 55 | elif levels == 2: 56 | my_tld = self.tld() 57 | if my_tld == 'cn': 58 | my_second_level = self.random_element(self.second_level_domains) 59 | else: 60 | my_second_level = self.domain_word() 61 | return self.domain_word() + '.' + my_second_level + '.' + my_tld 62 | else: 63 | return self.domain_word() + '.' + self.domain_name(levels - 1) 64 | -------------------------------------------------------------------------------- /src/libs/dateutil/tz/_factories.py: -------------------------------------------------------------------------------- 1 | from datetime import timedelta 2 | import weakref 3 | from collections import OrderedDict 4 | 5 | 6 | class _TzSingleton(type): 7 | def __init__(cls, *args, **kwargs): 8 | cls.__instance = None 9 | super(_TzSingleton, cls).__init__(*args, **kwargs) 10 | 11 | def __call__(cls): 12 | if cls.__instance is None: 13 | cls.__instance = super(_TzSingleton, cls).__call__() 14 | return cls.__instance 15 | 16 | 17 | class _TzFactory(type): 18 | def instance(cls, *args, **kwargs): 19 | """Alternate constructor that returns a fresh instance""" 20 | return type.__call__(cls, *args, **kwargs) 21 | 22 | 23 | class _TzOffsetFactory(_TzFactory): 24 | def __init__(cls, *args, **kwargs): 25 | cls.__instances = weakref.WeakValueDictionary() 26 | cls.__strong_cache = OrderedDict() 27 | cls.__strong_cache_size = 8 28 | 29 | def __call__(cls, name, offset): 30 | if isinstance(offset, timedelta): 31 | key = (name, offset.total_seconds()) 32 | else: 33 | key = (name, offset) 34 | 35 | instance = cls.__instances.get(key, None) 36 | if instance is None: 37 | instance = cls.__instances.setdefault(key, 38 | cls.instance(name, offset)) 39 | 40 | cls.__strong_cache[key] = cls.__strong_cache.pop(key, instance) 41 | 42 | # Remove an item if the strong cache is overpopulated 43 | # TODO: Maybe this should be under a lock? 44 | if len(cls.__strong_cache) > cls.__strong_cache_size: 45 | cls.__strong_cache.popitem(last=False) 46 | 47 | return instance 48 | 49 | 50 | class _TzStrFactory(_TzFactory): 51 | def __init__(cls, *args, **kwargs): 52 | cls.__instances = weakref.WeakValueDictionary() 53 | cls.__strong_cache = OrderedDict() 54 | cls.__strong_cache_size = 8 55 | 56 | def __call__(cls, s, posix_offset=False): 57 | key = (s, posix_offset) 58 | instance = cls.__instances.get(key, None) 59 | 60 | if instance is None: 61 | instance = cls.__instances.setdefault(key, 62 | cls.instance(s, posix_offset)) 63 | 64 | cls.__strong_cache[key] = cls.__strong_cache.pop(key, instance) 65 | 66 | 67 | # Remove an item if the strong cache is overpopulated 68 | # TODO: Maybe this should be under a lock? 69 | if len(cls.__strong_cache) > cls.__strong_cache_size: 70 | cls.__strong_cache.popitem(last=False) 71 | 72 | return instance 73 | 74 | -------------------------------------------------------------------------------- /src/workflow/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # 4 | # Copyright (c) 2014 Dean Jackson 5 | # 6 | # MIT Licence. See http://opensource.org/licenses/MIT 7 | # 8 | # Created on 2014-02-15 9 | # 10 | 11 | """A helper library for `Alfred `_ workflows.""" 12 | 13 | import os 14 | 15 | # Workflow objects 16 | from .workflow import Workflow, manager 17 | from .workflow3 import Variables, Workflow3 18 | 19 | # Exceptions 20 | from .workflow import PasswordNotFound, KeychainError 21 | 22 | # Icons 23 | from .workflow import ( 24 | ICON_ACCOUNT, 25 | ICON_BURN, 26 | ICON_CLOCK, 27 | ICON_COLOR, 28 | ICON_COLOUR, 29 | ICON_EJECT, 30 | ICON_ERROR, 31 | ICON_FAVORITE, 32 | ICON_FAVOURITE, 33 | ICON_GROUP, 34 | ICON_HELP, 35 | ICON_HOME, 36 | ICON_INFO, 37 | ICON_NETWORK, 38 | ICON_NOTE, 39 | ICON_SETTINGS, 40 | ICON_SWIRL, 41 | ICON_SWITCH, 42 | ICON_SYNC, 43 | ICON_TRASH, 44 | ICON_USER, 45 | ICON_WARNING, 46 | ICON_WEB, 47 | ) 48 | 49 | # Filter matching rules 50 | from .workflow import ( 51 | MATCH_ALL, 52 | MATCH_ALLCHARS, 53 | MATCH_ATOM, 54 | MATCH_CAPITALS, 55 | MATCH_INITIALS, 56 | MATCH_INITIALS_CONTAIN, 57 | MATCH_INITIALS_STARTSWITH, 58 | MATCH_STARTSWITH, 59 | MATCH_SUBSTRING, 60 | ) 61 | 62 | 63 | __title__ = 'Alfred-Workflow' 64 | __version__ = open(os.path.join(os.path.dirname(__file__), 'version')).read() 65 | __author__ = 'Dean Jackson' 66 | __licence__ = 'MIT' 67 | __copyright__ = 'Copyright 2014-2019 Dean Jackson' 68 | 69 | __all__ = [ 70 | 'Variables', 71 | 'Workflow', 72 | 'Workflow3', 73 | 'manager', 74 | 'PasswordNotFound', 75 | 'KeychainError', 76 | 'ICON_ACCOUNT', 77 | 'ICON_BURN', 78 | 'ICON_CLOCK', 79 | 'ICON_COLOR', 80 | 'ICON_COLOUR', 81 | 'ICON_EJECT', 82 | 'ICON_ERROR', 83 | 'ICON_FAVORITE', 84 | 'ICON_FAVOURITE', 85 | 'ICON_GROUP', 86 | 'ICON_HELP', 87 | 'ICON_HOME', 88 | 'ICON_INFO', 89 | 'ICON_NETWORK', 90 | 'ICON_NOTE', 91 | 'ICON_SETTINGS', 92 | 'ICON_SWIRL', 93 | 'ICON_SWITCH', 94 | 'ICON_SYNC', 95 | 'ICON_TRASH', 96 | 'ICON_USER', 97 | 'ICON_WARNING', 98 | 'ICON_WEB', 99 | 'MATCH_ALL', 100 | 'MATCH_ALLCHARS', 101 | 'MATCH_ATOM', 102 | 'MATCH_CAPITALS', 103 | 'MATCH_INITIALS', 104 | 'MATCH_INITIALS_CONTAIN', 105 | 'MATCH_INITIALS_STARTSWITH', 106 | 'MATCH_STARTSWITH', 107 | 'MATCH_SUBSTRING', 108 | ] 109 | -------------------------------------------------------------------------------- /src/libs/faker/providers/person/de_AT/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as PersonProvider 4 | 5 | 6 | class Provider(PersonProvider): 7 | formats = ( 8 | '{{first_name}} {{last_name}}', 9 | '{{first_name}} {{last_name}}', 10 | '{{first_name}} {{last_name}}', 11 | '{{first_name}} {{last_name}}', 12 | '{{first_name}} {{last_name}}', 13 | '{{prefix}} {{first_name}} {{last_name}}', 14 | '{{first_name}} {{last_name}}', 15 | '{{prefix}} {{first_name}} {{last_name}}', 16 | ) 17 | first_names = ( 18 | 'Alexander', 'Alina', 'Andreas', 'Anna', 'Anton', 19 | 'Benjamin', 'Bernhard', 20 | 'Christian', 'Christop', 21 | 'Daniel', 'David', 'Dominik', 22 | 'Elena', 'Elias', 'Emil', 'Emilia', 23 | 'Fabian', 'Felix', 'Florian', 'Franz', 'Fransizka', 24 | 'Gabriel', 'Gernot', 25 | 'Hanna', 26 | 'Ingrid', 'Isabel', 27 | 'Jakob', 'Jana', 'Jasmin', 'Johanna', 'Johannes', 'Jonas', 'Julia', 'Julian', 28 | 'Katharinna', 'Konrad', 'Konstantin', 29 | 'Lara', 'Laura', 'Lena', 'Leo', 'Leon', 'Linda', 'Luca', 'Lukas', 30 | 'Marcel', 'Maria', 'Martin', 'Matthias', 'Max', 'Maximilian', 'Mia', 'Michael', 'Moritz', 31 | 'Nico', 'Niklas', 'Nina', 'Noah', 32 | 'Oliver', 'Olivia', 33 | 'Paul', 'Paula', 'Philipp', 'Pia', 34 | 'Raphael', 'Robert', 35 | 'Samuel', 'Sarah', 'Sebastian', 'Simon', 'Sophie', 36 | 'Theresa', 'Thomas', 'Tim', 37 | 'Tobias', 38 | 'Valentin', 39 | ) 40 | last_names = ( 41 | 'Auer', 'Aigner', 42 | 'Bauer', 'Baumgartner', 'Berger', 'Binder', 'Brunner', 43 | 'Cap', 'Capek', 'Cech', 'Chum', 44 | 'Deng', 'Denk', 'Daume', 'Dienstl', 45 | 'Ebner', 'Eder', 'Egger', 46 | 'Fasching', 'Felber', 'Ferstel', 'Fichtner', 'Fischer', 'Fuchs', 47 | 'Gasser', 'Gastegger', 'Geier', 'Geisler', 'Grabner', 'Gruber', 48 | 'Haas', 'Haiden', 'Hofer', 'Holzer', 'Huber', 49 | 'Illes', 'Ircher', 'Itzlinger', 50 | 'Jahn', 'Jobst', 'Jung', 'Jungbauer', 'Just', 51 | 'Kainz', 'Karl', 'Karner', 'Koller', 52 | 'Lang', 'Lechner', 'Lehner', 'Leitner', 53 | 'Maier', 'Mair', 'Maurer', 'Mayer', 'Mayr', 'Moser', 'Müllner', 54 | 'Pichler', 'Pucher', 55 | 'Reiter', 'Riegler', 56 | 'Schmid', 'Schneider', 'Schuster', 'Schwarz', 'Stadler', 'Steiner', 57 | 'Wallner', 'Weber', 'Weiss', 'Wieser', 'Wimmer', 'Winkler', 'Winter', 'Wolf', 58 | ) 59 | 60 | prefixes = ('Dr.', 'Mag.', 'Ing.', 'Dipl.-Ing.', 'Prof.', 'Univ.Prof.') 61 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/nl_BE/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as SsnProvider 5 | 6 | """ 7 | For more info on rijksregisternummer, see https://nl.wikipedia.org/wiki/Rijksregisternummer 8 | Dutch/French only for now ... 9 | """ 10 | 11 | 12 | class Provider(SsnProvider): 13 | 14 | def ssn(self): 15 | """ 16 | Returns a 11 digits Belgian SSN called "rijksregisternummer" as a string 17 | 18 | The first 6 digits represent the birthdate with (in order) year, month and day. 19 | The second group of 3 digits is represents a sequence number (order of birth). 20 | It is even for women and odd for men. 21 | For men the range starts at 1 and ends 997, for women 2 until 998. 22 | The third group of 2 digits is a checksum based on the previous 9 digits (modulo 97). 23 | Divide those 9 digits by 97, subtract the remainder from 97 and that's the result. 24 | For persons born in or after 2000, the 9 digit number needs to be proceeded by a 2 25 | (add 2000000000) before the division by 97. 26 | 27 | """ 28 | # see http://nl.wikipedia.org/wiki/Burgerservicenummer (in Dutch) 29 | def _checksum(digits): 30 | res = 97 - (digits % 97) 31 | return res 32 | 33 | # Generate a date (random) 34 | mydate = self.generator.date() 35 | # Convert it to an int 36 | elms = mydate.split("-") 37 | # Adjust for year 2000 if necessary 38 | if elms[0][0] == '2': 39 | above = True 40 | else: 41 | above = False 42 | # Only keep the last 2 digits of the year 43 | elms[0] = elms[0][2:4] 44 | # Simulate the gender/sequence - should be 3 digits 45 | seq = self.generator.random_int(1, 998) 46 | # Right justify sequence and append to list 47 | seq_str = "{:0>3}".format(seq) 48 | elms.append(seq_str) 49 | # Now convert list to an integer so the checksum can be calculated 50 | date_as_int = int("".join(elms)) 51 | if above: 52 | date_as_int += 2000000000 53 | # Generate checksum 54 | s = _checksum(date_as_int) 55 | s_rjust = "{:0>2}".format(s) 56 | # return result as a string 57 | elms.append(s_rjust) 58 | return "".join(elms) 59 | 60 | vat_id_formats = ( 61 | 'BE##########', 62 | ) 63 | 64 | def vat_id(self): 65 | """ 66 | http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 67 | :return: A random Belgian VAT ID 68 | """ 69 | return self.bothify(self.random_element(self.vat_id_formats)) 70 | -------------------------------------------------------------------------------- /src/libs/faker/providers/internet/el_GR/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from .. import Provider as InternetProvider 4 | 5 | import re 6 | from faker.utils.decorators import slugify_domain 7 | 8 | 9 | class Provider(InternetProvider): 10 | 11 | free_email_domains = ( 12 | 'hol.gr', 'gmail.com', 'hotmail.gr', 'yahoo.gr', 'googlemail.gr', 13 | 'otenet.gr', 'forthnet.gr', 14 | ) 15 | tlds = ('com', 'com', 'com', 'net', 'org', 'gr', 'gr', 'gr') 16 | 17 | @slugify_domain 18 | def user_name(self): 19 | pattern = self.random_element(self.user_name_formats) 20 | return latinize(self.bothify(self.generator.parse(pattern))) 21 | 22 | @slugify_domain 23 | def domain_word(self): 24 | company = self.generator.format('company') 25 | company_elements = company.split(' ') 26 | company = latinize(company_elements.pop(0)) 27 | return company 28 | 29 | 30 | # ``slugify`` doesn't replace greek glyphs. 31 | 32 | def remove_accents(value): 33 | """ 34 | Remove accents from characters in the given string. 35 | """ 36 | search = 'ΆΈΉΊΌΎΏάέήίόύώΪϊΐϋΰ' 37 | replace = 'ΑΕΗΙΟΥΩαεηιουωΙιιυυ' 38 | 39 | def replace_accented_character(match): 40 | matched = match.group(0) 41 | if matched in search: 42 | return replace[search.find(matched)] 43 | return matched 44 | 45 | return re.sub(r'[{0}]+'.format(search), replace_accented_character, value) 46 | 47 | 48 | def latinize(value): 49 | """ 50 | Converts (transliterates) greek letters to latin equivalents. 51 | """ 52 | def replace_double_character(match): 53 | search = ('Θ Χ Ψ ' 54 | 'θ χ ψ ' 55 | 'ΟΥ ΑΥ ΕΥ ' 56 | 'Ου Αυ Ευ ' 57 | 'ου αυ ευ').split() 58 | replace = ('TH CH PS ' 59 | 'th ch ps ' 60 | 'OU AU EU ' 61 | 'Ou Au Eu ' 62 | 'ou au eu').split() 63 | matched = match.group(0) 64 | if matched in search: 65 | return replace[search.index(matched)] 66 | return matched 67 | 68 | search = 'ΑΒΓΔΕΖΗΙΚΛΜΝΞΟΠΡΣΣΤΥΦΩαβγδεζηικλμνξοπρσςτυφω' 69 | replace = 'AVGDEZIIKLMNXOPRSSTUFOavgdeziiklmnxoprsstyfo' 70 | 71 | def replace_greek_character(match): 72 | matched = list(match.group(0)) 73 | value = map(lambda l: replace[search.find(l)], matched) 74 | return ''.join(value) 75 | 76 | return re.sub(r'[{0}]+'.format(search), 77 | replace_greek_character, re.sub( 78 | r'([ΘΧΨθχψ]+|ΟΥ|ΑΥ|ΕΥ|Ου|Αυ|Ευ|ου|αυ|ευ)', 79 | replace_double_character, 80 | remove_accents(value))) 81 | -------------------------------------------------------------------------------- /src/libs/faker/providers/color/ru_RU/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | from __future__ import unicode_literals 3 | from collections import OrderedDict 4 | 5 | from .. import Provider as ColorProvider 6 | 7 | localized = True 8 | 9 | 10 | class Provider(ColorProvider): 11 | all_colors = OrderedDict(( 12 | ("Античный Белый", "#FAEBD7"), 13 | ("Аквамарин", "#7FFFD4"), 14 | ("Лазурный", "#F0FFFF"), 15 | ("Бежевый", "#F5F5DC"), 16 | ("Черный", "#000000"), 17 | ("Синий", "#0000FF"), 18 | ("Сине-фиолетовый", "#8A2BE2"), 19 | ("Коричневый", "#A52A2A"), 20 | ("Шоколадный", "#D2691E"), 21 | ("Коралловый", "#FF7F50"), 22 | ("Васильковый", "#6495ED"), 23 | ("Малиновый", "#DC143C"), 24 | ("Темно-синий", "#00008B"), 25 | ("Темно-голубой", "#008B8B"), 26 | ("Темно-серый", "#A9A9A9"), 27 | ("Темно-зеленый", "#006400"), 28 | ("Темный хаки", "#BDB76B"), 29 | ("Темно-оранжевый", "#FF8C00"), 30 | ("Темно-красный", "#8B0000"), 31 | ("Темно-бирюзовый", "#00CED1"), 32 | ("Темно-фиолетовый", "#9400D3"), 33 | ("Темно-розовый", "#FF1493"), 34 | ("Тусклый серый", "#696969"), 35 | ("Фуксия", "#FF00FF"), 36 | ("Золотой", "#FFD700"), 37 | ("Серый", "#808080"), 38 | ("Зеленый", "#008000"), 39 | ("Желто-зеленый", "#ADFF2F"), 40 | ("Ярко-розовый", "#FF69B4"), 41 | ("Индиго", "#4B0082"), 42 | ("Слоновая кость", "#FFFFF0"), 43 | ("Хаки", "#F0E68C"), 44 | ("Розовато-лавандовый", "#FFF0F5"), 45 | ("Светло-синий", "#ADD8E6"), 46 | ("Светло-голубой", "#E0FFFF"), 47 | ("Светло-серый", "#D3D3D3"), 48 | ("Светло-зеленый", "#90EE90"), 49 | ("Светло-розовый", "#FFB6C1"), 50 | ("Светло-голубой", "#87CEFA"), 51 | ("Светло-желтый", "#FFFFE0"), 52 | ("Каштановый", "#800000"), 53 | ("Оранжевый", "#FFA500"), 54 | ("Оранжево-красный", "#FF4500"), 55 | ("Бледно-зеленый", "#98FB98"), 56 | ("Бледно-Бирюзовый", "#AFEEEE"), 57 | ("Розовый", "#FFC0CB"), 58 | ("Сливовый", "#DDA0DD"), 59 | ("Пурпурный", "#800080"), 60 | ("Красный", "#FF0000"), 61 | ("Цвет морской волны", "#2E8B57"), 62 | ("Серебряный", "#C0C0C0"), 63 | ("Бирюзовый", "#40E0D0"), 64 | ("Фиолетовый", "#EE82EE"), 65 | ("Белый", "#FFFFFF"), 66 | ("Желтый", "#FFFF00"), 67 | ("Желто-зеленый", "#9ACD32"), 68 | )) 69 | 70 | safe_colors = ( 71 | 'черный', 'бордовый', 'зеленый', 'оливковый', 72 | 'пурпурный', 'teal', 'lime', 'синий', 'серебряный', 73 | 'серый', 'желтый', 'фуксия', 'белый', 74 | ) 75 | -------------------------------------------------------------------------------- /src/libs/faker/providers/ssn/fi_FI/__init__.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | from __future__ import unicode_literals 4 | from .. import Provider as SsnProvider 5 | import datetime 6 | 7 | 8 | class Provider(SsnProvider): 9 | 10 | def ssn(self, min_age=0, max_age=105, artificial=False): 11 | """ 12 | Returns 11 character Finnish personal identity code (Henkilötunnus, 13 | HETU, Swedish: Personbeteckning). This function assigns random 14 | gender to person. 15 | 16 | HETU consists of eleven characters of the form DDMMYYCZZZQ, where 17 | DDMMYY is the date of birth, C the century sign, ZZZ the individual 18 | number and Q the control character (checksum). The sign for the 19 | century is either + (1800–1899), - (1900–1999), or A (2000–2099). 20 | The individual number ZZZ is odd for males and even for females. 21 | For people born in Finland its range is 002-899 22 | (larger numbers may be used in special cases). 23 | An example of a valid code is 311280-888Y. 24 | 25 | https://en.wikipedia.org/wiki/National_identification_number#Finland 26 | """ 27 | def _checksum(hetu): 28 | checksum_characters = "0123456789ABCDEFHJKLMNPRSTUVWXY" 29 | return checksum_characters[int(hetu) % 31] 30 | 31 | age = datetime.timedelta( 32 | days=self.generator.random.randrange(min_age * 365, max_age * 365)) 33 | birthday = datetime.date.today() - age 34 | hetu_date = "%02d%02d%s" % ( 35 | birthday.day, birthday.month, str(birthday.year)[-2:]) 36 | range = (900, 999) if artificial is True else (2, 899) 37 | suffix = str(self.generator.random.randrange(*range)).zfill(3) 38 | checksum = _checksum(hetu_date + suffix) 39 | separator = self._get_century_code(birthday.year) 40 | hetu = "".join([hetu_date, separator, suffix, checksum]) 41 | return hetu 42 | 43 | @staticmethod 44 | def _get_century_code(year): 45 | """Returns the century code for a given year""" 46 | if 2000 <= year < 3000: 47 | separator = 'A' 48 | elif 1900 <= year < 2000: 49 | separator = '-' 50 | elif 1800 <= year < 1900: 51 | separator = '+' 52 | else: 53 | raise ValueError('Finnish SSN do not support people born before the year 1800 or after the year 2999') 54 | return separator 55 | 56 | vat_id_formats = ( 57 | 'FI########', 58 | ) 59 | 60 | def vat_id(self): 61 | """ 62 | http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 63 | :return: A random Finnish VAT ID 64 | """ 65 | return self.bothify(self.random_element(self.vat_id_formats)) 66 | -------------------------------------------------------------------------------- /src/libs/faker/providers/phone_number/pt_BR/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | from .. import Provider as PhoneNumberProvider 3 | 4 | 5 | class Provider(PhoneNumberProvider): 6 | formats = ( 7 | '+55 (011) #### ####', 8 | '+55 (021) #### ####', 9 | '+55 (031) #### ####', 10 | '+55 (041) #### ####', 11 | '+55 (051) #### ####', 12 | '+55 (061) #### ####', 13 | '+55 (071) #### ####', 14 | '+55 (081) #### ####', 15 | '+55 11 #### ####', 16 | '+55 21 #### ####', 17 | '+55 31 #### ####', 18 | '+55 41 #### ####', 19 | '+55 51 ### ####', 20 | '+55 61 #### ####', 21 | '+55 71 #### ####', 22 | '+55 81 #### ####', 23 | '+55 (011) ####-####', 24 | '+55 (021) ####-####', 25 | '+55 (031) ####-####', 26 | '+55 (041) ####-####', 27 | '+55 (051) ####-####', 28 | '+55 (061) ####-####', 29 | '+55 (071) ####-####', 30 | '+55 (081) ####-####', 31 | '+55 11 ####-####', 32 | '+55 21 ####-####', 33 | '+55 31 ####-####', 34 | '+55 41 ####-####', 35 | '+55 51 ### ####', 36 | '+55 61 ####-####', 37 | '+55 71 ####-####', 38 | '+55 81 ####-####', 39 | '(011) #### ####', 40 | '(021) #### ####', 41 | '(031) #### ####', 42 | '(041) #### ####', 43 | '(051) #### ####', 44 | '(061) #### ####', 45 | '(071) #### ####', 46 | '(081) #### ####', 47 | '11 #### ####', 48 | '21 #### ####', 49 | '31 #### ####', 50 | '41 #### ####', 51 | '51 ### ####', 52 | '61 #### ####', 53 | '71 #### ####', 54 | '81 #### ####', 55 | '(011) ####-####', 56 | '(021) ####-####', 57 | '(031) ####-####', 58 | '(041) ####-####', 59 | '(051) ####-####', 60 | '(061) ####-####', 61 | '(071) ####-####', 62 | '(081) ####-####', 63 | '11 ####-####', 64 | '21 ####-####', 65 | '31 ####-####', 66 | '41 ####-####', 67 | '51 ### ####', 68 | '61 ####-####', 69 | '71 ####-####', 70 | '81 ####-####', 71 | '#### ####', 72 | '####-####', 73 | ) 74 | 75 | msisdn_formats = ( 76 | '5511#########', 77 | '5521#########', 78 | '5531#########', 79 | '5541#########', 80 | '5551#########', 81 | '5561#########', 82 | '5571#########', 83 | '5581#########', 84 | ) 85 | 86 | cellphone_formats = ( 87 | '+55 9#### ####', 88 | ) 89 | 90 | def cellphone_number(self): 91 | pattern = self.random_element(self.cellphone_formats) 92 | return self.numerify(self.generator.parse(pattern)) 93 | --------------------------------------------------------------------------------