def __init__(self, *args, **kwargs): """Initialize attributes. :param locale: Current locale. """ super().__init__(*args, **kwargs) self._data = pull('business.json', self.locale)
def __init__(self, *args, **kwargs): """Initialize attributes. :param locale: Current language. :param seed: Seed. """ super().__init__(*args, **kwargs) self._data = pull('science.json', self.locale)
def __init__(self, *args, **kwargs): """Initialize attributes. :param locale: Current locale. """ super().__init__(*args, **kwargs) self._datafile = 'datetime.json' self._data = pull(self._datafile, self.locale)
def __init__(self, *args, **kwargs): """ :param locale: Current locale. """ super().__init__(*args, **kwargs) self.data = pull('personal.json', self.locale) self._store = { 'age': 0, }
def generate_sentence(): """Generate sentence from the parts. :return: Sentence. :rtype: str """ data = pull('text.json', 'ru')['sentence'] sentence = [choice(data[k]) for k in ('head', 'p1', 'p2', 'tail')] return '{0} {1} {2} {3}'.format(*sentence)
def __init__(self, *args, **kwargs) -> None: """Initialize attributes. :param locale: Current locale. :param seed: Seed. """ super().__init__(*args, **kwargs) self._data = pull('person.json', self.locale) self._store = { 'age': 0, }
def override(provider: DataProviderType, locale: str = EN) -> Generator[DataProviderType, None, None]: """Context manager which allows overriding current locale. :param provider: Locale dependent data provider. :param locale: Locale. :return: """ origin_locale = getattr(provider, 'locale', None) datafile = getattr(provider, '_datafile', None) if not datafile or not locale: raise ValueError('«{}» has not locale dependent'.format( provider.__class__.__name__)) provider.locale = locale provider._data = pull(datafile, locale) try: yield provider finally: provider.locale = origin_locale provider._data = pull(datafile, origin_locale)
def patronymic(gender='female'): """Generate random patronymic name. :param gender: Gender of person. :return: Patronymic name. :Example: Алексеевна. """ gender = gender.lower() try: patronymic = pull('personal.json', 'ru')['patronymic'] return choice(patronymic[gender]) except: raise JSONKeyError( 'Not exist key. Please use one of ["female", "male"]')
def test_pull(): data = pull('personal.json', 'en') assert data['views_on'] is not None assert isinstance(data['views_on'], list) with pytest.raises(UnsupportedLocale): pull('personal.json', 'w') with pytest.raises(FileNotFoundError): pull('something.json', 'en') data = pull('address.json', 'en-gb') assert 'city' in data assert 'Aberystwyth' in data['city'] assert 'Addison' not in data['city'] data = pull('address.json', 'en-au') assert 'city' in data assert 'Melbourne' in data['city']
def username(self, gender='female'): """Get a random username with digits. Username generated from names (en) for all locales. :return: Username. :rtype: str :Example: abby1189. """ try: names = pull('personal.json', 'en')['names'][gender] name = self.random.choice(names) except KeyError: raise WrongArgument('gender must be "female" or "male"') fmt = ['%s_%s', '%s%s', '%s-%s'] username = self.random.choice(fmt) % (name, self.random.randint(2, 9999)) return username.lower()
def __init__(self): super().__init__() self._data = pull('builtin.json', 'ru')
def __init__(self, *args, **kwargs): """ :param str locale: Current language. """ super().__init__(*args, **kwargs) self._data = pull('science.json', self.locale)
def __init__(self, *args, **kwargs): """Initialize attributes.""" super().__init__(*args, **kwargs) self._data = pull(self._datafile, 'ru')
def __init__(self, *args, **kwargs): """Initialize attributes.""" super().__init__(*args, **kwargs) self._data = pull('builtin.json', 'ru')
def __init__(self, *args, **kwargs): """ :param str locale: Current locale. """ super().__init__(*args, **kwargs) self.data = pull('datetime.json', self.locale)
def __init__(self, *args, **kwargs): """ :param locale: Current locale. """ super().__init__(*args, **kwargs) self._data = pull('food.json', self.locale)