djgentelella 0.5.2__py3-none-any.whl → 0.5.4__py3-none-any.whl

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.
djgentelella/__init__.py CHANGED
@@ -1,4 +1,4 @@
1
- __version__ = '0.5.2'
1
+ __version__ = '0.5.4'
2
2
 
3
3
  if __name__ == '__main__':
4
4
  print(__version__)
djgentelella/gtselects.py CHANGED
@@ -1,9 +1,10 @@
1
- from django.contrib.auth.models import User, Group
1
+ from django.contrib.auth.models import Group
2
2
 
3
3
  from djgentelella.groute import register_lookups
4
4
  from djgentelella.permission_management import AllPermission
5
5
  from djgentelella.views.select2autocomplete import BaseSelect2View
6
-
6
+ from django.contrib.auth import get_user_model
7
+ User = get_user_model()
7
8
 
8
9
  @register_lookups(prefix="userbase", basename="userbase")
9
10
  class User(BaseSelect2View, AllPermission):
@@ -45,8 +45,10 @@ def add_log(
45
45
 
46
46
  if change_message:
47
47
  if action_flag != DELETION and changed_data:
48
- verbose_changes = [object._meta.get_field(f).verbose_name for f in
49
- changed_data]
48
+ verbose_changes = [
49
+ str(object._meta.get_field(f).verbose_name)
50
+ for f in changed_data
51
+ ]
50
52
 
51
53
  change_message = _("%(msg)s. Fields: %(fields)s") % {
52
54
  "msg": change_message,
@@ -0,0 +1,18 @@
1
+ # Generated by Django 5.2.5 on 2025-10-14 16:15
2
+
3
+ from django.db import migrations, models
4
+
5
+
6
+ class Migration(migrations.Migration):
7
+
8
+ dependencies = [
9
+ ('djgentelella', '0018_alter_chunkedupload_status'),
10
+ ]
11
+
12
+ operations = [
13
+ migrations.AlterField(
14
+ model_name='chunkedupload',
15
+ name='status',
16
+ field=models.PositiveSmallIntegerField(choices=[(1, 'Uploading'), (2, 'Complete')], default=1),
17
+ ),
18
+ ]
djgentelella/models.py CHANGED
@@ -1,5 +1,5 @@
1
1
  from django.conf import settings
2
- from django.contrib.auth.models import Permission, User
2
+ from django.contrib.auth.models import Permission
3
3
  from django.db import models
4
4
  from django.utils.translation import gettext_lazy as _
5
5
  from tree_queries.models import TreeNode
@@ -9,7 +9,7 @@ from django.contrib.contenttypes.models import ContentType
9
9
  from django.contrib.contenttypes.fields import GenericForeignKey
10
10
  from .models_manager import ObjectManager, AllObjectsManager, \
11
11
  DeletedObjectsManager
12
-
12
+ from djgentelella.settings import USER_MODEL_BASE
13
13
  from djgentelella.history.utils import add_log, ADDITION
14
14
 
15
15
  class GentelellaSettings(models.Model):
@@ -63,7 +63,6 @@ class Help(models.Model):
63
63
  def __str__(self):
64
64
  return self.help_text
65
65
 
66
-
67
66
  class Notification(models.Model):
68
67
  STATE = [('visible', _('Visible')),
69
68
  ('hide', _('Hidden'))]
@@ -78,7 +77,7 @@ class Notification(models.Model):
78
77
 
79
78
  description = models.TextField(verbose_name=_("Description"))
80
79
  link = models.URLField(verbose_name=_('Link'))
81
- user = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name=_('User'))
80
+ user = models.ForeignKey(USER_MODEL_BASE, on_delete=models.CASCADE, verbose_name=_('User'))
82
81
  # warning, success, info,
83
82
  message_type = models.CharField(max_length=150, choices=MESSAGE_TYPE,
84
83
  verbose_name=_('Message Type'))
@@ -122,7 +121,7 @@ class ChunkedUpload(AbstractChunkedUpload):
122
121
  Default chunked upload model.
123
122
  """
124
123
  user = models.ForeignKey(
125
- settings.AUTH_USER_MODEL,
124
+ USER_MODEL_BASE,
126
125
  on_delete=models.CASCADE,
127
126
  related_name='chunked_uploads',
128
127
  null=DEFAULT_MODEL_USER_FIELD_NULL,
@@ -144,7 +143,7 @@ class Trash(models.Model):
144
143
  help_text=_("Value of str(instance) at deletion time"),
145
144
  )
146
145
  deleted_by = models.ForeignKey(
147
- User,
146
+ USER_MODEL_BASE,
148
147
  on_delete=models.SET_NULL,
149
148
  null=True,
150
149
  blank=True,
@@ -1,13 +1,13 @@
1
1
  from rest_framework import serializers
2
2
  from rest_framework.pagination import LimitOffsetPagination
3
3
 
4
- from django.contrib.auth.models import User
5
4
  from djgentelella.models import Notification
6
5
  from django.utils import formats
7
6
  from django_filters import FilterSet
8
7
  from django_filters import DateTimeFromToRangeFilter
9
8
  from djgentelella.fields.drfdatetime import DateTimeRangeTextWidget
10
-
9
+ from django.contrib.auth import get_user_model
10
+ User = get_user_model()
11
11
 
12
12
  class NotificationFilterSet(FilterSet):
13
13
  creation_date = DateTimeFromToRangeFilter(
@@ -2,9 +2,11 @@ from django import forms
2
2
  from django.contrib.auth.models import Permission
3
3
 
4
4
  from djgentelella.forms.forms import GTForm
5
- from djgentelella.settings import Group, User
5
+ from djgentelella.settings import Group
6
6
  from djgentelella.settings import USER_MODEL_BASE, GROUP_MODEL_BASE
7
7
 
8
+ from django.contrib.auth import get_user_model
9
+ User = get_user_model()
8
10
 
9
11
  class FilterPermCategoryForm(GTForm, forms.Form):
10
12
  option = forms.ChoiceField(choices=((1, 'User'), (2, 'Group')), required=True)
djgentelella/settings.py CHANGED
@@ -7,6 +7,7 @@ from django.core.serializers.json import DjangoJSONEncoder
7
7
  from django.templatetags.static import static
8
8
  from django.utils.module_loading import import_string
9
9
  from django.utils.translation import gettext_lazy as _
10
+ from django.contrib.auth import get_user_model
10
11
 
11
12
  NOTIFICATION_DEFAULT_SUBJECT = getattr(settings, 'NOTIFICATION_DEFAULT_SUBJECT',
12
13
  _('You have a new notification'))
@@ -25,7 +26,7 @@ DEFAULT_GROUP_MODEL_BASE = 'GT_GROUP_MODEL'
25
26
  DEFAULT_USER_MODEL_BASE = 'GT_USER_MODEL'
26
27
  REGISTER_DEFAULT_USER_API = getattr(settings, 'REGISTER_DEFAULT_USER_API', True)
27
28
  DEFAULT_GROUP_MODEL = 'django.contrib.auth.models.Group'
28
- DEFAULT_USER_MODEL = 'django.contrib.auth.models.User'
29
+ DEFAULT_USER_MODEL = getattr(settings, 'AUTH_USER_MODEL', 'auth.User')
29
30
 
30
31
  GROUP_MODEL_BASE = getattr(
31
32
  settings, DEFAULT_GROUP_MODEL_BASE, DEFAULT_GROUP_MODEL)
@@ -38,10 +39,12 @@ try:
38
39
  except Exception as e:
39
40
  from django.contrib.auth.models import Group
40
41
  try:
41
- User = import_string(USER_MODEL_BASE)
42
+ # User = import_string(USER_MODEL_BASE)
43
+ User = get_user_model()
42
44
  except Exception as e:
43
45
  from django.contrib.auth.models import User
44
46
 
47
+
45
48
  ############################################
46
49
  # Chunked Upload
47
50
  ############################################
@@ -86,4 +89,3 @@ MAX_BYTES = getattr(settings, 'CHUNKED_UPLOAD_MAX_BYTES', DEFAULT_MAX_BYTES)
86
89
  ############################################
87
90
  # END UPLOAD CHUNKED
88
91
 
89
-
@@ -133,6 +133,7 @@ $.fn.select2related = function(action, relatedobjs=[]) {
133
133
  if(parent.relatedobjs[x]['start_empty']){
134
134
  newselect.val(null).trigger('change');
135
135
  }
136
+
136
137
  }
137
138
  let contexts2empty = {
138
139
  placeholder: gettext('Select an element'),
@@ -672,6 +672,7 @@ $.fn.select2related = function(action, relatedobjs=[]) {
672
672
  if(parent.relatedobjs[x]['start_empty']){
673
673
  newselect.val(null).trigger('change');
674
674
  }
675
+
675
676
  }
676
677
  let contexts2empty = {
677
678
  placeholder: gettext('Select an element'),
@@ -3,7 +3,6 @@ import re
3
3
  import uuid
4
4
 
5
5
  from django.conf import settings
6
- from django.contrib.auth.models import User
7
6
  from django.test import Client
8
7
  from django.test import TestCase, RequestFactory
9
8
  from django.urls import reverse
@@ -17,7 +16,8 @@ from rest_framework.test import APIClient
17
16
  from demoapp.views import create_notification
18
17
  from djgentelella.models import Notification
19
18
  from djgentelella.notification.base import NotificationViewSet
20
-
19
+ from django.contrib.auth import get_user_model
20
+ User = get_user_model()
21
21
 
22
22
  class ApiNotificationsTestCase(TestCase):
23
23
  def setUp(self):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: djgentelella
3
- Version: 0.5.2
3
+ Version: 0.5.4
4
4
  Summary: Help building extra widgets for forms and speciall methods to render forms in templates
5
5
  Author-email: Solvosoft <info@solvosoft.com>
6
6
  Maintainer-email: Luis Zarate Montero <luis.zarate@solvosoft.com>
@@ -1,15 +1,15 @@
1
- djgentelella/__init__.py,sha256=x99N3rOnHstMgMaeoMtxwmlYHw_s3T7g74VV7kHpSRc,73
1
+ djgentelella/__init__.py,sha256=9wyAp5n9rk0dyFBnm4RFwyu1EW_bO9ftVTOqqJMMqMo,73
2
2
  djgentelella/admin.py,sha256=1LhKD8iGGl-eHDVvZxH2JPdkSEhQEfT9trDYVaJkIe4,2999
3
3
  djgentelella/apps.py,sha256=5VEbpUv4b1Jh7gCRAQCe5TvpakRyndKwafjVj0z-Xfo,153
4
4
  djgentelella/chartjs.py,sha256=iNYoFnaIQoXsYInJFbSE2quWpjmDz5CuMKpVsvt4pRM,8572
5
5
  djgentelella/elements.py,sha256=tMGzA1pE_PytYgAMJutuaYGsnk4k8y7-Kg_D6F5rV6o,3340
6
6
  djgentelella/exceptions.py,sha256=x321e40KAjqS5cDv7lIc1TEoSYwTw-pHm7eZV_o0xBI,262
7
7
  djgentelella/groute.py,sha256=FPKKZBfm0UYAfMKmeLGhPBWqPXqazADjt7iKMruVmcE,799
8
- djgentelella/gtselects.py,sha256=f8tBg68KQoYYCW1YNZt8PiKmdjItJY2kwN23ScO6nqM,590
9
- djgentelella/models.py,sha256=RiojQMM1rvnOO4LsVvguPJclw1RO_hQJnKU7YSMrMzg,7479
8
+ djgentelella/gtselects.py,sha256=4HiQGmV0OgdT4Eky0bsgudEEWBa3S0M8scP0RN-X4Mk,654
9
+ djgentelella/models.py,sha256=TeDZhFca6Vdcfo0iU_AYMTFUShoScOPvMwX3c7XWwwA,7535
10
10
  djgentelella/models_manager.py,sha256=cpiL90mNBVO_BQTmrIUq5V1JQ6AedUwYKZSz1eZ0Eyg,1036
11
11
  djgentelella/objectmanagement.py,sha256=y_dkSKIOfKKK9t1hZ8mwcM5RNxj0bChpKYvUn50mVzs,3121
12
- djgentelella/settings.py,sha256=kOuXF0T9ZIg_NqIStkiKdM-QOLrRjjfHP-AVXvSGRAM,3205
12
+ djgentelella/settings.py,sha256=7x7R6182YDd9SjGDNDceSwRcwYTVJgEIqU1hNtBmPZE,3298
13
13
  djgentelella/urls.py,sha256=Ht4AhWLYlY64hR-_D4N13vBmrD_7STi08V7z7c1Z-3Y,5427
14
14
  djgentelella/utils.py,sha256=Bh_-KBrrLRAK_b_CkyYm0Y0HdKyJAp2vNIwESYd3PcA,825
15
15
  djgentelella/blog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -78,7 +78,7 @@ djgentelella/forms/models.py,sha256=eZNVwPVytY0vVXUgmVWiZfZsXctFy62O1JsYyxqL4v0,
78
78
  djgentelella/history/api.py,sha256=1s1jfFu0yBITa780Wcs1NDMAux8Xxr8uFlFpBPROJHI,4879
79
79
  djgentelella/history/filterset.py,sha256=tIYSt7rWljm1Xm3bqAcG1B_j9ZTxsSirxhF3n6GjGw4,783
80
80
  djgentelella/history/serializers.py,sha256=ADTqlPaiG5hEJGbXMHlfMvaGpAs4p52LZPAMzzmHnGM,1574
81
- djgentelella/history/utils.py,sha256=-JAGSlyApxFgtit7z4dZKn4Cg09_giLI4Y_8uc-jkog,2016
81
+ djgentelella/history/utils.py,sha256=O9n8MLOlS2atGYD_SywiDIQneeyhlGC3idSV7ouycJI,2036
82
82
  djgentelella/locale/es/LC_MESSAGES/django.mo,sha256=Bq0ru4iFONojSq_ChXcbFKJrv_fKyqhudbHtXTc0HHY,15925
83
83
  djgentelella/locale/es/LC_MESSAGES/django.po,sha256=CtzQ2aRitBeOQy123OV25d6dxaZi92jiiJBmBjlQWaI,15640
84
84
  djgentelella/locale/es/LC_MESSAGES/djangojs.mo,sha256=MKtZ5pZ7Pax03bn7bKzr5wfnNl1pgQHMKDLItlRe8qY,6258
@@ -111,13 +111,14 @@ djgentelella/migrations/0015_trash_deleted_by.py,sha256=mI809zPzm0i-vbw-AHTs5RCt
111
111
  djgentelella/migrations/0016_trash_created_at.py,sha256=sThFEYrmJzE-rwhu97nuRhHzVWU1U7f0clt_12MXpBI,498
112
112
  djgentelella/migrations/0017_alter_chunkedupload_status.py,sha256=qBWnRIc1H2Zf1v5XH2Mv6Q_jQgbxzSaEIYNNWXcDSQE,453
113
113
  djgentelella/migrations/0018_alter_chunkedupload_status.py,sha256=cEsy29d9bryNVSM88Ydoh-WVfGDlzZsjBx8wodAOAjE,462
114
+ djgentelella/migrations/0019_alter_chunkedupload_status.py,sha256=aAj9Qlzt7sbtpuYKQqbiVr5sEDZuDtDc6-i55iUxt98,463
114
115
  djgentelella/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
115
116
  djgentelella/notification/__init__.py,sha256=Xz_RootxxW07E9GVvn6Rqz9x-P_M7ZU1-WwrxB8rD_8,3585
116
117
  djgentelella/notification/base.py,sha256=VRxfoQwAgMVsWRBNAdh42JboRUQllXDfhqhMA89uMAQ,2760
117
- djgentelella/notification/serializer.py,sha256=YnOdpZNXHDkdadOHYI3omdnXhDFlv-JNAtB2zTYVMQI,1963
118
+ djgentelella/notification/serializer.py,sha256=ehLL7YO8vVehqk2xMQelHxuQsKWYVr1piYB7-oGeSnY,1989
118
119
  djgentelella/notification/widgets.py,sha256=EjmF6tXiHjme4ersZvUGbN79qoFwzSYGY_rgdvmAGiU,1752
119
120
  djgentelella/permission_management/__init__.py,sha256=8BVm2rBwOJg78xz7YW4HDTFJC2u32x3hbiojsjcmrRg,1574
120
- djgentelella/permission_management/forms.py,sha256=VgdDflP29d-tDAH3DAVpHabESns1akjMwoTNIq1wKw0,1562
121
+ djgentelella/permission_management/forms.py,sha256=HfFUXcsMqr11ioIql67OOXcT87MxcWbOv4fRylib90k,1627
121
122
  djgentelella/permission_management/objinterface.py,sha256=b4a_Fa2NsQUNVtQs_2Vbe_HEB0tIMdQt5_ZMvl9F47Q,4926
122
123
  djgentelella/permission_management/views.py,sha256=XWaBD3i5kN7ADcbSYz4_Bzq2n0gSaJ7eQ_i9nKLXE_c,2104
123
124
  djgentelella/serializers/__init__.py,sha256=r-pQ1bBd-Y2V5am9Fd9FgPJCacICJvg-xuHqS8shOzQ,1307
@@ -153,7 +154,7 @@ djgentelella/static/gentelella/images/forward_disabled.png,sha256=7enxADzvJa3VzC
153
154
  djgentelella/static/gentelella/images/forward_enabled.png,sha256=vLOxO1qvkBV2ev931iHx-VV63NjrgoTQbwtR4kdVVrA,1380
154
155
  djgentelella/static/gentelella/images/forward_enabled_hover.png,sha256=T6LWiaYzcT2fuJAGEaZGxd8Lok3rlZerlVxiy6d647Q,1379
155
156
  djgentelella/static/gentelella/images/loading.gif,sha256=dyCz9kckQBZKy7DpKpR3hL4xgQgnShbMue3Ao9h_lK0,30269
156
- djgentelella/static/gentelella/js/base.js,sha256=xhc5euhpenfu38aZb_cjaQLktQfyyyhBBD0CrIvGYSg,135814
157
+ djgentelella/static/gentelella/js/base.js,sha256=mEDPWwxu_ELsbDIv4Uoyrer76rhedhCvdoy2189LRH0,135815
157
158
  djgentelella/static/gentelella/js/custom.js,sha256=bZhfcrwiAWBrqnRfPPeawB8v9uqrHjoxVbwZfwb1Up4,15103
158
159
  djgentelella/static/gentelella/js/datatables.js,sha256=ZmEBPhoj8jDgl_1g14J9tKtiMknyzBekp1_NqAlxjuU,13743
159
160
  djgentelella/static/gentelella/js/digital_signature_update.js,sha256=PaUSb8nHwv-R2N7NVFA5cb4-rdnAZ4bEf12j9IxTYr4,1241
@@ -178,7 +179,7 @@ djgentelella/static/gentelella/js/base/mapbased_storymap.js,sha256=i4Ef8ATjzpyNP
178
179
  djgentelella/static/gentelella/js/base/mediarecord.js,sha256=RsfbxDp2PzyRD4rt12C1xfd60jKOWV_P0eLttoYKNv4,12489
179
180
  djgentelella/static/gentelella/js/base/notifications.js,sha256=lNVDcn2pwuhcTiEYw-H1BePScG8lDm9loxvYAU024Mw,4711
180
181
  djgentelella/static/gentelella/js/base/select2_wrap.js,sha256=D1YIJSpJe7nTDOBV1OZh_6_MhHePwY-LhqIb6fIcVWY,840
181
- djgentelella/static/gentelella/js/base/select2related.js,sha256=-Os8NPc5YlebihBtM_J9vkFToCtPDBKf067O6mE5WBg,6388
182
+ djgentelella/static/gentelella/js/base/select2related.js,sha256=mLGWca6GQRusNhZ07UIRQJY7JuWlKta6W7ri1tT62YI,6389
182
183
  djgentelella/static/gentelella/js/base/storyline.js,sha256=oRT1j-b0PeecKxog_d7sjdwq-GxLpF08Yk_4DnQXBKY,867
183
184
  djgentelella/static/gentelella/js/base/tagify.js,sha256=MnSZTKKGndr0qynntykDBdp3JVp208mVz53147T87jY,1779
184
185
  djgentelella/static/gentelella/js/base/timeline.js,sha256=UDytpFrPPvTEteACPtR1U8TfJymS_FdNe110jmnKBO0,788
@@ -1012,7 +1013,7 @@ djgentelella/templatetags/timejs.py,sha256=fmiA8FEoBr-EYnO6tji6tKBmA39g3HtX7oaU7
1012
1013
  djgentelella/templatetags/tree_tags.py,sha256=IOMcdXaX3IBAawoGoteRYqF5Y2ggxsLweR5XZqxfpMk,59
1013
1014
  djgentelella/templatetags/urlname_tags.py,sha256=2IjabanvTSHreasTyhOEiuwFecHb_SnCdSIjdSxQJLw,1945
1014
1015
  djgentelella/tests/Calendar_Test.py,sha256=unFWritybgNmYjEGCct1cS2meZOFGHcA-od17XCoqrc,5216
1015
- djgentelella/tests/Notification_Test.py,sha256=KzPvbCXGTwdF5jJ2AE86U9ZquhIArM65jjhdLMV4MFQ,18903
1016
+ djgentelella/tests/Notification_Test.py,sha256=EvWE4mmk9jkH1FkGlFpBadZegbydvDUI5RnGmrD3oo0,18929
1016
1017
  djgentelella/tests/StoryLine_Test.py,sha256=fU90zCc0HWIe7YTlHqRfYC-uIFp7qFpege5eVc2kQtY,8523
1017
1018
  djgentelella/tests/StoryMap_Test.py,sha256=wgiBpAMTFdPTQs2JqlJIBnmzbBFIlSX7_HmHIfIc-Rg,4031
1018
1019
  djgentelella/tests/TimeLine_Test.py,sha256=ddaX3b9KA9LYiu81tC2-oVJFmj3RU0pr2-r4mNCyRF8,3540
@@ -1047,9 +1048,9 @@ djgentelella/widgets/trees.py,sha256=bV6s-w1cgYahS0aNU6xBrx-aISdlzDZ23BFt3_3hAu4
1047
1048
  djgentelella/widgets/wysiwyg.py,sha256=wHeMyYNVE8-lKJ06A-0DLDAcRNv3TOAOG_Wl9DYZqS0,609
1048
1049
  djgentelella/wysiwyg/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1049
1050
  djgentelella/wysiwyg/views.py,sha256=tI7LjLhCnohdvIEOEEhB2Cu1zxRmdcOhYJJX4LBIZaA,1159
1050
- djgentelella-0.5.2.dist-info/AUTHORS,sha256=HyQoO-q7oXtavpNm7jaBVv8Vxx3c7yo33xkFkt4blkY,118
1051
- djgentelella-0.5.2.dist-info/LICENSE.txt,sha256=wDzqAntLQORAL6vQhVdzZyfsPVvFStZKtkct5DIZjK0,18047
1052
- djgentelella-0.5.2.dist-info/METADATA,sha256=Oz02H0eAkxap4nFChtYDYDN0htg0hfPHT_JbYSvAHFk,27544
1053
- djgentelella-0.5.2.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
1054
- djgentelella-0.5.2.dist-info/top_level.txt,sha256=88JbODVPV-P5q7ic25yMHt_FuuizaLzMyIaegpFa7Qk,13
1055
- djgentelella-0.5.2.dist-info/RECORD,,
1051
+ djgentelella-0.5.4.dist-info/AUTHORS,sha256=HyQoO-q7oXtavpNm7jaBVv8Vxx3c7yo33xkFkt4blkY,118
1052
+ djgentelella-0.5.4.dist-info/LICENSE.txt,sha256=wDzqAntLQORAL6vQhVdzZyfsPVvFStZKtkct5DIZjK0,18047
1053
+ djgentelella-0.5.4.dist-info/METADATA,sha256=wmfjWwcdWQbqmqprh_PDzDN8ETnPIhNcuvUtfV5sDDk,27544
1054
+ djgentelella-0.5.4.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
1055
+ djgentelella-0.5.4.dist-info/top_level.txt,sha256=88JbODVPV-P5q7ic25yMHt_FuuizaLzMyIaegpFa7Qk,13
1056
+ djgentelella-0.5.4.dist-info/RECORD,,