Skip to content

Commit

Permalink
django: reimplement django_version_ge in pure Python
Browse files Browse the repository at this point in the history
Fixes the following Python deprecation warning:
```
kobo/django/django_version.py:10: 10 warnings
tests/test_view_log.py: 24 warnings
tests/test_views.py: 6 warnings
tests/test_xmlrpc_auth.py: 8 warnings
  kobo/kobo/django/django_version.py:10: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
      return LooseVersion(django.get_version()) >= LooseVersion(version_str)
```
  • Loading branch information
lzaoral committed Aug 22, 2023
1 parent 6f0e62e commit e7556a1
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions kobo/django/django_version.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,22 @@
import django
from distutils.version import LooseVersion

def django_version_ge(version_str):
"""
Check if current django is in higher or equal version than specified by
version_str parameter
"""

return LooseVersion(django.get_version()) >= LooseVersion(version_str)
ver1 = [int(x) for x in django.get_version().split('.')]
ver2 = [int(x) for x in version_str.split('.')]

# lists must have the same lenght for comparison to work
max_len = max(len(ver1), len(ver2))

def append_zeros(lst):
while len(lst) != max_len:
lst.append(0)

append_zeros(ver1)
append_zeros(ver2)

return ver1 >= ver2

0 comments on commit e7556a1

Please sign in to comment.