Skip to content

Commit

Permalink
fix: Use importlib
Browse files Browse the repository at this point in the history
  • Loading branch information
kesara committed Nov 3, 2024
1 parent 256f11d commit 19dda28
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 18 deletions.
15 changes: 0 additions & 15 deletions ietf/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,21 +35,6 @@
__release_branch__ = branch
__release_hash__ = git_hash

# important libraries
__version_extra__ = {}
# xml2rfc
try:
import xml2rfc
__version_extra__['xml2rfc'] = xml2rfc.__version__
except Exception:
pass

# weasyprint
try:
import weasyprint
__version_extra__['weasyprint'] = weasyprint.__version__
except Exception:
pass

# This will make sure the app is always imported when
# Django starts so that shared_task will use this app.
Expand Down
4 changes: 2 additions & 2 deletions ietf/api/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -936,8 +936,8 @@ def test_api_version(self):
r = self.client.get(url)
data = r.json()
self.assertEqual(data['version'], ietf.__version__+ietf.__patch__)
self.assertEqual(data['other']['xml2rfc'], ietf.__version_extra__['xml2rfc'])
self.assertEqual(data['other']['weasyprint'], ietf.__version_extra__['weasyprint'])
for lib in settings.IMPORTANT_LIBRARIES:
self.assertIn(lib, data['other'])
self.assertEqual(data['dumptime'], "2022-08-31 07:10:01 +0000")
DumpInfo.objects.update(tz='PST8PDT')
r = self.client.get(url)
Expand Down
9 changes: 8 additions & 1 deletion ietf/api/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
from django.views.decorators.gzip import gzip_page
from django.views.generic.detail import DetailView
from email.message import EmailMessage
from importlib.metadata import version as metadata_version
from jwcrypto.jwk import JWK
from tastypie.exceptions import BadRequest
from tastypie.serializers import Serializer
Expand Down Expand Up @@ -240,10 +241,16 @@ def version(request):
if dumpinfo.tz != "UTC":
dumpdate = pytz.timezone(dumpinfo.tz).localize(dumpinfo.date.replace(tzinfo=None))
dumptime = dumpdate.strftime('%Y-%m-%d %H:%M:%S %z') if dumpinfo else None

# important libraries
__version_extra__ = {}
for lib in settings.IMPORTANT_LIBRARIES:
__version_extra__[lib] = metadata_version(lib)

return HttpResponse(
json.dumps({
'version': ietf.__version__+ietf.__patch__,
'other': ietf.__version_extra__,
'other': __version_extra__,
'dumptime': dumptime,
}),
content_type='application/json',
Expand Down
2 changes: 2 additions & 0 deletions ietf/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -1279,6 +1279,8 @@ def skip_unreadable_post(record):

PUBLISH_IPR_STATES = ['posted', 'removed', 'removed_objfalse']

IMPORTANT_LIBRARIES = ["django", "celery", "lxml", "markdown", "psycopg2", "pyang", "rfc2html", "weasyprint", "xml2rfc"]

# We provide a secret key only for test and development modes. It's
# absolutely vital that django fails to start in production mode unless a
# secret key has been provided elsewhere, not in this file which is
Expand Down

0 comments on commit 19dda28

Please sign in to comment.