Skip to content

Commit

Permalink
🏷️ Use modern typing syntax
Browse files Browse the repository at this point in the history
  • Loading branch information
sergei-maertens committed Feb 26, 2025
1 parent d33981f commit 05fb2b1
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 11 deletions.
10 changes: 5 additions & 5 deletions privates/admin.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from typing import Generic, Optional, Sequence, Type, TypeVar
from typing import Generic, Sequence, TypeVar

import django.db.models.options
from django.contrib.admin import AdminSite
Expand All @@ -24,7 +24,7 @@ class PrivateMediaMixin(Generic[_ModelT]):
in the admin URL configuration (automatically).
"""

private_media_fields: Optional[Sequence[str]] = None
private_media_fields: Sequence[str] | None = None
private_media_no_download_fields: Sequence[str] = tuple()
"""
A list of field names for which downloads are forbidden.
Expand All @@ -33,17 +33,17 @@ class PrivateMediaMixin(Generic[_ModelT]):
custom widget. You can block this by specifying the name of the field(s) that should
only be writable and not downloadable.
"""
private_media_permission_required: Optional[str] = None
private_media_permission_required: str | None = None
private_media_view_class = PrivateMediaView
"""
The Django view class to use for private media field content download views.
"""
private_media_file_widget = PrivateFileWidget
# options passed through to sendfile, as a dict
private_media_view_options: Optional[dict] = None
private_media_view_options: dict | None = None

admin_site: AdminSite
model: Type[_ModelT]
model: type[_ModelT]
opts: django.db.models.options.Options

def get_private_media_fields(self) -> Sequence[str]:
Expand Down
4 changes: 1 addition & 3 deletions privates/views.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
from typing import Optional

from django.contrib.auth.mixins import PermissionRequiredMixin
from django.views.generic import DetailView

Expand All @@ -25,7 +23,7 @@ class PrivateMediaView(PermissionRequiredMixin, DetailView):
The path (on-disk) of the file is passed along to :func:`django_sendfile.sendfile`.
"""
sendfile_options: Optional[dict] = None
sendfile_options: dict | None = None
"""
Additional options for :func:`django_sendfile.sendfile`.
"""
Expand Down
6 changes: 3 additions & 3 deletions privates/widgets.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from typing import Any, Dict, Optional, Union
from typing import Any

from django.contrib.admin.widgets import AdminFileWidget
from django.core.files.uploadedfile import UploadedFile
Expand All @@ -15,8 +15,8 @@ def __init__(self, *args, **kwargs):
def get_context(
self,
name: str,
value: Optional[Union[FieldFile, UploadedFile]],
attrs: Optional[Dict[str, Any]],
value: FieldFile | UploadedFile | None,
attrs: dict[str, Any] | None,
):
"""
Return value-related substitutions.
Expand Down

0 comments on commit 05fb2b1

Please sign in to comment.