Add support for Django 5 (#120)

This commit is contained in:
Stan Triepels
2023-10-12 22:44:19 +02:00
committed by GitHub
parent 54ab399758
commit 1d2a6059db
8 changed files with 962 additions and 856 deletions
+7 -5
View File
@@ -2,16 +2,18 @@ import datetime
import time
import zlib
import django
from django.core.signing import BadSignature, JSONSerializer, SignatureExpired
from django.core.signing import Signer as Sgnr
from django.core.signing import TimestampSigner as TsS
from django.core.signing import b64_decode, dumps
try:
from django.core.signing import base62
except ImportError:
# For django < 4.0
if django.VERSION < (5, 0):
from django.utils.baseconv import base62
b62_decode = base62.decode
else:
from django.core.signing import b62_decode
from django.utils.crypto import constant_time_compare
from django.utils.encoding import force_bytes, force_str
@@ -76,7 +78,7 @@ class TimestampSigner(Signer, TsS):
"""
result = super(TimestampSigner, self).unsign(value)
value, timestamp = result.rsplit(self.sep, 1)
timestamp = base62.decode(timestamp)
timestamp = b62_decode(timestamp)
if max_age is not None:
if isinstance(max_age, datetime.timedelta):
max_age = max_age.total_seconds()
+1 -1
View File
@@ -60,7 +60,7 @@ def get_func_repr(func):
def localtime(value=None) -> datetime:
"""Override for timezone.localtime to deal with naive times and local times"""
if settings.USE_TZ:
if django.VERSION >= (4, 0) and settings.USE_DEPRECATED_PYTZ:
if django.VERSION >= (4, 0) and getattr(settings, "USE_DEPRECATED_PYTZ", False):
import pytz
convert_to_tz = pytz.timezone(Conf.TIME_ZONE)