Skip to content

Commit adadf8a

Browse files
committed
Sort imports
1 parent 492ffff commit adadf8a

File tree

11 files changed

+50
-24
lines changed

11 files changed

+50
-24
lines changed

djangocms_rest/cms_config.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from functools import cached_property
2+
23
from cms.app_base import CMSAppConfig
34

45

djangocms_rest/permissions.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from cms.models import Page, PageContent
22
from cms.utils.i18n import get_language_tuple, get_languages
33
from cms.utils.page_permissions import user_can_view_page
4+
45
from rest_framework.exceptions import NotFound
56
from rest_framework.permissions import BasePermission
67
from rest_framework.request import Request

djangocms_rest/plugin_rendering.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from cms.utils.plugins import get_plugins
1010

1111
from rest_framework import serializers
12+
1213
from djangocms_rest.serializers.placeholders import PlaceholderSerializer
1314
from djangocms_rest.serializers.utils.cache import (
1415
get_placeholder_rest_cache,

djangocms_rest/serializers/pages.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
from typing import Dict
1+
from django.db import models
22

33
from cms.models import PageContent
4-
from django.db import models
4+
55
from rest_framework import serializers
66

77
from djangocms_rest.serializers.placeholders import PlaceholderRelationSerializer
@@ -40,7 +40,7 @@ class PreviewMixin:
4040

4141

4242
class BasePageContentMixin:
43-
def get_base_representation(self, page_content: PageContent) -> Dict:
43+
def get_base_representation(self, page_content: PageContent) -> dict:
4444
request = getattr(self, "request", None)
4545
path = page_content.page.get_path(page_content.language)
4646
absolute_url = get_absolute_frontend_url(request, path)
@@ -74,13 +74,13 @@ def get_base_representation(self, page_content: PageContent) -> Dict:
7474

7575

7676
class PageTreeSerializer(serializers.ListSerializer):
77-
def __init__(self, tree: Dict, *args, **kwargs):
77+
def __init__(self, tree: dict, *args, **kwargs):
7878
if not isinstance(tree, dict):
7979
raise TypeError(f"Expected tree to be a dict, got {type(tree).__name__}")
8080
self.tree = tree
8181
super().__init__(tree.get(None, []), *args, **kwargs)
8282

83-
def tree_to_representation(self, item: PageContent) -> Dict:
83+
def tree_to_representation(self, item: PageContent) -> dict:
8484
serialized_data = self.child.to_representation(item)
8585
serialized_data["children"] = []
8686
if item.page in self.tree:
@@ -89,7 +89,7 @@ def tree_to_representation(self, item: PageContent) -> Dict:
8989
]
9090
return serialized_data
9191

92-
def to_representation(self, data: Dict) -> list[Dict]:
92+
def to_representation(self, data: dict) -> list[dict]:
9393
nodes = data.all() if isinstance(data, models.manager.BaseManager) else data
9494
return [self.tree_to_representation(node) for node in nodes]
9595

@@ -127,7 +127,7 @@ def many_init(cls, *args, **kwargs):
127127
kwargs["child"] = cls(context=context)
128128
return PageTreeSerializer(tree, *args[1:], **kwargs)
129129

130-
def to_representation(self, page_content: PageContent) -> Dict:
130+
def to_representation(self, page_content: PageContent) -> dict:
131131
return self.get_base_representation(page_content)
132132

133133

@@ -138,7 +138,7 @@ def __init__(self, *args, **kwargs):
138138
super().__init__(*args, **kwargs)
139139
self.request = self.context.get("request")
140140

141-
def to_representation(self, page_content: PageContent) -> Dict:
141+
def to_representation(self, page_content: PageContent) -> dict:
142142
declared_slots = [
143143
placeholder.slot
144144
for placeholder in page_content.page.get_declared_placeholders()
@@ -171,7 +171,7 @@ class PreviewPageContentSerializer(PageContentSerializer, PreviewMixin):
171171

172172
placeholders = PlaceholderRelationSerializer(many=True, required=False)
173173

174-
def to_representation(self, page_content: PageContent) -> Dict:
174+
def to_representation(self, page_content: PageContent) -> dict:
175175
# Get placeholders directly from the page_content
176176
# This avoids the extra query to get_declared_placeholders
177177
placeholders = page_content.placeholders.all()
@@ -198,5 +198,5 @@ def __init__(self, *args, **kwargs):
198198
super().__init__(*args, **kwargs)
199199
self.request = self.context.get("request")
200200

201-
def to_representation(self, page_content: PageContent) -> Dict:
201+
def to_representation(self, page_content: PageContent) -> dict:
202202
return self.get_base_representation(page_content)

djangocms_rest/serializers/placeholders.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from django.template import Context
2+
23
from rest_framework import serializers
34

45
from djangocms_rest.serializers.utils.render import render_html

djangocms_rest/serializers/plugins.py

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,27 @@
1-
from rest_framework import serializers
2-
from cms.plugin_pool import plugin_pool
1+
from typing import Any, Optional
2+
33
from django.core.exceptions import FieldDoesNotExist
4-
from typing import Dict, Any, Optional
54
from django.db.models import Field
65

6+
from cms.models import CMSPlugin
7+
from cms.plugin_pool import plugin_pool
8+
9+
from rest_framework import serializers
10+
11+
12+
class GenericPluginSerializer(serializers.ModelSerializer):
13+
def to_representation(self, instance: CMSPlugin):
14+
ret = super().to_representation(instance)
15+
for field in self.Meta.model._meta.get_fields():
16+
if field.is_relation and not field.many_to_many and not field.one_to_many:
17+
field_name = field.name
18+
if field_name in ret and getattr(instance, field_name, None):
19+
ret[field_name] = self.serialize_fk(field)
20+
return ret
21+
22+
def serialize_fk(self, related_obj):
23+
pass
24+
725

826
class PluginDefinitionSerializer(serializers.Serializer):
927
"""
@@ -70,7 +88,7 @@ def get_field_format(field: Field) -> Optional[str]:
7088
return format_mapping.get(field.__class__.__name__)
7189

7290

73-
def generate_plugin_definitions() -> Dict[str, Any]:
91+
def generate_plugin_definitions() -> dict[str, Any]:
7492
"""
7593
Generate plugin definitions from registered plugins.
7694

djangocms_rest/serializers/utils/render.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
1-
from typing import Any, Dict, Optional
1+
from typing import Any, Optional
22

33
from cms.models import CMSPlugin
44
from cms.plugin_rendering import ContentRenderer
5+
56
from rest_framework import serializers
67
from sekizai.context import SekizaiContext
78
from sekizai.helpers import get_varname
89

910

1011
def render_plugin(
11-
instance: CMSPlugin, context: Dict[str, Any]
12-
) -> Optional[Dict[str, Any]]:
12+
instance: CMSPlugin, context: dict[str, Any]
13+
) -> Optional[dict[str, Any]]:
1314
instance, plugin = instance.get_plugin_instance()
1415
if not instance:
1516
return None

djangocms_rest/urls.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
from . import views
44

5+
56
urlpatterns = [
67
# Published content endpoints
78
path(

djangocms_rest/utils.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
from cms.models import Page, PageUrl
21
from django.contrib.sites.models import Site
32
from django.contrib.sites.shortcuts import get_current_site
43
from django.core.exceptions import FieldError
54
from django.db.models import QuerySet
65
from django.http import Http404
6+
7+
from cms.models import Page, PageUrl
8+
79
from rest_framework.request import Request
810

911

djangocms_rest/views.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,17 @@
1+
from django.contrib.sites.shortcuts import get_current_site
2+
13
from cms.models import PageContent, Placeholder
24
from cms.utils.conf import get_languages
35
from cms.utils.page_permissions import user_can_view_page
4-
from django.contrib.sites.shortcuts import get_current_site
6+
57
from rest_framework.exceptions import NotFound
68
from rest_framework.pagination import LimitOffsetPagination
79
from rest_framework.permissions import IsAdminUser
810
from rest_framework.request import Request
911
from rest_framework.response import Response
1012

11-
from djangocms_rest.permissions import (
12-
CanViewPage,
13-
IsAllowedPublicLanguage,
14-
)
13+
from djangocms_rest.permissions import CanViewPage, IsAllowedPublicLanguage
1514
from djangocms_rest.serializers.languages import LanguageSerializer
16-
1715
from djangocms_rest.serializers.pages import (
1816
PageContentSerializer,
1917
PageListSerializer,
@@ -28,6 +26,7 @@
2826
from djangocms_rest.utils import get_object, get_site_filtered_queryset
2927
from djangocms_rest.views_base import BaseAPIView, BaseListAPIView
3028

29+
3130
try:
3231
from drf_spectacular.types import OpenApiTypes # noqa: F401
3332
from drf_spectacular.utils import OpenApiParameter, extend_schema # noqa: F401

0 commit comments

Comments
 (0)