Skip to content

Commit

Permalink
Get rid of hidden python 3.7 dependency
Browse files Browse the repository at this point in the history
  • Loading branch information
hmpf committed Oct 15, 2024
1 parent a8984e1 commit d46c020
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 7 deletions.
22 changes: 15 additions & 7 deletions src/argus/site/views.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import logging
from importlib.metadata import version, PackageNotFoundError

from django.conf import settings
from django.http import (
Expand Down Expand Up @@ -84,6 +85,19 @@ def render_error_page(code, reason) -> bytes:
# fmt: on


def get_version():
try:
from argus.version import __version__

return __version__
except (ModuleNotFoundError, ImportError):
pass
try:
return version("argus-server")
except PackageNotFoundError as e:
return e


@extend_schema_view(get=extend_schema(responses=MetadataSerializer))
class MetadataView(APIView):
http_method_names = ["get", "head", "options", "trace"]
Expand All @@ -92,15 +106,9 @@ class MetadataView(APIView):
login_required = False

def get(self, request, format=None):
try:
from argus.version import __version__
except (ModuleNotFoundError, ImportError):
import pkg_resources

__version__ = pkg_resources.get_distribution("argus-server").version

metadata = {
"server-version": __version__,
"server-version": get_version(),
"api-version": {
"stable": "v1",
"unstable": "v2",
Expand Down
10 changes: 10 additions & 0 deletions tests/site/test_misc.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import unittest

from argus.site.views import get_version


class GetVersionTest(unittest.TestCase):

def test_get_version_never_fails(self):
version = get_version()
self.assertTrue(isinstance(version, str))

0 comments on commit d46c020

Please sign in to comment.