Example #1
0
    def __init__(self, *args, **kwargs):
        """Initialize attributes.

        :param locale: Current locale.
        """
        super().__init__(*args, **kwargs)
        self._data = pull('business.json', self.locale)
Example #2
0
    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)
Example #3
0
    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)
Example #4
0
 def __init__(self, *args, **kwargs):
     """
     :param locale: Current locale.
     """
     super().__init__(*args, **kwargs)
     self.data = pull('personal.json', self.locale)
     self._store = {
         'age': 0,
     }
Example #5
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)
Example #6
0
    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,
        }
Example #7
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)
Example #8
0
    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"]')
Example #9
0
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']
Example #10
0
    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()
Example #11
0
 def __init__(self):
     super().__init__()
     self._data = pull('builtin.json', 'ru')
Example #12
0
 def __init__(self, *args, **kwargs):
     """
     :param str locale: Current language.
     """
     super().__init__(*args, **kwargs)
     self._data = pull('science.json', self.locale)
Example #13
0
 def __init__(self, *args, **kwargs):
     """Initialize attributes."""
     super().__init__(*args, **kwargs)
     self._data = pull(self._datafile, 'ru')
Example #14
0
 def __init__(self, *args, **kwargs):
     """Initialize attributes."""
     super().__init__(*args, **kwargs)
     self._data = pull('builtin.json', 'ru')
Example #15
0
 def __init__(self, *args, **kwargs):
     """
     :param str locale: Current locale.
     """
     super().__init__(*args, **kwargs)
     self.data = pull('datetime.json', self.locale)
Example #16
0
 def __init__(self, *args, **kwargs):
     """
     :param locale: Current locale.
     """
     super().__init__(*args, **kwargs)
     self._data = pull('food.json', self.locale)