From 1d04d84788526f42d5dc61fa9ac5c838a894f254 Mon Sep 17 00:00:00 2001 From: Jon Michael Aanes Date: Tue, 19 Dec 2023 23:08:54 +0100 Subject: [PATCH] Use aenum to allow for third party extensions. --- setup.py | 2 +- socials_util/__init__.py | 4 ++-- test/test_extension.py | 11 +++++++++++ 3 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 test/test_extension.py diff --git a/setup.py b/setup.py index 2cc872b..c77a4bc 100644 --- a/setup.py +++ b/setup.py @@ -8,7 +8,7 @@ setup( author_email='jonjmaa@gmail.com', url='https://gitfub.space/Jmaa/socials-util', packages=['socials_util'], - install_requires=['enforce-typing'], + install_requires=['enforce-typing', 'aenum'], keywords=[], classifiers=[], include_package_data=True, diff --git a/socials_util/__init__.py b/socials_util/__init__.py index d24caba..5a45d9b 100644 --- a/socials_util/__init__.py +++ b/socials_util/__init__.py @@ -5,12 +5,12 @@ Small utility for detecting social websites. from dataclasses import dataclass from enforce_typing import enforce_types from typing import List, Set, Optional, Union -import enum +import aenum import datetime import re import urllib.parse -class SocialSiteId(enum.Enum): +class SocialSiteId(aenum.Enum): ''' The great social website enum. ''' diff --git a/test/test_extension.py b/test/test_extension.py new file mode 100644 index 0000000..3ae317a --- /dev/null +++ b/test/test_extension.py @@ -0,0 +1,11 @@ + +from socials_util import * +import aenum + +def test_extension(): + MY_SECRET_SITE = aenum.extend_enum(SocialSiteId, 'MY_SECRET_SITE', 666) + assert MY_SECRET_SITE + assert SocialSiteId.MY_SECRET_SITE + + REGEXES.append(('test', MY_SECRET_SITE)) +