migrate from django deprecation
This commit is contained in:
parent
6ad51512f3
commit
a50bd14277
8 changed files with 27 additions and 28 deletions
|
@ -8,11 +8,11 @@ from auditlog.models import AuditlogHistoryField, LogEntry
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.contrib.contenttypes.models import ContentType
|
from django.contrib.contenttypes.models import ContentType
|
||||||
from django.core.files.uploadedfile import SimpleUploadedFile
|
from django.core.files.uploadedfile import SimpleUploadedFile
|
||||||
|
from django.core.signing import b62_decode, b62_encode
|
||||||
from django.db import connection, models
|
from django.db import connection, models
|
||||||
from django.db.models import QuerySet, Value
|
from django.db.models import QuerySet, Value
|
||||||
from django.template.defaultfilters import default
|
from django.template.defaultfilters import default
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from django.utils.baseconv import base62
|
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
from ninja import Field, Schema
|
from ninja import Field, Schema
|
||||||
|
@ -475,7 +475,7 @@ class Item(PolymorphicModel):
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def uuid(self):
|
def uuid(self):
|
||||||
return base62.encode(self.uid.int).zfill(22)
|
return b62_encode(self.uid.int).zfill(22)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def url(self):
|
def url(self):
|
||||||
|
@ -505,7 +505,7 @@ class Item(PolymorphicModel):
|
||||||
if r:
|
if r:
|
||||||
b62 = r[0]
|
b62 = r[0]
|
||||||
try:
|
try:
|
||||||
item = cls.objects.get(uid=uuid.UUID(int=base62.decode(b62)))
|
item = cls.objects.get(uid=uuid.UUID(int=b62_decode(b62)))
|
||||||
except Exception:
|
except Exception:
|
||||||
item = None
|
item = None
|
||||||
return item
|
return item
|
||||||
|
|
|
@ -5,9 +5,9 @@ from typing import TYPE_CHECKING
|
||||||
from discord import SyncWebhook
|
from discord import SyncWebhook
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.core.exceptions import PermissionDenied
|
from django.core.exceptions import PermissionDenied
|
||||||
|
from django.core.signing import b62_decode, b62_encode
|
||||||
from django.http import Http404, HttpRequest, HttpResponseRedirect, QueryDict
|
from django.http import Http404, HttpRequest, HttpResponseRedirect, QueryDict
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from django.utils.baseconv import base62
|
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
from .config import PAGE_LINK_NUMBER
|
from .config import PAGE_LINK_NUMBER
|
||||||
|
@ -195,7 +195,7 @@ def GenerateDateUUIDMediaFilePath(filename, path_root):
|
||||||
|
|
||||||
def get_uuid_or_404(uuid_b62):
|
def get_uuid_or_404(uuid_b62):
|
||||||
try:
|
try:
|
||||||
i = base62.decode(uuid_b62)
|
i = b62_decode(uuid_b62)
|
||||||
return uuid.UUID(int=i)
|
return uuid.UUID(int=i)
|
||||||
except ValueError:
|
except ValueError:
|
||||||
raise Http404("Malformed Base62 UUID")
|
raise Http404("Malformed Base62 UUID")
|
||||||
|
|
|
@ -4,10 +4,10 @@ from functools import cached_property
|
||||||
from typing import TYPE_CHECKING
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
from django.core.signing import b62_decode, b62_encode
|
||||||
from django.db import connection, models
|
from django.db import connection, models
|
||||||
from django.db.models import Avg, CharField, Count, Q
|
from django.db.models import Avg, CharField, Count, Q
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from django.utils.baseconv import base62
|
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from polymorphic.models import PolymorphicModel
|
from polymorphic.models import PolymorphicModel
|
||||||
|
|
||||||
|
@ -125,7 +125,7 @@ class Piece(PolymorphicModel, UserOwnedObjectMixin):
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def uuid(self):
|
def uuid(self):
|
||||||
return base62.encode(self.uid.int)
|
return b62_encode(self.uid.int)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def url(self):
|
def url(self):
|
||||||
|
@ -177,7 +177,7 @@ class Piece(PolymorphicModel, UserOwnedObjectMixin):
|
||||||
if r:
|
if r:
|
||||||
b62 = r[0]
|
b62 = r[0]
|
||||||
try:
|
try:
|
||||||
obj = cls.objects.get(uid=uuid.UUID(int=base62.decode(b62)))
|
obj = cls.objects.get(uid=uuid.UUID(int=b62_decode(b62)))
|
||||||
except Exception:
|
except Exception:
|
||||||
obj = None
|
obj = None
|
||||||
return obj
|
return obj
|
||||||
|
|
|
@ -10,7 +10,6 @@ from django.core.validators import MaxValueValidator, MinValueValidator, RegexVa
|
||||||
from django.db import connection, models
|
from django.db import connection, models
|
||||||
from django.db.models import Avg, Count, Q
|
from django.db.models import Avg, Count, Q
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from django.utils.baseconv import base62
|
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
from markdownx.models import MarkdownxField
|
from markdownx.models import MarkdownxField
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
|
from django.core.signing import b62_decode, b62_encode
|
||||||
from django.shortcuts import get_object_or_404, redirect, render
|
from django.shortcuts import get_object_or_404, redirect, render
|
||||||
from django.utils.baseconv import base62
|
|
||||||
|
|
||||||
from catalog.collection.models import Collection
|
from catalog.collection.models import Collection
|
||||||
from catalog.models import Item
|
from catalog.models import Item
|
||||||
|
@ -9,54 +9,54 @@ from .models import *
|
||||||
|
|
||||||
def book(request, id):
|
def book(request, id):
|
||||||
link = get_object_or_404(BookLink, old_id=id)
|
link = get_object_or_404(BookLink, old_id=id)
|
||||||
return redirect(f"/book/{base62.encode(link.new_uid.int)}", permanent=True)
|
return redirect(f"/book/{b62_encode(link.new_uid.int)}", permanent=True)
|
||||||
|
|
||||||
|
|
||||||
def movie(request, id):
|
def movie(request, id):
|
||||||
link = get_object_or_404(MovieLink, old_id=id)
|
link = get_object_or_404(MovieLink, old_id=id)
|
||||||
return redirect(f"/movie/{base62.encode(link.new_uid.int)}", permanent=True)
|
return redirect(f"/movie/{b62_encode(link.new_uid.int)}", permanent=True)
|
||||||
|
|
||||||
|
|
||||||
def album(request, id):
|
def album(request, id):
|
||||||
link = get_object_or_404(AlbumLink, old_id=id)
|
link = get_object_or_404(AlbumLink, old_id=id)
|
||||||
return redirect(f"/album/{base62.encode(link.new_uid.int)}", permanent=True)
|
return redirect(f"/album/{b62_encode(link.new_uid.int)}", permanent=True)
|
||||||
|
|
||||||
|
|
||||||
def song(request, id):
|
def song(request, id):
|
||||||
link = get_object_or_404(SongLink, old_id=id)
|
link = get_object_or_404(SongLink, old_id=id)
|
||||||
return redirect(f"/album/{base62.encode(link.new_uid.int)}", permanent=True)
|
return redirect(f"/album/{b62_encode(link.new_uid.int)}", permanent=True)
|
||||||
|
|
||||||
|
|
||||||
def game(request, id):
|
def game(request, id):
|
||||||
link = get_object_or_404(GameLink, old_id=id)
|
link = get_object_or_404(GameLink, old_id=id)
|
||||||
return redirect(f"/game/{base62.encode(link.new_uid.int)}", permanent=True)
|
return redirect(f"/game/{b62_encode(link.new_uid.int)}", permanent=True)
|
||||||
|
|
||||||
|
|
||||||
def collection(request, id):
|
def collection(request, id):
|
||||||
link = get_object_or_404(CollectionLink, old_id=id)
|
link = get_object_or_404(CollectionLink, old_id=id)
|
||||||
return redirect(f"/collection/{base62.encode(link.new_uid.int)}", permanent=True)
|
return redirect(f"/collection/{b62_encode(link.new_uid.int)}", permanent=True)
|
||||||
|
|
||||||
|
|
||||||
def book_review(request, id):
|
def book_review(request, id):
|
||||||
link = get_object_or_404(ReviewLink, module="book", old_id=id)
|
link = get_object_or_404(ReviewLink, module="book", old_id=id)
|
||||||
return redirect(f"/review/{base62.encode(link.new_uid.int)}", permanent=True)
|
return redirect(f"/review/{b62_encode(link.new_uid.int)}", permanent=True)
|
||||||
|
|
||||||
|
|
||||||
def movie_review(request, id):
|
def movie_review(request, id):
|
||||||
link = get_object_or_404(ReviewLink, module="movie", old_id=id)
|
link = get_object_or_404(ReviewLink, module="movie", old_id=id)
|
||||||
return redirect(f"/review/{base62.encode(link.new_uid.int)}", permanent=True)
|
return redirect(f"/review/{b62_encode(link.new_uid.int)}", permanent=True)
|
||||||
|
|
||||||
|
|
||||||
def album_review(request, id):
|
def album_review(request, id):
|
||||||
link = get_object_or_404(ReviewLink, module="album", old_id=id)
|
link = get_object_or_404(ReviewLink, module="album", old_id=id)
|
||||||
return redirect(f"/review/{base62.encode(link.new_uid.int)}", permanent=True)
|
return redirect(f"/review/{b62_encode(link.new_uid.int)}", permanent=True)
|
||||||
|
|
||||||
|
|
||||||
def song_review(request, id):
|
def song_review(request, id):
|
||||||
link = get_object_or_404(ReviewLink, module="song", old_id=id)
|
link = get_object_or_404(ReviewLink, module="song", old_id=id)
|
||||||
return redirect(f"/review/{base62.encode(link.new_uid.int)}", permanent=True)
|
return redirect(f"/review/{b62_encode(link.new_uid.int)}", permanent=True)
|
||||||
|
|
||||||
|
|
||||||
def game_review(request, id):
|
def game_review(request, id):
|
||||||
link = get_object_or_404(ReviewLink, module="game", old_id=id)
|
link = get_object_or_404(ReviewLink, module="game", old_id=id)
|
||||||
return redirect(f"/review/{base62.encode(link.new_uid.int)}", permanent=True)
|
return redirect(f"/review/{b62_encode(link.new_uid.int)}", permanent=True)
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
black~=22.12.0
|
black~=22.12.0
|
||||||
coverage
|
coverage
|
||||||
django-debug-toolbar
|
django-debug-toolbar
|
||||||
django-stubs~=4.2.7
|
django-stubs
|
||||||
djlint~=1.34.0
|
djlint~=1.34.0
|
||||||
isort~=5.13.2
|
isort~=5.13.2
|
||||||
lxml-stubs
|
lxml-stubs
|
||||||
pre-commit
|
pre-commit
|
||||||
pyright==1.1.350
|
pyright==1.1.365
|
||||||
ruff
|
ruff
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import time
|
import time
|
||||||
from contextlib import nullcontext
|
from contextlib import nullcontext
|
||||||
from datetime import datetime, timezone
|
from datetime import datetime
|
||||||
|
from datetime import timezone as dttz
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.contrib.contenttypes.models import ContentType
|
from django.contrib.contenttypes.models import ContentType
|
||||||
|
@ -23,7 +24,7 @@ from users.models import User as NeoUser
|
||||||
|
|
||||||
BATCH_SIZE = 1000
|
BATCH_SIZE = 1000
|
||||||
|
|
||||||
TIMELINE_START = datetime.datetime(2023, 7, 1, tzinfo=timezone.utc)
|
TIMELINE_START = datetime.datetime(2023, 7, 1, tzinfo=dttz.utc)
|
||||||
|
|
||||||
|
|
||||||
def content_type_id(cls):
|
def content_type_id(cls):
|
||||||
|
|
|
@ -10,13 +10,12 @@ from django.contrib.auth.decorators import login_required
|
||||||
from django.core.cache import cache
|
from django.core.cache import cache
|
||||||
from django.core.exceptions import BadRequest, ObjectDoesNotExist
|
from django.core.exceptions import BadRequest, ObjectDoesNotExist
|
||||||
from django.core.mail import send_mail
|
from django.core.mail import send_mail
|
||||||
from django.core.signing import TimestampSigner
|
from django.core.signing import TimestampSigner, b62_decode, b62_encode
|
||||||
from django.core.validators import EmailValidator
|
from django.core.validators import EmailValidator
|
||||||
from django.db.models import Count, Q
|
from django.db.models import Count, Q
|
||||||
from django.shortcuts import get_object_or_404, redirect, render
|
from django.shortcuts import get_object_or_404, redirect, render
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from django.utils.baseconv import base62
|
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from django.views.decorators.http import require_http_methods
|
from django.views.decorators.http import require_http_methods
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
@ -86,7 +85,7 @@ def connect(request):
|
||||||
{"msg": _("Invalid email address")},
|
{"msg": _("Invalid email address")},
|
||||||
)
|
)
|
||||||
user = User.objects.filter(email__iexact=login_email).first()
|
user = User.objects.filter(email__iexact=login_email).first()
|
||||||
code = base62.encode(random.randint(pow(62, 4), pow(62, 5) - 1))
|
code = b62_encode(random.randint(pow(62, 4), pow(62, 5) - 1))
|
||||||
cache.set(f"login_{code}", login_email, timeout=60 * 15)
|
cache.set(f"login_{code}", login_email, timeout=60 * 15)
|
||||||
request.session["login_email"] = login_email
|
request.session["login_email"] = login_email
|
||||||
action = "login" if user else "register"
|
action = "login" if user else "register"
|
||||||
|
|
Loading…
Add table
Reference in a new issue