diff --git a/.bumpversion.cfg b/.bumpversion.cfg index d84f5305b2..6c69395f91 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 8.8.2 +current_version = 8.9.0 files = VERSION faker/__init__.py docs/conf.py commit = True tag = True diff --git a/CHANGELOG.md b/CHANGELOG.md index 87a641d6da..7f711cf900 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ ## Changelog +### [v8.9.0 - 2021-06-30](https://github.com/joke2k/faker/compare/v8.8.2...v8.9.0) + +* Add RIPE ID. Thanks @pishchalnikov. + ### [v8.8.2 - 2021-06-23](https://github.com/joke2k/faker/compare/v8.8.1...v8.8.2) * Avoid collision for ``date`` in ``datetime`` provider. Thanks @mattshin. diff --git a/VERSION b/VERSION index 11f1d47dac..e5c15102d9 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -8.8.2 +8.9.0 diff --git a/docs/conf.py b/docs/conf.py index 10bc53c402..3a59f7138c 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -51,9 +51,9 @@ # built documents. # # The short X.Y version. -version = '8.8.2' +version = '8.9.0' # The full version, including alpha/beta/rc tags. -release = '8.8.2' +release = '8.9.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/faker/__init__.py b/faker/__init__.py index 4ac270a286..76d703a5df 100644 --- a/faker/__init__.py +++ b/faker/__init__.py @@ -2,6 +2,6 @@ from faker.generator import Generator from faker.proxy import Faker -VERSION = '8.8.2' +VERSION = '8.9.0' __all__ = ('Factory', 'Generator', 'Faker') diff --git a/faker/providers/internet/__init__.py b/faker/providers/internet/__init__.py index 705ffc592d..5cea954b4d 100644 --- a/faker/providers/internet/__init__.py +++ b/faker/providers/internet/__init__.py @@ -572,3 +572,14 @@ def iana_id(self): """ return str(self.random_int(min=1, max=8888888)) + + def ripe_id(self): + """Returns RIPE Organization ID + https://www.ripe.net/manage-ips-and-asns/db/support/organisation-object-in-the-ripe-database + + :rtype: str + """ + + lex = '?' * self.random_int(min=2, max=4) + num = '%' * self.random_int(min=1, max=5) + return self.bothify(f'ORG-{lex}{num}-RIPE').upper() diff --git a/tests/providers/test_internet.py b/tests/providers/test_internet.py index da7b06a0ff..f62b803ba2 100644 --- a/tests/providers/test_internet.py +++ b/tests/providers/test_internet.py @@ -308,6 +308,11 @@ def test_iana_id(self, faker, num_samples): for _ in range(num_samples): assert 1 <= int(faker.iana_id()) <= 8888888 + def test_ripe_id(self, faker, num_samples): + pattern = re.compile(r'^ORG-[A-Z]{2,4}[1-9]\d{0,4}-RIPE$') + for _ in range(num_samples): + assert pattern.fullmatch(faker.ripe_id()) + class TestInternetProviderUrl: """ Test internet url generation """