commonground-api-common 2.6.0__py3-none-any.whl → 2.6.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.
- {commonground_api_common-2.6.0.dist-info → commonground_api_common-2.6.2.dist-info}/METADATA +1 -2
- {commonground_api_common-2.6.0.dist-info → commonground_api_common-2.6.2.dist-info}/RECORD +8 -8
- vng_api_common/__init__.py +1 -1
- vng_api_common/filtersets.py +10 -0
- vng_api_common/serializers.py +9 -22
- {commonground_api_common-2.6.0.data → commonground_api_common-2.6.2.data}/scripts/generate_schema +0 -0
- {commonground_api_common-2.6.0.dist-info → commonground_api_common-2.6.2.dist-info}/WHEEL +0 -0
- {commonground_api_common-2.6.0.dist-info → commonground_api_common-2.6.2.dist-info}/top_level.txt +0 -0
{commonground_api_common-2.6.0.dist-info → commonground_api_common-2.6.2.dist-info}/METADATA
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: commonground-api-common
|
3
|
-
Version: 2.6.
|
3
|
+
Version: 2.6.2
|
4
4
|
Summary: Commonground API tooling
|
5
5
|
Home-page: https://github.com/maykinmedia/commonground-api-common
|
6
6
|
Author: Maykin Media, VNG-Realisatie
|
@@ -28,7 +28,6 @@ Requires-Dist: django-rest-framework-condition
|
|
28
28
|
Requires-Dist: drf-nested-routers>=0.94.1
|
29
29
|
Requires-Dist: drf-spectacular
|
30
30
|
Requires-Dist: iso-639
|
31
|
-
Requires-Dist: isodate
|
32
31
|
Requires-Dist: notifications-api-common>=0.3.1
|
33
32
|
Requires-Dist: zgw-consumers>=0.35.1
|
34
33
|
Requires-Dist: oyaml
|
@@ -1,5 +1,5 @@
|
|
1
|
-
commonground_api_common-2.6.
|
2
|
-
vng_api_common/__init__.py,sha256=
|
1
|
+
commonground_api_common-2.6.2.data/scripts/generate_schema,sha256=OpKgzlFc_uzA3TVW_vHSYXAD_feLaCdTEnkWjIcxVzA,280
|
2
|
+
vng_api_common/__init__.py,sha256=53Sii4w6BIWn-1RhaTyqUO46gDe4nDCRQDAcpsWFH24,22
|
3
3
|
vng_api_common/admin.py,sha256=iFtUPGf-ha0I-bXgq8QIFrP23Kzk_H3FlgAjt0U-ip0,259
|
4
4
|
vng_api_common/apps.py,sha256=QQiJXRmjX9Q91oh0P9fvVnHe3NSYd1cEcUUBw0HLBCA,3690
|
5
5
|
vng_api_common/checks.py,sha256=tOyfV7MMLGh4anrd_W30LvJCxiyQ4sFs1mGd9mtrEc0,1175
|
@@ -14,7 +14,7 @@ vng_api_common/exception_handling.py,sha256=Z8Si1-GPWaTtsgaFI_zLOvlnLVLM8jqfgFIi
|
|
14
14
|
vng_api_common/exceptions.py,sha256=7Qk5dlETjoQjZeGRKei4PkeLACLoZOMrMiuyi-yn6Kk,615
|
15
15
|
vng_api_common/fields.py,sha256=1911m0CKEU-5-2t_h5P-D2YjC8BGosx8t8FQ-SGfgFw,6335
|
16
16
|
vng_api_common/filters.py,sha256=oPivwrES1BQgSUg1jD9hJab7dyoO3VbZDVbbRRiW2SQ,5618
|
17
|
-
vng_api_common/filtersets.py,sha256=
|
17
|
+
vng_api_common/filtersets.py,sha256=CpmuOg6jGKFDwVeCusax-CBI7tv-EuOSBLwewdkLu1Y,1256
|
18
18
|
vng_api_common/generators.py,sha256=88yQN5-vRFUegfzQcsZtlpbtQyn_zZQwvs20OidPK7M,1239
|
19
19
|
vng_api_common/geo.py,sha256=AZbrw0rwGYOmaSUk8JJSkx-4_tVrfT_cgggh9omRwhU,1862
|
20
20
|
vng_api_common/middleware.py,sha256=2DRw0hPpvUMqwoH1Ze8S7tDB16lmj4Bnd6vN5ijkGM8,875
|
@@ -28,7 +28,7 @@ vng_api_common/routers.py,sha256=hEnhBulkgMM-7W_lYaykKTgTBj3-avl7DGsR9P7BbTU,189
|
|
28
28
|
vng_api_common/schema.py,sha256=axs2Q8IXwpHNd5WscQg5xOErL6bWhP8WFItTt4xCFO4,16305
|
29
29
|
vng_api_common/scopes.py,sha256=PGs6CkXorAAdWXGFY1bSy-jmsPn122Njen9aFFOpFIQ,2351
|
30
30
|
vng_api_common/search.py,sha256=yehS6boCOk1JXLCqAMU-B62hWtbTBSf_WKIVGPgp0Mg,1045
|
31
|
-
vng_api_common/serializers.py,sha256=
|
31
|
+
vng_api_common/serializers.py,sha256=D0DEw-iw4se1MLAlDw25G6q4g1BTEL3VXcuvMTj6qlk,13462
|
32
32
|
vng_api_common/urls.py,sha256=9IWHYLlEIIHNaZ_Zq02qNQ2HJpETb7o-89r7yBM_tQs,270
|
33
33
|
vng_api_common/utils.py,sha256=EHqVjZhtqnbU7YrqgYIBss28Sd19jtnTLNaMWLfj3Zw,8203
|
34
34
|
vng_api_common/validators.py,sha256=ejaFZvFXFaBlqxjA2_07NSHKHlG5pejrfC_GHjwCj6E,12852
|
@@ -183,7 +183,7 @@ vng_api_common/tests/auth.py,sha256=IKDWTEFv4Bign4F70-ibsFcnJqRxEJaXvqaPQJWa1xY,
|
|
183
183
|
vng_api_common/tests/caching.py,sha256=zfIw5cRRvO9cekHZZKfRqZc8cx5IfJUYNmcH6cuIMg4,624
|
184
184
|
vng_api_common/tests/schema.py,sha256=WDvifDQQiKqIpQijpeQ7rYkFroJmuPuHe7zNhl1Bigk,2293
|
185
185
|
vng_api_common/tests/urls.py,sha256=PFrYzQbBC0TFPMEn3uPhcBG0IQs9JsEPqckicJT1UA4,2159
|
186
|
-
commonground_api_common-2.6.
|
187
|
-
commonground_api_common-2.6.
|
188
|
-
commonground_api_common-2.6.
|
189
|
-
commonground_api_common-2.6.
|
186
|
+
commonground_api_common-2.6.2.dist-info/METADATA,sha256=wBqB31TZDGKWyv6an6TP8I6tBFwVUgnQed6gevn6mWg,6965
|
187
|
+
commonground_api_common-2.6.2.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
188
|
+
commonground_api_common-2.6.2.dist-info/top_level.txt,sha256=vPismc83zPzWXTmlNCCwfDlFV9iygJYxNJW5iDjKTgw,15
|
189
|
+
commonground_api_common-2.6.2.dist-info/RECORD,,
|
vng_api_common/__init__.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = "2.6.
|
1
|
+
__version__ = "2.6.2"
|
vng_api_common/filtersets.py
CHANGED
@@ -25,3 +25,13 @@ class FilterSet(filterset.FilterSet):
|
|
25
25
|
"""
|
26
26
|
|
27
27
|
FILTER_DEFAULTS = FILTER_FOR_DBFIELD_DEFAULTS
|
28
|
+
|
29
|
+
@classmethod
|
30
|
+
def filter_for_field(cls, field, field_name, lookup_expr=None):
|
31
|
+
"""
|
32
|
+
Add help texts for model field filters
|
33
|
+
"""
|
34
|
+
filter_set = super().filter_for_field(field, field_name, lookup_expr)
|
35
|
+
if not filter_set.extra.get("help_text"):
|
36
|
+
filter_set.extra["help_text"] = getattr(field, "help_text", None)
|
37
|
+
return filter_set
|
vng_api_common/serializers.py
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
import datetime
|
2
1
|
import inspect
|
3
2
|
from collections import OrderedDict
|
4
3
|
from functools import reduce
|
@@ -8,7 +7,7 @@ from django.db import models, transaction
|
|
8
7
|
from django.db.models import Model
|
9
8
|
from django.utils.translation import gettext_lazy as _
|
10
9
|
|
11
|
-
import
|
10
|
+
from dateutil.relativedelta import relativedelta
|
12
11
|
from rest_framework import fields, serializers
|
13
12
|
from rest_framework.request import Request
|
14
13
|
from rest_framework_nested.relations import NestedHyperlinkedRelatedField
|
@@ -18,41 +17,29 @@ from .descriptors import GegevensGroepType
|
|
18
17
|
|
19
18
|
try:
|
20
19
|
# 1.1.x
|
21
|
-
from relativedeltafield.utils import format_relativedelta,
|
20
|
+
from relativedeltafield.utils import format_relativedelta, parse_relativedelta
|
22
21
|
except ImportError:
|
23
22
|
try:
|
24
23
|
# 1.0.x
|
25
|
-
from relativedeltafield import format_relativedelta,
|
24
|
+
from relativedeltafield import format_relativedelta, parse_relativedelta
|
26
25
|
except ImportError:
|
27
26
|
format_relativedelta = None
|
28
|
-
|
27
|
+
parse_relativedelta = None
|
29
28
|
|
30
29
|
|
31
30
|
class DurationField(fields.DurationField):
|
32
31
|
def to_internal_value(self, value):
|
33
|
-
if isinstance(value,
|
32
|
+
if isinstance(value, relativedelta):
|
34
33
|
return value
|
35
34
|
try:
|
36
|
-
|
37
|
-
except
|
35
|
+
return parse_relativedelta(str(value))
|
36
|
+
except ValueError:
|
38
37
|
self.fail("invalid", format="P(n)Y(n)M(n)D")
|
39
|
-
else:
|
40
|
-
if isinstance(parsed, isodate.Duration):
|
41
|
-
# TODO: start should probably be a proper object, but we should
|
42
|
-
# really switch to relativedeltafield
|
43
|
-
parsed = parsed.totimedelta(start=datetime.datetime.now())
|
44
|
-
assert isinstance(parsed, datetime.timedelta)
|
45
|
-
return parsed
|
46
38
|
|
47
39
|
def to_representation(self, value) -> Optional[str]:
|
48
|
-
if
|
49
|
-
# relativedeltafield 1.1.2 returns a relativedelta() object with no duration,
|
50
|
-
# to keep behaviour consistent with older versions, change that to `None`
|
51
|
-
if not value:
|
52
|
-
return None
|
40
|
+
if isinstance(value, relativedelta):
|
53
41
|
return format_relativedelta(value)
|
54
|
-
|
55
|
-
return isodate.duration_isoformat(value)
|
42
|
+
return None
|
56
43
|
|
57
44
|
|
58
45
|
class FieldValidationErrorSerializer(serializers.Serializer):
|
{commonground_api_common-2.6.0.data → commonground_api_common-2.6.2.data}/scripts/generate_schema
RENAMED
File without changes
|
File without changes
|
{commonground_api_common-2.6.0.dist-info → commonground_api_common-2.6.2.dist-info}/top_level.txt
RENAMED
File without changes
|