udata 10.0.5.dev32808__py2.py3-none-any.whl → 10.0.5.dev32826__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/dataservices/models.py +20 -0
- udata/core/metrics/commands.py +1 -0
- udata/core/metrics/tasks.py +1 -0
- udata/core/organization/metrics.py +9 -0
- udata/core/organization/models.py +7 -0
- udata/core/site/models.py +6 -0
- udata/core/user/metrics.py +9 -0
- udata/core/user/models.py +7 -0
- udata/tests/api/test_user_api.py +7 -1
- udata/tests/organization/test_organization_model.py +9 -0
- udata/tests/site/test_site_metrics.py +9 -0
- {udata-10.0.5.dev32808.dist-info → udata-10.0.5.dev32826.dist-info}/METADATA +2 -1
- {udata-10.0.5.dev32808.dist-info → udata-10.0.5.dev32826.dist-info}/RECORD +17 -17
- {udata-10.0.5.dev32808.dist-info → udata-10.0.5.dev32826.dist-info}/LICENSE +0 -0
- {udata-10.0.5.dev32808.dist-info → udata-10.0.5.dev32826.dist-info}/WHEEL +0 -0
- {udata-10.0.5.dev32808.dist-info → udata-10.0.5.dev32826.dist-info}/entry_points.txt +0 -0
- {udata-10.0.5.dev32808.dist-info → udata-10.0.5.dev32826.dist-info}/top_level.txt +0 -0
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
from datetime import datetime
|
|
2
2
|
|
|
3
|
+
from blinker import Signal
|
|
3
4
|
from flask import url_for
|
|
4
5
|
from mongoengine import Q
|
|
6
|
+
from mongoengine.signals import post_save
|
|
5
7
|
|
|
6
8
|
import udata.core.contact_point.api_fields as contact_api_fields
|
|
7
9
|
import udata.core.dataset.api_fields as datasets_api_fields
|
|
@@ -233,3 +235,21 @@ class Dataservice(WithMetrics, Owned, db.Document):
|
|
|
233
235
|
def count_followers(self):
|
|
234
236
|
self.metrics["followers"] = Follow.objects(until=None).followers(self).count()
|
|
235
237
|
self.save()
|
|
238
|
+
|
|
239
|
+
on_create = Signal()
|
|
240
|
+
on_update = Signal()
|
|
241
|
+
on_delete = Signal()
|
|
242
|
+
|
|
243
|
+
@classmethod
|
|
244
|
+
def post_save(cls, sender, document, **kwargs):
|
|
245
|
+
if "post_save" in kwargs.get("ignores", []):
|
|
246
|
+
return
|
|
247
|
+
if kwargs.get("created"):
|
|
248
|
+
cls.on_create.send(document)
|
|
249
|
+
else:
|
|
250
|
+
cls.on_update.send(document)
|
|
251
|
+
if document.deleted_at:
|
|
252
|
+
cls.on_delete.send(document)
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
post_save.connect(Dataservice.post_save, sender=Dataservice)
|
udata/core/metrics/commands.py
CHANGED
udata/core/metrics/tasks.py
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from udata.core.dataservices.models import Dataservice
|
|
1
2
|
from udata.core.owned import Owned
|
|
2
3
|
from udata.models import Dataset, Organization, Reuse
|
|
3
4
|
|
|
@@ -18,6 +19,14 @@ def update_reuses_metrics(document, **kwargs):
|
|
|
18
19
|
document.organization.count_reuses()
|
|
19
20
|
|
|
20
21
|
|
|
22
|
+
@Dataservice.on_create.connect
|
|
23
|
+
@Dataservice.on_update.connect
|
|
24
|
+
@Dataservice.on_delete.connect
|
|
25
|
+
def update_dataservices_metrics(document, **kwargs):
|
|
26
|
+
if document.organization:
|
|
27
|
+
document.organization.count_dataservices()
|
|
28
|
+
|
|
29
|
+
|
|
21
30
|
@Owned.on_owner_change.connect
|
|
22
31
|
def update_org_metrics(document, previous):
|
|
23
32
|
if not isinstance(previous, Organization):
|
|
@@ -157,6 +157,7 @@ class Organization(WithMetrics, OrganizationBadgeMixin, db.Datetimed, db.Documen
|
|
|
157
157
|
"datasets",
|
|
158
158
|
"members",
|
|
159
159
|
"reuses",
|
|
160
|
+
"dataservices",
|
|
160
161
|
"followers",
|
|
161
162
|
"views",
|
|
162
163
|
]
|
|
@@ -309,6 +310,12 @@ class Organization(WithMetrics, OrganizationBadgeMixin, db.Datetimed, db.Documen
|
|
|
309
310
|
self.metrics["reuses"] = Reuse.objects(organization=self).visible().count()
|
|
310
311
|
self.save()
|
|
311
312
|
|
|
313
|
+
def count_dataservices(self):
|
|
314
|
+
from udata.models import Dataservice
|
|
315
|
+
|
|
316
|
+
self.metrics["dataservices"] = Dataservice.objects(organization=self).visible().count()
|
|
317
|
+
self.save()
|
|
318
|
+
|
|
312
319
|
def count_followers(self):
|
|
313
320
|
from udata.models import Follow
|
|
314
321
|
|
udata/core/site/models.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from flask import current_app, g
|
|
2
2
|
from werkzeug.local import LocalProxy
|
|
3
3
|
|
|
4
|
+
from udata.core.dataservices.models import Dataservice
|
|
4
5
|
from udata.core.dataset.models import Dataset
|
|
5
6
|
from udata.core.organization.models import Organization
|
|
6
7
|
from udata.core.reuse.models import Reuse
|
|
@@ -41,6 +42,7 @@ class Site(WithMetrics, db.Document):
|
|
|
41
42
|
"public-service",
|
|
42
43
|
"resources",
|
|
43
44
|
"reuses",
|
|
45
|
+
"dataservices",
|
|
44
46
|
"users",
|
|
45
47
|
"harvesters",
|
|
46
48
|
]
|
|
@@ -87,6 +89,10 @@ class Site(WithMetrics, db.Document):
|
|
|
87
89
|
self.metrics["reuses"] = Reuse.objects.visible().count()
|
|
88
90
|
self.save()
|
|
89
91
|
|
|
92
|
+
def count_dataservices(self):
|
|
93
|
+
self.metrics["dataservices"] = Dataservice.objects.visible().count()
|
|
94
|
+
self.save()
|
|
95
|
+
|
|
90
96
|
def count_followers(self):
|
|
91
97
|
from udata.models import Follow
|
|
92
98
|
|
udata/core/user/metrics.py
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from udata.core.dataservices.models import Dataservice
|
|
1
2
|
from udata.core.followers.signals import on_follow, on_unfollow
|
|
2
3
|
from udata.core.owned import Owned
|
|
3
4
|
from udata.models import Dataset, Reuse, User
|
|
@@ -19,6 +20,14 @@ def update_reuses_metrics(document, **kwargs):
|
|
|
19
20
|
document.owner.count_reuses()
|
|
20
21
|
|
|
21
22
|
|
|
23
|
+
@Dataservice.on_create.connect
|
|
24
|
+
@Dataservice.on_update.connect
|
|
25
|
+
@Dataservice.on_delete.connect
|
|
26
|
+
def update_dataservices_metrics(document, **kwargs):
|
|
27
|
+
if document.owner:
|
|
28
|
+
document.owner.count_dataservices()
|
|
29
|
+
|
|
30
|
+
|
|
22
31
|
@on_follow.connect
|
|
23
32
|
@on_unfollow.connect
|
|
24
33
|
def update_user_following_metric(follow):
|
udata/core/user/models.py
CHANGED
|
@@ -99,6 +99,7 @@ class User(WithMetrics, UserMixin, db.Document):
|
|
|
99
99
|
__metrics_keys__ = [
|
|
100
100
|
"datasets",
|
|
101
101
|
"reuses",
|
|
102
|
+
"dataservices",
|
|
102
103
|
"following",
|
|
103
104
|
"followers",
|
|
104
105
|
]
|
|
@@ -296,6 +297,12 @@ class User(WithMetrics, UserMixin, db.Document):
|
|
|
296
297
|
self.metrics["reuses"] = Reuse.objects(owner=self).visible().count()
|
|
297
298
|
self.save()
|
|
298
299
|
|
|
300
|
+
def count_dataservices(self):
|
|
301
|
+
from udata.core.dataservices.models import Dataservice
|
|
302
|
+
|
|
303
|
+
self.metrics["dataservices"] = Dataservice.objects(owner=self).visible().count()
|
|
304
|
+
self.save()
|
|
305
|
+
|
|
299
306
|
def count_followers(self):
|
|
300
307
|
from udata.models import Follow
|
|
301
308
|
|
udata/tests/api/test_user_api.py
CHANGED
|
@@ -208,7 +208,13 @@ class UserAPITest(APITestCase):
|
|
|
208
208
|
about=faker.paragraph(),
|
|
209
209
|
website=faker.url(),
|
|
210
210
|
avatar_url=faker.url(),
|
|
211
|
-
metrics={
|
|
211
|
+
metrics={
|
|
212
|
+
"datasets": 10,
|
|
213
|
+
"followers": 1,
|
|
214
|
+
"following": 0,
|
|
215
|
+
"reuses": 2,
|
|
216
|
+
"dataservices": 0,
|
|
217
|
+
},
|
|
212
218
|
)
|
|
213
219
|
response = self.get(url_for("api.users"))
|
|
214
220
|
self.assert200(response)
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
from datetime import datetime
|
|
2
2
|
|
|
3
3
|
import udata.core.organization.constants as org_constants
|
|
4
|
+
from udata.core.dataservices.factories import DataserviceFactory
|
|
5
|
+
from udata.core.dataservices.models import Dataservice
|
|
4
6
|
from udata.core.dataset.factories import DatasetFactory, HiddenDatasetFactory
|
|
5
7
|
from udata.core.followers.signals import on_follow, on_unfollow
|
|
6
8
|
from udata.core.organization.factories import OrganizationFactory
|
|
@@ -27,6 +29,8 @@ class OrganizationModelTest(TestCase, DBTestMixin):
|
|
|
27
29
|
with assert_emit(Reuse.on_create):
|
|
28
30
|
reuse = VisibleReuseFactory(organization=org)
|
|
29
31
|
ReuseFactory(organization=org)
|
|
32
|
+
with assert_emit(Dataservice.on_create):
|
|
33
|
+
dataservice = DataserviceFactory(organization=org)
|
|
30
34
|
with assert_emit(Dataset.on_create):
|
|
31
35
|
dataset = DatasetFactory(organization=org)
|
|
32
36
|
HiddenDatasetFactory(organization=org)
|
|
@@ -37,11 +41,15 @@ class OrganizationModelTest(TestCase, DBTestMixin):
|
|
|
37
41
|
|
|
38
42
|
assert org.get_metrics()["datasets"] == 1
|
|
39
43
|
assert org.get_metrics()["reuses"] == 1
|
|
44
|
+
assert org.get_metrics()["dataservices"] == 1
|
|
40
45
|
assert org.get_metrics()["followers"] == 1
|
|
41
46
|
|
|
42
47
|
with assert_emit(Reuse.on_delete):
|
|
43
48
|
reuse.deleted = datetime.utcnow()
|
|
44
49
|
reuse.save()
|
|
50
|
+
with assert_emit(Dataservice.on_delete):
|
|
51
|
+
dataservice.deleted_at = datetime.utcnow()
|
|
52
|
+
dataservice.save()
|
|
45
53
|
with assert_emit(Dataset.on_delete):
|
|
46
54
|
dataset.deleted = datetime.utcnow()
|
|
47
55
|
dataset.save()
|
|
@@ -51,6 +59,7 @@ class OrganizationModelTest(TestCase, DBTestMixin):
|
|
|
51
59
|
|
|
52
60
|
assert org.get_metrics()["datasets"] == 0
|
|
53
61
|
assert org.get_metrics()["reuses"] == 0
|
|
62
|
+
assert org.get_metrics()["dataservices"] == 0
|
|
54
63
|
assert org.get_metrics()["followers"] == 0
|
|
55
64
|
|
|
56
65
|
def test_organization_queryset_with_badge(self):
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import pytest
|
|
2
2
|
|
|
3
|
+
from udata.core.dataservices.factories import DataserviceFactory
|
|
3
4
|
from udata.core.dataset.factories import (
|
|
4
5
|
DatasetFactory,
|
|
5
6
|
HiddenDatasetFactory,
|
|
@@ -29,6 +30,14 @@ class SiteMetricTest:
|
|
|
29
30
|
|
|
30
31
|
assert site.get_metrics()["reuses"] == 4
|
|
31
32
|
|
|
33
|
+
def test_dataservice_metric(self, app):
|
|
34
|
+
site = SiteFactory.create(id=app.config["SITE_ID"])
|
|
35
|
+
DataserviceFactory.create_batch(4)
|
|
36
|
+
|
|
37
|
+
site.count_dataservices()
|
|
38
|
+
|
|
39
|
+
assert site.get_metrics()["dataservices"] == 4
|
|
40
|
+
|
|
32
41
|
def test_dataset_metric(self, app):
|
|
33
42
|
site = SiteFactory.create(id=app.config["SITE_ID"])
|
|
34
43
|
DatasetFactory.create_batch(2)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: udata
|
|
3
|
-
Version: 10.0.5.
|
|
3
|
+
Version: 10.0.5.dev32826
|
|
4
4
|
Summary: Open data portal
|
|
5
5
|
Home-page: https://github.com/opendatateam/udata
|
|
6
6
|
Author: Opendata Team
|
|
@@ -142,6 +142,7 @@ It is collectively taken care of by members of the
|
|
|
142
142
|
|
|
143
143
|
- Add dataservice csv adapter [#3208](https://github.com/opendatateam/udata/pull/3208)
|
|
144
144
|
- Add url_for for dataservices and mail notifications [#3213](https://github.com/opendatateam/udata/pull/3213)
|
|
145
|
+
- Compute dataservices metrics on org, user and site [#3209](https://github.com/opendatateam/udata/pull/3209)
|
|
145
146
|
|
|
146
147
|
## 10.0.4 (2024-11-29)
|
|
147
148
|
|
|
@@ -84,7 +84,7 @@ udata/core/dataservices/api.py,sha256=LpRc1FNTA6jAOj1KsFme5TxVn4SgcUWlDBWi43H1eZ
|
|
|
84
84
|
udata/core/dataservices/apiv2.py,sha256=XIqJq58uLtxtt52iKYo7Fl0ZXv9Sz72uA7JIGwP8Qos,995
|
|
85
85
|
udata/core/dataservices/csv.py,sha256=pL3j8-_KZWJaX1xFyILXt9wBtXn9Cmov5FUQgd0lNh0,1040
|
|
86
86
|
udata/core/dataservices/factories.py,sha256=LDk8vvG0zhW8J-ZX5LoJQDU13pqeIyjQ05muuMro_eA,876
|
|
87
|
-
udata/core/dataservices/models.py,sha256=
|
|
87
|
+
udata/core/dataservices/models.py,sha256=lTcC0BqnF7bbFi1S2CZ8Qnk1Fk3TjWoHrvheFB5qSg4,9474
|
|
88
88
|
udata/core/dataservices/permissions.py,sha256=98zM_R4v2ZtRubflB7ajaVQz-DVc-pZBMgtKUYy34oI,169
|
|
89
89
|
udata/core/dataservices/rdf.py,sha256=9dWSqONCD5m9HmAU_ndmEmG3F1IuRUOW6MWTmk2GEEI,6792
|
|
90
90
|
udata/core/dataservices/search.py,sha256=htjh3sq3tDuD2qwgRgZsW6ClrHLF6hMwYO4nfBO0Hr4,4171
|
|
@@ -135,10 +135,10 @@ udata/core/jobs/commands.py,sha256=85P5hDPdKMJzV_xbobNT8nqEW71HchPjTUJ-1u5wddE,4
|
|
|
135
135
|
udata/core/jobs/forms.py,sha256=B-B6jXHZsYV-PWAkD8DLoOlh6trv4l1hGZ4HOPm-PD4,1495
|
|
136
136
|
udata/core/jobs/models.py,sha256=xK8T3FCmhtERNbZmh1Tq_ZTO6vojM172tTc0oplNoQ0,1358
|
|
137
137
|
udata/core/metrics/__init__.py,sha256=CB0MhZqNe4gKLBO-6zoGisXK7FtavxWx_Kkkle-INrc,398
|
|
138
|
-
udata/core/metrics/commands.py,sha256=
|
|
138
|
+
udata/core/metrics/commands.py,sha256=hOaF4_kmfG_qJWnCnvEHBkhHwp5mIavVS3X5YfdF0rE,5170
|
|
139
139
|
udata/core/metrics/models.py,sha256=17EDq6GnCI_splm0K_Y12vj5UKwsA6VglykjzQISp00,328
|
|
140
140
|
udata/core/metrics/signals.py,sha256=9mdJW__gR2GJT3huBr6HN2SDhKYJRgNbW9dnh48cAnU,176
|
|
141
|
-
udata/core/metrics/tasks.py,sha256=
|
|
141
|
+
udata/core/metrics/tasks.py,sha256=_3L2g3blndBID66s_CauXEW2bDYathjd4HAAhYNVaOs,827
|
|
142
142
|
udata/core/organization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
143
143
|
udata/core/organization/activities.py,sha256=NY9pDzOVcdo2HZ-ax77lioiDGUZ8jpUguSLt_824saQ,1133
|
|
144
144
|
udata/core/organization/api.py,sha256=Z8QHV8KE53nNv56qJhUq5OLo_F6dFyzxrTT9wJ3VAPo,17927
|
|
@@ -149,8 +149,8 @@ udata/core/organization/constants.py,sha256=fncNtA-vFrRM22K1Wo6iYu9DQZjzknYxH6TI
|
|
|
149
149
|
udata/core/organization/csv.py,sha256=j6BJvXE8_6c-IWOPOg0C-j9KiCushoG1FQxzKVBDj2A,1625
|
|
150
150
|
udata/core/organization/factories.py,sha256=g8ubBcz79xbjvpunZ02IDOakFg1KE6cXjNkE9vFyFAc,624
|
|
151
151
|
udata/core/organization/forms.py,sha256=tscDb1_yOpbTx3ahl8ttA7oDkX9jIyzLc4gOf6WbN3s,3552
|
|
152
|
-
udata/core/organization/metrics.py,sha256=
|
|
153
|
-
udata/core/organization/models.py,sha256=
|
|
152
|
+
udata/core/organization/metrics.py,sha256=90romzr-FhnPKh-6UHBJ1Af2loDa4-8I1iZEgztA160,1062
|
|
153
|
+
udata/core/organization/models.py,sha256=N6WJmH3DDVwm7kXq9Q2PbLzc_BGf1sH5zOnCCYinhms,9365
|
|
154
154
|
udata/core/organization/notifications.py,sha256=i_36-l2y7fOGmnBmr5NDWmGGmrGRaCWbU-6XS4c2wQs,917
|
|
155
155
|
udata/core/organization/permissions.py,sha256=GD-9TMtRppVCPaC1ysXYrONvGJV-ArzAOXm2XMKf9yo,1256
|
|
156
156
|
udata/core/organization/rdf.py,sha256=TF2c85MHAu-TRiHNLxqV_Pw5z6sCgZrNszF9SYspQpk,1936
|
|
@@ -188,7 +188,7 @@ udata/core/site/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
188
188
|
udata/core/site/api.py,sha256=OwlzjgwdrtEemw63cxc4HYEGe5n-oN0sEXCzjt22ebA,4545
|
|
189
189
|
udata/core/site/factories.py,sha256=O0nLFmjrFyemzcs-YwNukq5nqd383KBGrgL5bOQsGbA,378
|
|
190
190
|
udata/core/site/forms.py,sha256=avEZ4rJhibF7sKexqMlKt1qMFiUHNrmJGKjZqcAyjrc,459
|
|
191
|
-
udata/core/site/models.py,sha256=
|
|
191
|
+
udata/core/site/models.py,sha256=5Cu2MJ7N6nr7RUc0DJIUujHU0lNUCoMXC8sDThnZxZg,6477
|
|
192
192
|
udata/core/site/rdf.py,sha256=HIuFNA_cvPLmib171GlRAjFZWThbESoOTbK7aj26EMc,2073
|
|
193
193
|
udata/core/spam/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
194
194
|
udata/core/spam/api.py,sha256=eqmDB4_VF5EM92675FqFmk4Be5TAnu87dmSVtgXKF4A,1740
|
|
@@ -242,8 +242,8 @@ udata/core/user/commands.py,sha256=d33hjgUi8WLA8YFvoq__FJJ_E-fk8f4tWo1iuT8jJvM,3
|
|
|
242
242
|
udata/core/user/constants.py,sha256=aTluhTR2RGZ_cdG7-mkEoT5Ndbg8BNUwwzCOld0aLMY,77
|
|
243
243
|
udata/core/user/factories.py,sha256=kkwaojciLzfuAOeRnL1E7XCcGPo8waAal_G2eeuVc0k,825
|
|
244
244
|
udata/core/user/forms.py,sha256=yotqZozH9ViKuNI8SwdKocDEi7NXVs_XUMpdr_bIe5s,966
|
|
245
|
-
udata/core/user/metrics.py,sha256
|
|
246
|
-
udata/core/user/models.py,sha256
|
|
245
|
+
udata/core/user/metrics.py,sha256=ZuCxYHu-770IsO-KPMhh-ZDkl2hYSVCuHDRvp-H1NfA,1192
|
|
246
|
+
udata/core/user/models.py,sha256=zpP3omla4vTWiPqFUS3ndRT8uAjNwrl_DYh82ILjiHU,10183
|
|
247
247
|
udata/core/user/permissions.py,sha256=Wbd8bLqSjqp9RHJ6ffLBj74L-LECcAhWazuw4Hq-2Gk,435
|
|
248
248
|
udata/core/user/rdf.py,sha256=F6SDX65ECtVOjDtHXI9WMmq33pN7HWb5ntOqe3LQsbQ,834
|
|
249
249
|
udata/core/user/tasks.py,sha256=OXy6bZnr7Mld_VzhMWlNyrkhC4K57IR7H0eSjFDZucU,317
|
|
@@ -623,7 +623,7 @@ udata/tests/api/test_swagger.py,sha256=eE6La9qdTYTIUFevRVPJgtj17Jq_8uOlsDwzCNR0L
|
|
|
623
623
|
udata/tests/api/test_tags_api.py,sha256=36zEBgthVEn6pctJ0kDgPmEaUr-iqRAHeZRcRG2LEXQ,2425
|
|
624
624
|
udata/tests/api/test_topics_api.py,sha256=DfdYQ5ba3H_MKYRe4qjCYN6vaw61GccHJ4usGRIdL-4,9812
|
|
625
625
|
udata/tests/api/test_transfer_api.py,sha256=5cp4-O-nxkxDibsVbsG2lZ2qAsTBX2BpoMPTm8bvT8k,3085
|
|
626
|
-
udata/tests/api/test_user_api.py,sha256=
|
|
626
|
+
udata/tests/api/test_user_api.py,sha256=ltJkmHPbqOSNexIWDPfJhTVZAQSafWvJtbUB9vnNdCQ,15005
|
|
627
627
|
udata/tests/apiv2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
628
628
|
udata/tests/apiv2/test_datasets.py,sha256=c6Keni4GWujVseem-wbvlq92yL4XHY6C1_tD7TlqXWI,20799
|
|
629
629
|
udata/tests/apiv2/test_me_api.py,sha256=RAgu5iKGB3Pp8cDN-427ovly-VOz5MTL4GpPZ1NcVXI,1418
|
|
@@ -672,7 +672,7 @@ udata/tests/frontend/test_markdown.py,sha256=8E0XjByzmsY-RGdF2ESoL9Rklkfz3vcdJWK
|
|
|
672
672
|
udata/tests/organization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
673
673
|
udata/tests/organization/test_csv_adapter.py,sha256=vgTVbPMqKipcdg7wi99pHk9ZNhqtuU-yneEaVW3pZmU,1564
|
|
674
674
|
udata/tests/organization/test_notifications.py,sha256=PGmME5BbYVtcPffeSE1sx47J6iAfm4RDAZIRv_MXDFE,1366
|
|
675
|
-
udata/tests/organization/test_organization_model.py,sha256=
|
|
675
|
+
udata/tests/organization/test_organization_model.py,sha256=R290hX8vQZ0ccA_cAfrSlEojeFZnnf25uFLya7lJTJc,4159
|
|
676
676
|
udata/tests/organization/test_organization_rdf.py,sha256=Uf-OgXV615wLUHfcBTmp9QFuV8VCFmjI4wgvShve-mc,8074
|
|
677
677
|
udata/tests/organization/test_organization_tasks.py,sha256=ehPirwfLqaEcnJ9TLk3jGw3Xh-CVx1WXhvIDFYrT2iQ,2845
|
|
678
678
|
udata/tests/reuse/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -684,7 +684,7 @@ udata/tests/search/test_query.py,sha256=aFZKFTJjlih5csy3eNp4MxL5hg13NqiIsrS5bCTO
|
|
|
684
684
|
udata/tests/search/test_results.py,sha256=vHMkywoW6SQKGy5OtCriYpSo-KbVEdjVzOf8un2mjZE,2043
|
|
685
685
|
udata/tests/site/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
686
686
|
udata/tests/site/test_site_api.py,sha256=rVvaGFAXVy_HilxpFrifJp-ESjPd-oAfvLd5eq9kwyA,2190
|
|
687
|
-
udata/tests/site/test_site_metrics.py,sha256=
|
|
687
|
+
udata/tests/site/test_site_metrics.py,sha256=KxlilOUeAbBta7HwD4mB4ybDWBmRB-3UVrLunvRGoGg,2362
|
|
688
688
|
udata/tests/site/test_site_model.py,sha256=zpRg5jrFPUwhGsljlO5lpCrhJLHiHYoNl28AOw5mI4c,1312
|
|
689
689
|
udata/tests/site/test_site_rdf.py,sha256=zlw7leYc7azfrC6JwDjKiy3wixQzTpo-lDOm-Dg_kXw,13092
|
|
690
690
|
udata/tests/user/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -709,9 +709,9 @@ udata/translations/pt/LC_MESSAGES/udata.mo,sha256=nGPoTSbeRlpCQGuxoJ7Oa650flpeeh
|
|
|
709
709
|
udata/translations/pt/LC_MESSAGES/udata.po,sha256=f-tilnngNNBEIQdXmm3GbdaLlvbwG9YLLwhqyRD5Lh4,44871
|
|
710
710
|
udata/translations/sr/LC_MESSAGES/udata.mo,sha256=8RL_aEe-0QJdgY-TNMy7bS4z8X9IOK8-C076dxcp3As,28163
|
|
711
711
|
udata/translations/sr/LC_MESSAGES/udata.po,sha256=Cp0bKPeIbuAqvFeoey_9ItQbAHIeiFZPnZLa6A6JNbI,51363
|
|
712
|
-
udata-10.0.5.
|
|
713
|
-
udata-10.0.5.
|
|
714
|
-
udata-10.0.5.
|
|
715
|
-
udata-10.0.5.
|
|
716
|
-
udata-10.0.5.
|
|
717
|
-
udata-10.0.5.
|
|
712
|
+
udata-10.0.5.dev32826.dist-info/LICENSE,sha256=V8j_M8nAz8PvAOZQocyRDX7keai8UJ9skgmnwqETmdY,34520
|
|
713
|
+
udata-10.0.5.dev32826.dist-info/METADATA,sha256=2288e8kvmpwyY4VeW4xjJJGF8KbIBr-V1FqJVpakkxI,136458
|
|
714
|
+
udata-10.0.5.dev32826.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
|
|
715
|
+
udata-10.0.5.dev32826.dist-info/entry_points.txt,sha256=3SKiqVy4HUqxf6iWspgMqH8d88Htk6KoLbG1BU-UddQ,451
|
|
716
|
+
udata-10.0.5.dev32826.dist-info/top_level.txt,sha256=39OCg-VWFWOq4gCKnjKNu-s3OwFlZIu_dVH8Gl6ndHw,12
|
|
717
|
+
udata-10.0.5.dev32826.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|