diff --git a/admin_interface/__init__.py b/admin_interface/__init__.py index e69de29..d64097e 100644 --- a/admin_interface/__init__.py +++ b/admin_interface/__init__.py @@ -0,0 +1,17 @@ +from admin_interface.metadata import ( + __author__, + __copyright__, + __description__, + __license__, + __title__, + __version__, +) + +__all__ = [ + "__author__", + "__copyright__", + "__description__", + "__license__", + "__title__", + "__version__", +] diff --git a/admin_interface/metadata.py b/admin_interface/metadata.py new file mode 100644 index 0000000..289885b --- /dev/null +++ b/admin_interface/metadata.py @@ -0,0 +1,10 @@ +__author__ = "Fabio Caccamo" +__copyright__ = "Copyright (c) 2016-present Fabio Caccamo" +__description__ = ( + "django's default admin interface with superpowers - " + "customizable themes, popup windows replaced by modals and many other features." +) +__email__ = "fabio.caccamo@gmail.com" +__license__ = "MIT" +__title__ = "django-admin-interface" +__version__ = "0.24.2" diff --git a/admin_interface/templatetags/admin_interface_tags.py b/admin_interface/templatetags/admin_interface_tags.py index a93b5ef..73d41fe 100644 --- a/admin_interface/templatetags/admin_interface_tags.py +++ b/admin_interface/templatetags/admin_interface_tags.py @@ -8,8 +8,8 @@ from django.urls import NoReverseMatch, reverse from django.utils import translation from admin_interface.cache import get_cached_active_theme, set_cached_active_theme +from admin_interface.metadata import __version__ from admin_interface.models import Theme -from admin_interface.version import __version__ register = template.Library() diff --git a/admin_interface/version.py b/admin_interface/version.py deleted file mode 100644 index 71db8a0..0000000 --- a/admin_interface/version.py +++ /dev/null @@ -1 +0,0 @@ -__version__ = "0.24.2" diff --git a/setup.cfg b/setup.cfg index e6bf196..4a04765 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,11 +1,11 @@ [metadata] name = django-admin-interface -version = attr: admin_interface.version.__version__ -author = Fabio Caccamo -author_email = fabio.caccamo@gmail.com -maintainer = Fabio Caccamo -maintainer_email = fabio.caccamo@gmail.com -description = django-admin-interface is a modern responsive flat admin interface customizable by the admin itself. +version = attr: admin_interface.metadata.__version__ +author = attr: admin_interface.metadata.__author__ +author_email = attr: admin_interface.metadata.__email__ +maintainer = attr: admin_interface.metadata.__author__ +maintainer_email = attr: admin_interface.metadata.__email__ +description = attr: admin_interface.metadata.__description__ keywords = django admin diff --git a/tests/test_metadata.py b/tests/test_metadata.py new file mode 100644 index 0000000..bf19084 --- /dev/null +++ b/tests/test_metadata.py @@ -0,0 +1,34 @@ +import re + +from django.test import TestCase + +from admin_interface.metadata import ( + __author__, + __copyright__, + __description__, + __email__, + __license__, + __title__, + __version__, +) + + +class MetadataTestCase(TestCase): + """ + This class describes a metadata test case. + """ + + def test_metadata(self): + self.assertTrue(isinstance(__author__, str)) + self.assertTrue(isinstance(__copyright__, str)) + self.assertTrue(isinstance(__description__, str)) + self.assertTrue(isinstance(__email__, str)) + self.assertTrue(isinstance(__license__, str)) + self.assertTrue(isinstance(__title__, str)) + self.assertTrue(isinstance(__version__, str)) + + def test_version(self): + v = __version__ + v_re = re.compile(r"^([0-9]+)(\.([0-9]+)){1,2}$") + v_match = v_re.match(v) + self.assertTrue(v_match is not None) diff --git a/tests/test_templatetags.py b/tests/test_templatetags.py index 9cf8788..4b123a3 100644 --- a/tests/test_templatetags.py +++ b/tests/test_templatetags.py @@ -6,10 +6,10 @@ from django.template import Context, Template from django.test import TestCase, override_settings from django.test.client import RequestFactory +from admin_interface.metadata import __version__ from admin_interface.models import Theme from admin_interface.templatetags import admin_interface_tags as templatetags from admin_interface.templatetags.admin_interface_tags import hash_string -from admin_interface.version import __version__ class AdminInterfaceTemplateTagsTestCase(TestCase):