epok-toolkit 1.9.0__tar.gz → 1.10.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of epok-toolkit might be problematic. Click here for more details.
- {epok_toolkit-1.9.0/epok_toolkit.egg-info → epok_toolkit-1.10.0}/PKG-INFO +1 -1
- epok_toolkit-1.10.0/epok_toolkit/django/__init__.py +5 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/epok_toolkit/django/manager.py +3 -3
- epok_toolkit-1.10.0/epok_toolkit/django/viewsets.py +41 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0/epok_toolkit.egg-info}/PKG-INFO +1 -1
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/epok_toolkit.egg-info/SOURCES.txt +2 -2
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/pyproject.toml +1 -1
- epok_toolkit-1.9.0/epok_toolkit/cache/__init__.py +0 -1
- epok_toolkit-1.9.0/epok_toolkit/django/__init__.py +0 -2
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/LICENSE +0 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/MANIFEST.in +0 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/README.md +0 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/epok_toolkit/__init__.py +0 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/epok_toolkit/apps.py +0 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/epok_toolkit/default_settings.py +0 -0
- /epok_toolkit-1.9.0/epok_toolkit/cache/cacher.py → /epok_toolkit-1.10.0/epok_toolkit/django/cache.py +0 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/epok_toolkit/django/fields.py +0 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/epok_toolkit/django/response.py +0 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/epok_toolkit/email/__init__.py +0 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/epok_toolkit/email/email_async.py +0 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/epok_toolkit/email/engine.py +0 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/epok_toolkit/email/templates.py +0 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/epok_toolkit/messaging/__init__.py +0 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/epok_toolkit/messaging/whatsapp.py +0 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/epok_toolkit/messaging/whatsapp_instanced.py +0 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/epok_toolkit/pdf/__init__.py +0 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/epok_toolkit/pdf/fuentes/Kollektif-Bold.ttf +0 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/epok_toolkit/pdf/fuentes/Kollektif-BoldItalic.ttf +0 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/epok_toolkit/pdf/fuentes/Kollektif-Italic.ttf +0 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/epok_toolkit/pdf/fuentes/Kollektif.ttf +0 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/epok_toolkit/pdf/plantillas/Ticket_congrats.png +0 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/epok_toolkit/pdf/plantillas/Ticket_congrats2.png +0 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/epok_toolkit/pdf/ticket_pdf.py +0 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/epok_toolkit.egg-info/dependency_links.txt +0 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/epok_toolkit.egg-info/requires.txt +0 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/epok_toolkit.egg-info/top_level.txt +0 -0
- {epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/setup.cfg +0 -0
|
@@ -14,13 +14,13 @@ class OptimizedManager(models.Manager):
|
|
|
14
14
|
"""
|
|
15
15
|
Custom manager for optimized querysets.
|
|
16
16
|
"""
|
|
17
|
-
def __init__(self, select_fields_full=None, prefetch_fields_full=None, select_fields_simple=None,
|
|
17
|
+
def __init__(self, select_fields_full=None, prefetch_fields_full=None, select_fields_simple=None, prefetch_fields_simple=None, *args, **kwargs):
|
|
18
18
|
|
|
19
19
|
super().__init__(*args, **kwargs)
|
|
20
20
|
self._select_fields_full = select_fields_full or []
|
|
21
21
|
self._prefetch_fields_full = prefetch_fields_full or []
|
|
22
22
|
self._select_fields_simple = select_fields_simple or []
|
|
23
|
-
self.
|
|
23
|
+
self._prefetch_fields_simple = prefetch_fields_simple or []
|
|
24
24
|
|
|
25
25
|
def get_queryset(self):
|
|
26
26
|
return OptimizedQuerySet(self.model, using=self._db)
|
|
@@ -34,5 +34,5 @@ class OptimizedManager(models.Manager):
|
|
|
34
34
|
def simple(self):
|
|
35
35
|
return self.get_queryset().optimized(
|
|
36
36
|
select_fields=self._select_fields_simple,
|
|
37
|
-
prefetch_fields=self.
|
|
37
|
+
prefetch_fields=self._prefetch_fields_simple
|
|
38
38
|
)
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# core/viewsets.py
|
|
2
|
+
from rest_framework import viewsets
|
|
3
|
+
from rest_framework.pagination import PageNumberPagination
|
|
4
|
+
|
|
5
|
+
class DefaultPagination(PageNumberPagination):
|
|
6
|
+
page_size = 10
|
|
7
|
+
page_size_query_param = 'page_size'
|
|
8
|
+
max_page_size = 100
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class BaseOptimizedViewSet(viewsets.ModelViewSet):
|
|
13
|
+
"""
|
|
14
|
+
ViewSet base que alterna entre .full() y .simple() automáticamente
|
|
15
|
+
y permite serializers diferentes para list y detail.
|
|
16
|
+
"""
|
|
17
|
+
pagination_class = DefaultPagination
|
|
18
|
+
simple_serializer_class = None
|
|
19
|
+
full_serializer_class = None
|
|
20
|
+
|
|
21
|
+
def get_queryset(self):
|
|
22
|
+
qs = super().get_queryset()
|
|
23
|
+
|
|
24
|
+
if not (hasattr(qs, 'full') and hasattr(qs, 'simple')):
|
|
25
|
+
raise NotImplementedError(
|
|
26
|
+
f"❌ El modelo {qs.model.__name__} no está usando un OptimizedManager con full() y simple()."
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
if self.action == 'list':
|
|
30
|
+
return qs.simple()
|
|
31
|
+
elif self.action in ['retrieve', 'update', 'partial_update']:
|
|
32
|
+
return qs.full()
|
|
33
|
+
return qs
|
|
34
|
+
|
|
35
|
+
def get_serializer_class(self):
|
|
36
|
+
# Cambia el serializer según la acción
|
|
37
|
+
if self.action == 'list' and self.simple_serializer_class:
|
|
38
|
+
return self.simple_serializer_class
|
|
39
|
+
if self.action in ['retrieve', 'update', 'partial_update'] and self.full_serializer_class:
|
|
40
|
+
return self.full_serializer_class
|
|
41
|
+
return super().get_serializer_class()
|
|
@@ -10,12 +10,12 @@ epok_toolkit.egg-info/SOURCES.txt
|
|
|
10
10
|
epok_toolkit.egg-info/dependency_links.txt
|
|
11
11
|
epok_toolkit.egg-info/requires.txt
|
|
12
12
|
epok_toolkit.egg-info/top_level.txt
|
|
13
|
-
epok_toolkit/cache/__init__.py
|
|
14
|
-
epok_toolkit/cache/cacher.py
|
|
15
13
|
epok_toolkit/django/__init__.py
|
|
14
|
+
epok_toolkit/django/cache.py
|
|
16
15
|
epok_toolkit/django/fields.py
|
|
17
16
|
epok_toolkit/django/manager.py
|
|
18
17
|
epok_toolkit/django/response.py
|
|
18
|
+
epok_toolkit/django/viewsets.py
|
|
19
19
|
epok_toolkit/email/__init__.py
|
|
20
20
|
epok_toolkit/email/email_async.py
|
|
21
21
|
epok_toolkit/email/engine.py
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "epok-toolkit"
|
|
7
|
-
version = "1.
|
|
7
|
+
version = "1.10.0"
|
|
8
8
|
description = "Una herramienta para la gestión de tareas y procesos en Django con Celery."
|
|
9
9
|
authors = [
|
|
10
10
|
{ name="Fernando Leon Franco", email="fernanlee2131@gmail.com" }
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
from .cacher import cache_full, cache_get, CachedViewSet, TimeToLive
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/epok_toolkit-1.9.0/epok_toolkit/cache/cacher.py → /epok_toolkit-1.10.0/epok_toolkit/django/cache.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{epok_toolkit-1.9.0 → epok_toolkit-1.10.0}/epok_toolkit/pdf/fuentes/Kollektif-BoldItalic.ttf
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|