udata 9.2.5.dev32160__py2.py3-none-any.whl → 9.2.5.dev32170__py2.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.
Potentially problematic release.
This version of udata might be problematic. Click here for more details.
- udata/core/dataset/events.py +25 -16
- udata/static/chunks/{10.a99bb538cfbadb38dbcb.js → 10.dac55d18d0b4ef3cdacf.js} +3 -3
- udata/static/chunks/{10.a99bb538cfbadb38dbcb.js.map → 10.dac55d18d0b4ef3cdacf.js.map} +1 -1
- udata/static/chunks/{11.bb1c1fb39f740fbbeec0.js → 11.4a20a75f827c5a1125c3.js} +3 -3
- udata/static/chunks/{11.bb1c1fb39f740fbbeec0.js.map → 11.4a20a75f827c5a1125c3.js.map} +1 -1
- udata/static/chunks/{13.bef5fdb3e147e94fea99.js → 13.645dd0b7c0b9210f1b56.js} +2 -2
- udata/static/chunks/{13.bef5fdb3e147e94fea99.js.map → 13.645dd0b7c0b9210f1b56.js.map} +1 -1
- udata/static/chunks/{17.b91d28f550dc44bc4979.js → 17.8e19985c4d12a3b7b0c0.js} +2 -2
- udata/static/chunks/{17.b91d28f550dc44bc4979.js.map → 17.8e19985c4d12a3b7b0c0.js.map} +1 -1
- udata/static/chunks/{19.2c615ffee1e807000770.js → 19.825a43c330157e351fca.js} +3 -3
- udata/static/chunks/{19.2c615ffee1e807000770.js.map → 19.825a43c330157e351fca.js.map} +1 -1
- udata/static/chunks/{8.291bde987ed97294e4de.js → 8.5ee0cf635c848abbfc05.js} +2 -2
- udata/static/chunks/{8.291bde987ed97294e4de.js.map → 8.5ee0cf635c848abbfc05.js.map} +1 -1
- udata/static/chunks/{9.985935421e62c97a9f86.js → 9.df3c36f8d0d210621fbb.js} +3 -3
- udata/static/chunks/{9.985935421e62c97a9f86.js.map → 9.df3c36f8d0d210621fbb.js.map} +1 -1
- udata/static/common.js +1 -1
- udata/static/common.js.map +1 -1
- udata/tests/dataset/test_dataset_events.py +3 -15
- {udata-9.2.5.dev32160.dist-info → udata-9.2.5.dev32170.dist-info}/METADATA +2 -1
- {udata-9.2.5.dev32160.dist-info → udata-9.2.5.dev32170.dist-info}/RECORD +24 -24
- {udata-9.2.5.dev32160.dist-info → udata-9.2.5.dev32170.dist-info}/LICENSE +0 -0
- {udata-9.2.5.dev32160.dist-info → udata-9.2.5.dev32170.dist-info}/WHEEL +0 -0
- {udata-9.2.5.dev32160.dist-info → udata-9.2.5.dev32170.dist-info}/entry_points.txt +0 -0
- {udata-9.2.5.dev32160.dist-info → udata-9.2.5.dev32170.dist-info}/top_level.txt +0 -0
udata/core/dataset/events.py
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import datetime
|
|
2
|
+
from collections.abc import Callable
|
|
3
|
+
from typing import Any
|
|
2
4
|
|
|
3
5
|
import requests
|
|
4
6
|
from flask import current_app
|
|
@@ -38,23 +40,28 @@ def serialize_resource_for_event(resource):
|
|
|
38
40
|
return resource_dict
|
|
39
41
|
|
|
40
42
|
|
|
43
|
+
def payload_for_resource(document: Any, resource_id: str | None) -> dict | None:
|
|
44
|
+
if resource_id is None: # On delete, there is no resource_id, and no need for a payload.
|
|
45
|
+
return None
|
|
46
|
+
resource: dict = serialize_resource_for_event(get_by(document.resources, "id", resource_id))
|
|
47
|
+
return {
|
|
48
|
+
"resource_id": str(resource_id),
|
|
49
|
+
"dataset_id": str(document.id),
|
|
50
|
+
"document": resource,
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
|
|
41
54
|
@task(route="high.resource")
|
|
42
|
-
def publish(url, document, resource_id, action):
|
|
55
|
+
def publish(url: str, document: Any, resource_id: str, action: str) -> None:
|
|
56
|
+
method: Callable
|
|
43
57
|
match action:
|
|
44
58
|
case EventMessageType.CREATED:
|
|
45
59
|
method = requests.post
|
|
46
|
-
resource = serialize_resource_for_event(get_by(document.resources, "id", resource_id))
|
|
47
60
|
case EventMessageType.MODIFIED:
|
|
48
61
|
method = requests.put
|
|
49
|
-
resource = serialize_resource_for_event(get_by(document.resources, "id", resource_id))
|
|
50
62
|
case EventMessageType.DELETED:
|
|
51
63
|
method = requests.delete
|
|
52
|
-
|
|
53
|
-
payload = {
|
|
54
|
-
"resource_id": str(resource_id),
|
|
55
|
-
"dataset_id": str(document.id),
|
|
56
|
-
"document": resource,
|
|
57
|
-
}
|
|
64
|
+
payload: dict | None = payload_for_resource(document, resource_id)
|
|
58
65
|
headers = {}
|
|
59
66
|
if current_app.config["RESOURCES_ANALYSER_API_KEY"]:
|
|
60
67
|
headers = {"Authorization": f"Bearer {current_app.config['RESOURCES_ANALYSER_API_KEY']}"}
|
|
@@ -63,7 +70,7 @@ def publish(url, document, resource_id, action):
|
|
|
63
70
|
|
|
64
71
|
|
|
65
72
|
@Dataset.on_resource_added.connect
|
|
66
|
-
def publish_added_resource_message(sender, document, **kwargs):
|
|
73
|
+
def publish_added_resource_message(sender, document, **kwargs) -> None:
|
|
67
74
|
if current_app.config.get("PUBLISH_ON_RESOURCE_EVENTS") and current_app.config.get(
|
|
68
75
|
"RESOURCES_ANALYSER_URI"
|
|
69
76
|
):
|
|
@@ -76,26 +83,28 @@ def publish_added_resource_message(sender, document, **kwargs):
|
|
|
76
83
|
|
|
77
84
|
|
|
78
85
|
@Dataset.on_resource_updated.connect
|
|
79
|
-
def publish_updated_resource_message(sender, document, **kwargs):
|
|
86
|
+
def publish_updated_resource_message(sender, document, **kwargs) -> None:
|
|
80
87
|
if current_app.config.get("PUBLISH_ON_RESOURCE_EVENTS") and current_app.config.get(
|
|
81
88
|
"RESOURCES_ANALYSER_URI"
|
|
82
89
|
):
|
|
90
|
+
resource_id: str = kwargs["resource_id"]
|
|
83
91
|
publish.delay(
|
|
84
|
-
f"{current_app.config.get('RESOURCES_ANALYSER_URI')}/api/resources/",
|
|
92
|
+
f"{current_app.config.get('RESOURCES_ANALYSER_URI')}/api/resources/{resource_id}",
|
|
85
93
|
document,
|
|
86
|
-
|
|
94
|
+
resource_id,
|
|
87
95
|
EventMessageType.MODIFIED,
|
|
88
96
|
)
|
|
89
97
|
|
|
90
98
|
|
|
91
99
|
@Dataset.on_resource_removed.connect
|
|
92
|
-
def publish_removed_resource_message(sender, document, **kwargs):
|
|
100
|
+
def publish_removed_resource_message(sender, document, **kwargs) -> None:
|
|
93
101
|
if current_app.config.get("PUBLISH_ON_RESOURCE_EVENTS") and current_app.config.get(
|
|
94
102
|
"RESOURCES_ANALYSER_URI"
|
|
95
103
|
):
|
|
104
|
+
resource_id: str = kwargs["resource_id"]
|
|
96
105
|
publish.delay(
|
|
97
|
-
f"{current_app.config.get('RESOURCES_ANALYSER_URI')}/api/resources/",
|
|
106
|
+
f"{current_app.config.get('RESOURCES_ANALYSER_URI')}/api/resources/{resource_id}",
|
|
98
107
|
document,
|
|
99
|
-
|
|
108
|
+
None,
|
|
100
109
|
EventMessageType.DELETED,
|
|
101
110
|
)
|