educommon 3.11.0__py3-none-any.whl → 3.11.2__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.
@@ -0,0 +1,18 @@
1
+ # Generated by Django 3.2.23 on 2025-02-04 13:16
2
+
3
+ from django.db import migrations, models
4
+
5
+
6
+ class Migration(migrations.Migration):
7
+
8
+ dependencies = [
9
+ ('async_task', '0002_task_type_and_status_data'),
10
+ ]
11
+
12
+ operations = [
13
+ migrations.AlterField(
14
+ model_name='runningtask',
15
+ name='options',
16
+ field=models.JSONField(blank=True, null=True, verbose_name='Дополнительные опции задачи'),
17
+ ),
18
+ ]
@@ -9,9 +9,6 @@ from celery import (
9
9
  from django.contrib.contenttypes.models import (
10
10
  ContentType,
11
11
  )
12
- from django.contrib.postgres.fields import (
13
- JSONField,
14
- )
15
12
  from django.db.models import (
16
13
  PROTECT,
17
14
  SET_NULL,
@@ -22,6 +19,7 @@ from django.db.models import (
22
19
  Index,
23
20
  PositiveIntegerField,
24
21
  UUIDField,
22
+ JSONField,
25
23
  )
26
24
  from m3.db import (
27
25
  BaseObjectModel,
educommon/utils/misc.py CHANGED
@@ -127,12 +127,23 @@ def message_to_sentry(message=None, extra=None, tag=None, level=logging.INFO):
127
127
  В параметре tag можно отправить тег для последующего поиска в Sentry
128
128
  """
129
129
  if getattr(settings, 'SENTRY_DSN', None):
130
- from raven.contrib.django.raven_compat.models import (
131
- client as sentry_client,
132
- )
133
- sentry_client.captureMessage(
134
- message=message,
135
- data={'level': level},
136
- extra=extra,
137
- tags={'tags': tag} if tag else None
138
- )
130
+ if getattr(settings, 'USE_SENTRY_SDK', None):
131
+ from sentry_sdk import (
132
+ capture_message,
133
+ )
134
+ capture_message(
135
+ message=message,
136
+ level=level,
137
+ extras=extra,
138
+ tags={'tags': tag} if tag else None
139
+ )
140
+ else:
141
+ from raven.contrib.django.raven_compat.models import (
142
+ client as sentry_client,
143
+ )
144
+ sentry_client.captureMessage(
145
+ message=message,
146
+ data={'level': level},
147
+ extra=extra,
148
+ tags={'tags': tag} if tag else None
149
+ )
educommon/utils/ui.py CHANGED
@@ -4,6 +4,7 @@ import os
4
4
  from datetime import (
5
5
  datetime,
6
6
  time,
7
+ date,
7
8
  )
8
9
 
9
10
  from django.conf import (
@@ -243,6 +244,8 @@ class DatetimeFilterCreator:
243
244
  Поддерживает значения по умолчанию.
244
245
  """
245
246
 
247
+ MIN_VALUE_DATE = date(1917, 1, 1)
248
+
246
249
  def __init__(self, model, field_name,
247
250
  get_from=lambda: None, get_to=lambda: None):
248
251
  """Фильтр по интервалу для datetime поля.
@@ -281,7 +284,8 @@ class DatetimeFilterCreator:
281
284
  self.model,
282
285
  model_register=observer,
283
286
  control_creator=lambda: ext.ExtDateField(
284
- value=self.defaults['from']()
287
+ value=self.defaults['from'](),
288
+ min_value=self.__class__.MIN_VALUE_DATE,
285
289
  ),
286
290
  field_name=self.field_name,
287
291
  lookup=lambda dt: Q(**{
@@ -292,7 +296,8 @@ class DatetimeFilterCreator:
292
296
  self.model,
293
297
  model_register=observer,
294
298
  control_creator=lambda: ext.ExtDateField(
295
- value=self.defaults['to']()
299
+ value=self.defaults['to'](),
300
+ min_value=self.__class__.MIN_VALUE_DATE,
296
301
  ),
297
302
  field_name=self.field_name,
298
303
  lookup=lambda dt: Q(**{
educommon/version.conf CHANGED
@@ -4,8 +4,8 @@
4
4
  # нормальной установки обновлений.
5
5
 
6
6
  [version]
7
- BRANCH = tags/3.11.0
8
- VERSION = 3.11.0
9
- REVISION = f55e33a2f910df4cd73e441a843b681a481919bc
10
- VERSION_DATE = 25.09.2024
11
- REVISION_DATE = 25.09.2024
7
+ BRANCH = tags/3.11.2
8
+ VERSION = 3.11.2
9
+ REVISION = 7472df222cb4d77b8e2220554691e392ca729eca
10
+ VERSION_DATE = 21.02.2025
11
+ REVISION_DATE = 21.02.2025
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: educommon
3
- Version: 3.11.0
3
+ Version: 3.11.2
4
4
  Summary: Общая кодовая база для проектов БЦ Образование
5
5
  Home-page: https://stash.bars-open.ru/projects/EDUBASE/repos/educommon
6
6
  Author: BARS Group
@@ -19,8 +19,8 @@ Classifier: Framework :: Django :: 2.2
19
19
  Classifier: Framework :: Django :: 3.0
20
20
  Classifier: Framework :: Django :: 3.1
21
21
  Classifier: Framework :: Django :: 3.2
22
- Requires-Dist: packaging <24,>=21.3
23
- Requires-Dist: Django <4,>=2.2
22
+ Requires-Dist: packaging<24,>=21.3
23
+ Requires-Dist: Django<4,>=3.1
24
24
  Requires-Dist: django-mptt
25
25
  Requires-Dist: python-dateutil
26
26
  Requires-Dist: termcolor
@@ -28,15 +28,20 @@ Requires-Dist: django-sendfile
28
28
  Requires-Dist: requests
29
29
  Requires-Dist: celery
30
30
  Requires-Dist: spyne
31
- Requires-Dist: xlsxwriter <1,>=0.9.3
32
- Requires-Dist: m3-builder <2,>=1.2
33
- Requires-Dist: m3-db-utils >=0.3.13
34
- Requires-Dist: m3-django-compat <2,>=1.10.2
35
- Requires-Dist: m3-core <3,>=2.2.16
36
- Requires-Dist: m3-ui <3,>=2.2.40
37
- Requires-Dist: m3-objectpack <3,>=2.2.49
38
- Requires-Dist: m3-simple-report <2,>=1.4.1
39
- Requires-Dist: m3-spyne-smev <2,>=0.2.4
40
- Requires-Dist: python-magic ==0.4.15
41
- Requires-Dist: distro <2,>=1.3.0
42
-
31
+ Requires-Dist: xlsxwriter<1,>=0.9.3
32
+ Requires-Dist: m3-builder<2,>=1.2
33
+ Requires-Dist: m3-db-utils>=0.3.13
34
+ Requires-Dist: m3-django-compat<2,>=1.10.2
35
+ Requires-Dist: m3-core<3,>=2.2.16
36
+ Requires-Dist: m3-ui<3,>=2.2.40
37
+ Requires-Dist: m3-objectpack<3,>=2.2.49
38
+ Requires-Dist: m3-simple-report<2,>=1.4.1
39
+ Requires-Dist: m3-spyne-smev<2,>=0.2.4
40
+ Requires-Dist: python-magic==0.4.15
41
+ Requires-Dist: distro<2,>=1.3.0
42
+ Dynamic: author
43
+ Dynamic: author-email
44
+ Dynamic: classifier
45
+ Dynamic: home-page
46
+ Dynamic: requires-dist
47
+ Dynamic: summary
@@ -1,6 +1,6 @@
1
1
  educommon/__init__.py,sha256=fvsBDL7g8HgOTd-JHOh7TSvMcnUauvGVgPuyA2Z9hUI,419
2
2
  educommon/thread_data.py,sha256=n0XtdesP9H92O3rJ8K6fVnJLiHqyJEfh2xpuT36wzxs,61
3
- educommon/version.conf,sha256=wgh9j5tHQoztDcRaVnISzOv7b8mQS40XZNuU8O4qFR8,450
3
+ educommon/version.conf,sha256=XnUcmdS_K284mZ44Xjlb920GvBGdaK8B5ZE4r3GQFqs,450
4
4
  educommon/about/README.rst,sha256=U48UW5jv-8qHyaV56atzzkNMvzHKXVcWSb_NR06PnMo,2685
5
5
  educommon/about/__init__.py,sha256=H1W0IgW-qX9LCZ49GOJzHdmQGHhh-MA6U1xmNx7WnfM,132
6
6
  educommon/about/apps.py,sha256=GrpJAOE2sF0ukWsqugP_WJS88DO4aL-T3kTLprrJrcA,259
@@ -20,11 +20,12 @@ educommon/async_task/consts.py,sha256=LulbNKSlS_T8sNjFqMS7DtaotVI0HibD1a0Iz9iDo8
20
20
  educommon/async_task/exceptions.py,sha256=PaaG2nqP0G2eZ-p0yssca2hhxIccil6MYKH6ZteezP8,117
21
21
  educommon/async_task/helpers.py,sha256=HihuIHrszhVQAb-Cs6-l4npnlNAgctItGBJ-oIPQX74,2706
22
22
  educommon/async_task/locker.py,sha256=TwVFhuEGsK0JHPXsWuqx7t2Op2mUKETY5EvHSeuKjc8,3844
23
- educommon/async_task/models.py,sha256=pICrDFr4Vq6KWpa28NIALP45aLs0lqP7YC2p1IQDFSc,7430
23
+ educommon/async_task/models.py,sha256=GdIzccMAJ6vZwGAI1HPukp3ceOgbaQ4dzkHi3HO-Ty4,7383
24
24
  educommon/async_task/tasks.py,sha256=T0INbjknXspeMleUkxPSGwJoKJy1_ZSDed4kbQ-RK44,12929
25
25
  educommon/async_task/ui.py,sha256=LD7RwM4-6M_6ZO3Ulwy6_lK7rDPcddg-gB6EOV65494,5829
26
26
  educommon/async_task/migrations/0001_initial.py,sha256=W0HfBmhatmQ7Dy4giGeqaZNtLHiEVAvJqx0AvHaxGZ0,3677
27
27
  educommon/async_task/migrations/0002_task_type_and_status_data.py,sha256=rDGxKnbwu4OqfcodFwA_TR-kfDGRKJhivEBFKuurM30,3359
28
+ educommon/async_task/migrations/0003_alter_runningtask_options.py,sha256=bZz5o5q66rf9Hh4kmHs-WcV05Q2KhQEbLrs4s9bWzjg,480
28
29
  educommon/async_task/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
30
  educommon/async_task/templates/ui-js/async-task-list-win.js,sha256=hjVV7S7HcJcpFkeToGAPQh_Icg63QC4jqGAyGOlilK8,749
30
31
  educommon/async_task/templates/ui-js/async-task-revoke.js,sha256=xKDi60ZH6X9CDkauYL27Ry6msmmJ1v14Cm1kv0lMkxg,1257
@@ -287,7 +288,7 @@ educommon/utils/caching.py,sha256=ux6ShlJJK3gh0C6XvpanbapXOI5uXUhDNgWQI7AsBBE,40
287
288
  educommon/utils/conversion.py,sha256=kEe15TwIH19RmC2mRl1JrrqD8mXgbCAPOYWnkIQXxqQ,1966
288
289
  educommon/utils/crypto.py,sha256=3uMk2CP53ZOsJ5Tcb0DLWxmk9ezINZQUsQcqF6j8XR0,2158
289
290
  educommon/utils/date.py,sha256=B0-rgaeM1LqjCBsINetjauZaOe0ATAcQUCZJTnLnNzo,16800
290
- educommon/utils/misc.py,sha256=pDM47_Bu-YNNx6l1kDppI4D0RtsCbKnczlku-OzlB60,4254
291
+ educommon/utils/misc.py,sha256=BUMP9of-H5COcBWai5MJIV4iygKfMFwdI-Ry5IXSxWg,4629
291
292
  educommon/utils/object_grid.py,sha256=mUJd0HJmj4PVljmkwxlR3mQO__YnlLBmAZcFWGxTHLc,9048
292
293
  educommon/utils/patches.py,sha256=Pio9V3bmDH79tTJnM5hi8rwhMEBtbpAg30zPTk5fuN0,1157
293
294
  educommon/utils/plugins.py,sha256=YAD3FM78ihPtyaB_olNM1CoSc5Q5icF_J3A0ivFBFmY,9469
@@ -296,7 +297,7 @@ educommon/utils/seqtools.py,sha256=v621d2X1BO8PQeKIioX4V1BlLTnwIt__GJh9zPF1uI8,5
296
297
  educommon/utils/serializer.py,sha256=qdjC6Q6l-bwl9wAzhU6Ujs2_9sc57Z5RA9iNUmzBM74,8787
297
298
  educommon/utils/storage.py,sha256=UwKZX1qnZQgbFn34wLpPnSv_xU6KdpW3M1yz_VxCmww,2883
298
299
  educommon/utils/system.py,sha256=CBdm4t3ng6luvcQANpJiKrJplFmFeM-lX0rKhuII5Ik,2834
299
- educommon/utils/ui.py,sha256=zZU6XIi-lV_xkXv_O9fNcvzAs26PpHtcO-3H-mo-KhU,16082
300
+ educommon/utils/ui.py,sha256=TCsP1kk9CNtLFNFG_Ggvt0iS-EpooqWfgAv5ducqA9k,16255
300
301
  educommon/utils/db/__init__.py,sha256=np9pL-_tv4C6i0iQzTjc-ZGKhaotJK8YSryoPaJ0QQA,7734
301
302
  educommon/utils/db/postgresql.py,sha256=3LOvLqG8QV3hsvo_fupkV26cQmSf0WNBhgpVcfs-lWc,2820
302
303
  educommon/utils/fonts/Arial.ttf,sha256=NcDzVZ2NtWnjbDEJW4pg1EFkPZX1kTneQOI_ragZuDM,275572
@@ -349,8 +350,8 @@ educommon/ws_log/smev/exceptions.py,sha256=lmy7o2T3dJkqgIhG07qyh5yPqO3qZAYABuT4J
349
350
  educommon/ws_log/templates/report/smev_logs.xlsx,sha256=nnYgB0Z_ix8HoxsRICjsZfFRQBdra-5Gd8nWhCxTjYg,10439
350
351
  educommon/ws_log/templates/ui-js/smev-logs-list-window.js,sha256=AGup3D8GTJSY9WdDPj0zBJeYQBFOmGgcbxPOJbKK-nY,513
351
352
  educommon/ws_log/templates/ui-js/smev-logs-report-setting-window.js,sha256=nQ7QYK9frJcE7g7kIt6INg9TlEEJAPPayBJgRaoTePA,1103
352
- educommon-3.11.0.dist-info/METADATA,sha256=B8t2OQ9Hzeu07wf-yJbwyDJKcwUpLAVW-ktXa9tXOz8,1563
353
- educommon-3.11.0.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
354
- educommon-3.11.0.dist-info/dependency_links.txt,sha256=RNlr4t-BxZRm7e_IfVo1ikr5ln-7viimzLHvQMO1C_Q,43
355
- educommon-3.11.0.dist-info/top_level.txt,sha256=z5fbW7bz_0V1foUm_FGcZ9_MTpW3N1dBN7-kEmMowl4,10
356
- educommon-3.11.0.dist-info/RECORD,,
353
+ educommon-3.11.2.dist-info/METADATA,sha256=4w-3qIGoPuE7MVbfF_k2dt2PF-fETgnVCBDxg1Hcfvw,1666
354
+ educommon-3.11.2.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
355
+ educommon-3.11.2.dist-info/dependency_links.txt,sha256=RNlr4t-BxZRm7e_IfVo1ikr5ln-7viimzLHvQMO1C_Q,43
356
+ educommon-3.11.2.dist-info/top_level.txt,sha256=z5fbW7bz_0V1foUm_FGcZ9_MTpW3N1dBN7-kEmMowl4,10
357
+ educommon-3.11.2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (74.1.2)
2
+ Generator: setuptools (75.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5