udata 12.0.2.dev16__py3-none-any.whl → 12.0.2.dev17__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/commands/tests/test_fixtures.py +4 -0
- udata/forms/fields.py +3 -3
- udata/forms/widgets.py +2 -2
- udata/harvest/tests/test_dcat_backend.py +1 -10
- udata/mongo/taglist_field.py +3 -3
- udata/settings.py +3 -0
- udata/tags.py +5 -5
- udata/tests/api/test_datasets_api.py +13 -21
- udata/tests/test_tags.py +0 -3
- udata/utils.py +1 -1
- {udata-12.0.2.dev16.dist-info → udata-12.0.2.dev17.dist-info}/METADATA +1 -1
- {udata-12.0.2.dev16.dist-info → udata-12.0.2.dev17.dist-info}/RECORD +16 -16
- {udata-12.0.2.dev16.dist-info → udata-12.0.2.dev17.dist-info}/WHEEL +0 -0
- {udata-12.0.2.dev16.dist-info → udata-12.0.2.dev17.dist-info}/entry_points.txt +0 -0
- {udata-12.0.2.dev16.dist-info → udata-12.0.2.dev17.dist-info}/licenses/LICENSE +0 -0
- {udata-12.0.2.dev16.dist-info → udata-12.0.2.dev17.dist-info}/top_level.txt +0 -0
|
@@ -17,6 +17,7 @@ from udata.core.discussions.factories import DiscussionFactory, MessageDiscussio
|
|
|
17
17
|
from udata.core.organization.factories import OrganizationFactory
|
|
18
18
|
from udata.core.organization.models import Member
|
|
19
19
|
from udata.core.reuse.factories import ReuseFactory
|
|
20
|
+
from udata.core.spam.models import SpamMixin
|
|
20
21
|
from udata.core.user.factories import UserFactory
|
|
21
22
|
|
|
22
23
|
|
|
@@ -108,7 +109,10 @@ class FixturesTest:
|
|
|
108
109
|
|
|
109
110
|
def test_import_fixtures_from_default_file(self, cli):
|
|
110
111
|
"""Test importing fixtures from udata.commands.fixture.DEFAULT_FIXTURE_FILE."""
|
|
112
|
+
# Deactivate spam detection when testing import fixtures
|
|
113
|
+
SpamMixin.detect_spam_enabled = False
|
|
111
114
|
cli("import-fixtures")
|
|
115
|
+
SpamMixin.detect_spam_enabled = True
|
|
112
116
|
assert models.Organization.objects.count() > 0
|
|
113
117
|
assert models.Dataset.objects.count() > 0
|
|
114
118
|
assert models.Reuse.objects.count() > 0
|
udata/forms/fields.py
CHANGED
|
@@ -416,11 +416,11 @@ class TagField(Field):
|
|
|
416
416
|
if not self.data:
|
|
417
417
|
return
|
|
418
418
|
for tag in self.data:
|
|
419
|
-
if not tags.
|
|
419
|
+
if not tags.TAG_MIN_LENGTH <= len(tag) <= tags.TAG_MAX_LENGTH:
|
|
420
420
|
message = _(
|
|
421
421
|
'Tag "%(tag)s" must be between %(min)d and %(max)d characters long.',
|
|
422
|
-
min=tags.
|
|
423
|
-
max=tags.
|
|
422
|
+
min=tags.TAG_MIN_LENGTH,
|
|
423
|
+
max=tags.TAG_MAX_LENGTH,
|
|
424
424
|
tag=tag,
|
|
425
425
|
)
|
|
426
426
|
raise validators.ValidationError(message)
|
udata/forms/widgets.py
CHANGED
|
@@ -191,7 +191,6 @@ class DcatBackendTest:
|
|
|
191
191
|
|
|
192
192
|
def test_harvest_dataservices_keep_attached_associated_datasets(self, rmock):
|
|
193
193
|
"""It should update the existing list of dataservice.datasets and not overwrite existing ones"""
|
|
194
|
-
rmock.get("https://example.com/schemas", json=ResourceSchemaMockData.get_mock_data())
|
|
195
194
|
|
|
196
195
|
filename = "bnodes.xml"
|
|
197
196
|
url = mock_dcat(rmock, filename)
|
|
@@ -359,10 +358,8 @@ class DcatBackendTest:
|
|
|
359
358
|
is None
|
|
360
359
|
)
|
|
361
360
|
|
|
362
|
-
@pytest.mark.options(
|
|
361
|
+
@pytest.mark.options(HARVEST_MAX_ITEMS=2)
|
|
363
362
|
def test_harvest_max_items(self, rmock):
|
|
364
|
-
rmock.get("https://example.com/schemas", json=ResourceSchemaMockData.get_mock_data())
|
|
365
|
-
|
|
366
363
|
filename = "bnodes.xml"
|
|
367
364
|
url = mock_dcat(rmock, filename)
|
|
368
365
|
org = OrganizationFactory()
|
|
@@ -373,10 +370,7 @@ class DcatBackendTest:
|
|
|
373
370
|
assert Dataset.objects.count() == 2
|
|
374
371
|
assert HarvestJob.objects.first().status == "done"
|
|
375
372
|
|
|
376
|
-
@pytest.mark.options(SCHEMA_CATALOG_URL="https://example.com/schemas")
|
|
377
373
|
def test_harvest_spatial(self, rmock):
|
|
378
|
-
rmock.get("https://example.com/schemas", json=ResourceSchemaMockData.get_mock_data())
|
|
379
|
-
|
|
380
374
|
filename = "bnodes.xml"
|
|
381
375
|
url = mock_dcat(rmock, filename)
|
|
382
376
|
org = OrganizationFactory()
|
|
@@ -445,10 +439,7 @@ class DcatBackendTest:
|
|
|
445
439
|
assert resources_by_title["Resource 3-1"].schema.url is None
|
|
446
440
|
assert resources_by_title["Resource 3-1"].schema.version == "2.2.0"
|
|
447
441
|
|
|
448
|
-
@pytest.mark.options(SCHEMA_CATALOG_URL="https://example.com/schemas")
|
|
449
442
|
def test_harvest_inspire_themese(self, rmock):
|
|
450
|
-
rmock.get("https://example.com/schemas", json=ResourceSchemaMockData.get_mock_data())
|
|
451
|
-
|
|
452
443
|
filename = "bnodes.xml"
|
|
453
444
|
url = mock_dcat(rmock, filename)
|
|
454
445
|
org = OrganizationFactory()
|
udata/mongo/taglist_field.py
CHANGED
|
@@ -32,12 +32,12 @@ class TagListField(ListField):
|
|
|
32
32
|
super(TagListField, self).validate(values)
|
|
33
33
|
|
|
34
34
|
for tag in values:
|
|
35
|
-
if not tags.
|
|
35
|
+
if not tags.TAG_MIN_LENGTH <= len(tag) <= tags.TAG_MAX_LENGTH:
|
|
36
36
|
self.error(
|
|
37
37
|
_(
|
|
38
38
|
'Tag "%(tag)s" must be between %(min)d and %(max)d characters long.',
|
|
39
|
-
min=tags.
|
|
40
|
-
max=tags.
|
|
39
|
+
min=tags.TAG_MIN_LENGTH,
|
|
40
|
+
max=tags.TAG_MAX_LENGTH,
|
|
41
41
|
tag=tag,
|
|
42
42
|
)
|
|
43
43
|
)
|
udata/settings.py
CHANGED
|
@@ -658,6 +658,9 @@ class Testing(object):
|
|
|
658
658
|
} # Disables deliverability for email domain name
|
|
659
659
|
PUBLISH_ON_RESOURCE_EVENTS = False
|
|
660
660
|
HARVEST_ACTIVITY_USER_ID = None
|
|
661
|
+
SEARCH_SERVICE_API_URL = None
|
|
662
|
+
CDATA_BASE_URL = None
|
|
663
|
+
SCHEMA_CATALOG_URL = None
|
|
661
664
|
|
|
662
665
|
|
|
663
666
|
class Debug(Defaults):
|
udata/tags.py
CHANGED
|
@@ -2,8 +2,8 @@ from flask import current_app
|
|
|
2
2
|
from slugify import slugify
|
|
3
3
|
from werkzeug.local import LocalProxy
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
TAG_MIN_LENGTH = LocalProxy(lambda: current_app.config["TAG_MIN_LENGTH"])
|
|
6
|
+
TAG_MAX_LENGTH = LocalProxy(lambda: current_app.config["TAG_MAX_LENGTH"])
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
def slug(value: str) -> str:
|
|
@@ -12,10 +12,10 @@ def slug(value: str) -> str:
|
|
|
12
12
|
|
|
13
13
|
def normalize(value: str) -> str:
|
|
14
14
|
value = slug(value)
|
|
15
|
-
if len(value) <
|
|
15
|
+
if len(value) < TAG_MIN_LENGTH:
|
|
16
16
|
value = ""
|
|
17
|
-
elif len(value) >
|
|
18
|
-
value = value[:
|
|
17
|
+
elif len(value) > TAG_MAX_LENGTH:
|
|
18
|
+
value = value[:TAG_MAX_LENGTH]
|
|
19
19
|
return value
|
|
20
20
|
|
|
21
21
|
|
|
@@ -42,7 +42,7 @@ from udata.core.topic.factories import TopicElementDatasetFactory, TopicFactory
|
|
|
42
42
|
from udata.core.user.factories import AdminFactory, UserFactory
|
|
43
43
|
from udata.i18n import gettext as _
|
|
44
44
|
from udata.models import CommunityResource, Dataset, Follow, Member, db
|
|
45
|
-
from udata.tags import
|
|
45
|
+
from udata.tags import TAG_MAX_LENGTH, TAG_MIN_LENGTH
|
|
46
46
|
from udata.tests.features.territories import create_geozones_fixtures
|
|
47
47
|
from udata.tests.helpers import assert200, assert404
|
|
48
48
|
from udata.utils import faker, unique_string
|
|
@@ -632,19 +632,21 @@ class DatasetAPITest(APITestCase):
|
|
|
632
632
|
dataset = Dataset.objects.first()
|
|
633
633
|
self.assertEqual(dataset.tags, sorted(data["tags"]))
|
|
634
634
|
|
|
635
|
+
@pytest.mark.options(TAG_MIN_LENGTH=3, TAG_MAX_LENGTH=10)
|
|
635
636
|
def test_dataset_api_fail_to_create_too_short_tags(self):
|
|
636
637
|
"""It should fail to create a dataset from the API because
|
|
637
638
|
the tag is too short"""
|
|
638
639
|
data = DatasetFactory.as_dict()
|
|
639
|
-
data["tags"] = [unique_string(
|
|
640
|
+
data["tags"] = [unique_string(TAG_MIN_LENGTH - 1)]
|
|
640
641
|
with self.api_user():
|
|
641
642
|
response = self.post(url_for("api.datasets"), data)
|
|
642
643
|
self.assertStatus(response, 400)
|
|
643
644
|
|
|
645
|
+
@pytest.mark.options(TAG_MIN_LENGTH=3, TAG_MAX_LENGTH=10)
|
|
644
646
|
def test_dataset_api_fail_to_create_too_long_tags(self):
|
|
645
647
|
"""Should fail creating a dataset with a tag long"""
|
|
646
648
|
data = DatasetFactory.as_dict()
|
|
647
|
-
data["tags"] = [unique_string(
|
|
649
|
+
data["tags"] = [unique_string(TAG_MAX_LENGTH + 1)]
|
|
648
650
|
with self.api_user():
|
|
649
651
|
response = self.post(url_for("api.datasets"), data)
|
|
650
652
|
self.assertStatus(response, 400)
|
|
@@ -1423,7 +1425,7 @@ class DatasetsFeedAPItest(APITestCase):
|
|
|
1423
1425
|
assert "<h1>" in response.text
|
|
1424
1426
|
assert "<ul>" in response.text
|
|
1425
1427
|
|
|
1426
|
-
@pytest.mark.options(DELAY_BEFORE_APPEARING_IN_RSS_FEED=0)
|
|
1428
|
+
@pytest.mark.options(DELAY_BEFORE_APPEARING_IN_RSS_FEED=0, CDATA_BASE_URL="http://example.org")
|
|
1427
1429
|
def test_feed_id_uri_is_valid(self):
|
|
1428
1430
|
DatasetFactory()
|
|
1429
1431
|
|
|
@@ -1953,35 +1955,25 @@ class DatasetResourceAPITest(APITestCase):
|
|
|
1953
1955
|
self.assertEqual(Follow.objects.following(user).count(), 0)
|
|
1954
1956
|
self.assertEqual(Follow.objects.followers(user).count(), 0)
|
|
1955
1957
|
|
|
1958
|
+
@pytest.mark.options(ALLOWED_RESOURCES_EXTENSIONS=["txt", "html", "kml", "kml-1", "qml", "xml"])
|
|
1956
1959
|
def test_suggest_formats_api(self):
|
|
1957
|
-
"""It should suggest formats"""
|
|
1958
|
-
DatasetFactory(
|
|
1959
|
-
resources=[
|
|
1960
|
-
ResourceFactory(format=f) for f in (faker.word(), faker.word(), "kml", "kml-1")
|
|
1961
|
-
]
|
|
1962
|
-
)
|
|
1963
|
-
|
|
1964
1960
|
response = self.get(url_for("api.suggest_formats"), qs={"q": "km", "size": "5"})
|
|
1965
1961
|
self.assert200(response)
|
|
1966
1962
|
|
|
1967
|
-
self.
|
|
1968
|
-
self.
|
|
1969
|
-
|
|
1970
|
-
for suggestion in response.json:
|
|
1971
|
-
self.assertIn("text", suggestion)
|
|
1972
|
-
self.assertIn("km", suggestion["text"])
|
|
1963
|
+
self.assertEqual(len(response.json), 2)
|
|
1964
|
+
self.assertEqual(response.json[0]["text"], "kml")
|
|
1965
|
+
self.assertEqual(response.json[1]["text"], "kml-1")
|
|
1973
1966
|
|
|
1967
|
+
@pytest.mark.options(ALLOWED_RESOURCES_EXTENSIONS=["txt", "html", "kml", "kml-1", "qml", "xml"])
|
|
1974
1968
|
def test_suggest_format_api_no_match(self):
|
|
1975
|
-
"""It should not provide format suggestion if no match"""
|
|
1976
|
-
DatasetFactory(resources=[ResourceFactory(format=faker.word()) for _ in range(3)])
|
|
1977
|
-
|
|
1978
1969
|
response = self.get(url_for("api.suggest_formats"), qs={"q": "test", "size": "5"})
|
|
1979
1970
|
self.assert200(response)
|
|
1980
1971
|
self.assertEqual(len(response.json), 0)
|
|
1981
1972
|
|
|
1973
|
+
@pytest.mark.options(ALLOWED_RESOURCES_EXTENSIONS=[])
|
|
1982
1974
|
def test_suggest_format_api_empty(self):
|
|
1983
1975
|
"""It should not provide format suggestion if no data"""
|
|
1984
|
-
response = self.get(url_for("api.suggest_formats"), qs={"q": "
|
|
1976
|
+
response = self.get(url_for("api.suggest_formats"), qs={"q": "txt", "size": "5"})
|
|
1985
1977
|
self.assert200(response)
|
|
1986
1978
|
self.assertEqual(len(response.json), 0)
|
|
1987
1979
|
|
udata/tests/test_tags.py
CHANGED
udata/utils.py
CHANGED
|
@@ -10,14 +10,14 @@ udata/mail.py,sha256=Huhx_1QthJkLvuRUuP6jqb5Qq5R4iSmqeEpLVO9ZkQ4,2671
|
|
|
10
10
|
udata/rdf.py,sha256=dQSYVS2NrMRE6fsrbGwXl_roM0k6jtt1JPtMhHxeVGg,20970
|
|
11
11
|
udata/routing.py,sha256=Hnc1ktmKVS-RUHNKw2zYTft2HJ903FhjtlcenQ9igwI,8044
|
|
12
12
|
udata/sentry.py,sha256=ekcxqUSqxfM98TtvCsPaOoX5i2l6PEcYt7kb4l3od-Q,3223
|
|
13
|
-
udata/settings.py,sha256=
|
|
13
|
+
udata/settings.py,sha256=pH56WVRNg4GJkuqIX6gMtEDLNoQh6d5Bpd-ekVMXcOo,21994
|
|
14
14
|
udata/sitemap.py,sha256=oRRWoPI7ZsFFnUAOqGT1YuXFFKHBe8EcRnUCNHD7xjM,979
|
|
15
|
-
udata/tags.py,sha256=
|
|
15
|
+
udata/tags.py,sha256=8R2gJieQtHgj7ZWIckMCkQu39fqzEUehxlYRfSD6bYQ,631
|
|
16
16
|
udata/tasks.py,sha256=Sv01dhvATtq_oHOBp3J1j1VT1HQe0Pab7zxwIeIdKoo,5122
|
|
17
17
|
udata/terms.md,sha256=nFx978tUQ3vTEv6POykXaZvcQ5e_gcvmO4ZgcfbSWXo,187
|
|
18
18
|
udata/tracking.py,sha256=WOcqA1RlHN8EPFuEc2kNau54mec4-pvi-wUFrMXevzg,345
|
|
19
19
|
udata/uris.py,sha256=u05ltyLv4ZolaNMbq58kcLizMXWC10mRpJFYzChUHJU,4440
|
|
20
|
-
udata/utils.py,sha256=
|
|
20
|
+
udata/utils.py,sha256=MiDmUlKtllTtJQo09aez2DsE3iH6CaahBMEDGMgsV70,13243
|
|
21
21
|
udata/worker.py,sha256=K-Wafye5-uXP4kQlffRKws2J9YbJ6m6n2QjcVsY8Nsg,118
|
|
22
22
|
udata/wsgi.py,sha256=MY8en9K9eDluvJYUxTdzqSDoYaDgCVZ69ZcUvxAvgqA,77
|
|
23
23
|
udata/api/__init__.py,sha256=Rs1V6KqWUcZliZnoIrVKtq15Bfb8ZaOVOFuGhcv0SK8,11948
|
|
@@ -47,7 +47,7 @@ udata/commands/serve.py,sha256=dl1ktePSKPPGr-byGDoYQtPScgHibYH8YdV8MHnxVIM,2498
|
|
|
47
47
|
udata/commands/test.py,sha256=0snHTDolowQK-DmAKnhF_mBuDOBMApAbEc35GEiwH0M,893
|
|
48
48
|
udata/commands/worker.py,sha256=bjXQGCwkbZxkcxLMPA2Lr0nkNjXLpGNDMkkQXjwBLPI,3976
|
|
49
49
|
udata/commands/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
50
|
-
udata/commands/tests/test_fixtures.py,sha256=
|
|
50
|
+
udata/commands/tests/test_fixtures.py,sha256=92__mnJ9kSARLnIR64d1C6dYA4hmcvJXuD7DXjIrTxw,5755
|
|
51
51
|
udata/core/__init__.py,sha256=rPkzAmhURfV4x9v2iY_vOakNd75xseYW2jWNIoh-aRg,423
|
|
52
52
|
udata/core/captchetat.py,sha256=PNobWeJiYSgpSZQ9vJpuEvk5xSkAD5sgrWhKcVPbncg,2953
|
|
53
53
|
udata/core/csv.py,sha256=qeRtSQXPT5n5EoWZ3_XfnOTW7ITnEzzHctODPeX63Uk,8543
|
|
@@ -291,9 +291,9 @@ udata/flask_mongoengine/model_form.py,sha256=LI6eqd2zykhron29U280mjt0uZlBpM8GP9N
|
|
|
291
291
|
udata/flask_mongoengine/pagination.py,sha256=AmKZqC6Pe4K8Y2TF1kj5O4gM5_m1NVthtJQVvoayX2M,5592
|
|
292
292
|
udata/flask_mongoengine/wtf.py,sha256=BU2ahk6xkUmM18oaUf539RXFTP04O8S2CvEniYGJ1co,1226
|
|
293
293
|
udata/forms/__init__.py,sha256=WdBOu40HijJi0A6kjUkuT-WEP2YNW3k_ftSzQS_Zl9Y,789
|
|
294
|
-
udata/forms/fields.py,sha256=
|
|
294
|
+
udata/forms/fields.py,sha256=7zPxvgvUG4X3Yt1nm1NvksY9RcgUtNsgPTHiZ8J_rVY,30042
|
|
295
295
|
udata/forms/validators.py,sha256=CRgmB6oow5O8LDR45LajlJJ9HX3RBCI08fapoWMH1vo,2727
|
|
296
|
-
udata/forms/widgets.py,sha256=
|
|
296
|
+
udata/forms/widgets.py,sha256=7qymIpynrQmNlA8hrkcF0RB8eLwOJFkjca_KOZ0zqtE,1332
|
|
297
297
|
udata/frontend/__init__.py,sha256=DkqncR72V9TRlA3QEcpVtCIkUMUlnTytBlJFQ4HfEiA,6454
|
|
298
298
|
udata/frontend/markdown.py,sha256=5kNMVOMLlGvJfpIVONaQv4JT1pi6qWNcnb_BVV_VNJQ,4324
|
|
299
299
|
udata/harvest/__init__.py,sha256=C4y5w4vGb_F9Opy62lzV3eHo4DkNyRgPCq-wsarPXiQ,28
|
|
@@ -324,7 +324,7 @@ udata/harvest/tests/person.jsonld,sha256=I7Ynh-PQlNeD51I1LrCgYOEjhL-WBeb65xzIE_s
|
|
|
324
324
|
udata/harvest/tests/test_actions.py,sha256=d5TTFTbs4PdBydWICqDtfoeo3zLyzcNDzv4aMH9spxo,25881
|
|
325
325
|
udata/harvest/tests/test_api.py,sha256=gSuICkPy3KVRUhHAyudXVf_gLwiB7SoriUp3DLXWDdA,21611
|
|
326
326
|
udata/harvest/tests/test_base_backend.py,sha256=ow8ecGtD836mUqyPWYjkS5nx0STyT5RMLgBdDyOhts4,19233
|
|
327
|
-
udata/harvest/tests/test_dcat_backend.py,sha256=
|
|
327
|
+
udata/harvest/tests/test_dcat_backend.py,sha256=oyAfCLQcxZaBy97gt8hbMI1TJt8cXgsSpvF5_3XUmME,51263
|
|
328
328
|
udata/harvest/tests/test_filters.py,sha256=PT2qopEIoXsqi8MsNDRuhNH7jGXiQo8r0uJrCOUd4aM,2465
|
|
329
329
|
udata/harvest/tests/test_models.py,sha256=f9NRR2_S4oZFgF8qOumg0vv-lpnEBJbI5vNtcwFdSqM,831
|
|
330
330
|
udata/harvest/tests/test_notifications.py,sha256=MMzTzkv-GXMNFeOwAi31rdTsAXyLCLOSna41zOtaJG0,816
|
|
@@ -407,7 +407,7 @@ udata/mongo/errors.py,sha256=SpTMAc_aNIfGkqyXGCbTlIAmYxU86rGM_NtIYaB642c,472
|
|
|
407
407
|
udata/mongo/extras_fields.py,sha256=knb0fwt8eIEOA0jjeUAs9Gmn_cfUNVPuRdGEVcJzE2Y,4218
|
|
408
408
|
udata/mongo/queryset.py,sha256=fXfYkUHsCWAUoub3OR7v825USPv-PQQIHkv4U5FnjYg,3954
|
|
409
409
|
udata/mongo/slug_fields.py,sha256=tEUlwozrdQfF42KR5dxk5PUNSX7zISTIXsSgHxR4YMg,7522
|
|
410
|
-
udata/mongo/taglist_field.py,sha256=
|
|
410
|
+
udata/mongo/taglist_field.py,sha256=d4xUzXNaNgOlhllKNaTIhAiyjPhfOuXU99fYv3ds1u4,1371
|
|
411
411
|
udata/mongo/url_field.py,sha256=UmUr9c5SxDFDpS5QsRTq2pKcCTOr1SoB4UITwNjtuaI,1345
|
|
412
412
|
udata/mongo/uuid_fields.py,sha256=tuQ3zs_BnQHjaiKSIYv43jxvYtOvRLw9nP5CQ3fcMks,482
|
|
413
413
|
udata/notifications/__init__.py,sha256=ZrSpV2zI9bZ0oz8tGsnA8hjDdGeU7YDdgvOLo70aohg,54
|
|
@@ -506,7 +506,7 @@ udata/tests/test_owned.py,sha256=3WGtAGT15RQPf2Swme8xPmflelI3I9rqTkVhSV-wf6E,970
|
|
|
506
506
|
udata/tests/test_rdf.py,sha256=XlUjRFcvTeZx1DTwwHL4pHQTcFDcAuQzaGOY_jJMDL4,4863
|
|
507
507
|
udata/tests/test_routing.py,sha256=jtCZuT229WhGvJU843DtzIrdUXN5f7dym-hwz5dOFLo,10844
|
|
508
508
|
udata/tests/test_storages.py,sha256=OG_PnKtPlZmmhKnbbLrvL-EMEg35wAMsTC76jVEAOLU,9602
|
|
509
|
-
udata/tests/test_tags.py,sha256=
|
|
509
|
+
udata/tests/test_tags.py,sha256=F32v_BjtlrWy2Z6RSKHIBDjPeEak1qsFT4KnAYU4JN8,3669
|
|
510
510
|
udata/tests/test_topics.py,sha256=jbqhlEk-qgfJ8qFegGcfLGP2BTadjeCaza77Lmra9n8,5546
|
|
511
511
|
udata/tests/test_transfer.py,sha256=_0pBwYs3T7OSZ7bO3KmQ81SjwCJyT4EVf8YYHXOkwdk,7779
|
|
512
512
|
udata/tests/test_uris.py,sha256=MxafZ0SyzSNRomVpZnH1ChzWaHOi1MQiXe1gmKnBc6o,8517
|
|
@@ -517,7 +517,7 @@ udata/tests/api/test_auth_api.py,sha256=Mue5EneRp3MbD-ahcXI3YaRNYPcxzHMw-hYpY0Rt
|
|
|
517
517
|
udata/tests/api/test_base_api.py,sha256=2w_vz0eEuq3P3aN-ByvxGc3VZAo7XtgatFfcrzf2uEU,2244
|
|
518
518
|
udata/tests/api/test_contact_points.py,sha256=Sbb486RTN7HVycna_XB60OnURPSNc7xUity26XsYA4k,8766
|
|
519
519
|
udata/tests/api/test_dataservices_api.py,sha256=pB7Kpf0qLhsX4z5hYj3BykYKauEMpESWmrlLlxTOmWw,29221
|
|
520
|
-
udata/tests/api/test_datasets_api.py,sha256=
|
|
520
|
+
udata/tests/api/test_datasets_api.py,sha256=wbGH3g-QYcQOU7-yK4uaNUvCxHNVzncdxlkEbBm1IE4,106516
|
|
521
521
|
udata/tests/api/test_fields.py,sha256=OW85Z5MES5HeWOpapeem8OvR1cIcrqW-xMWpdZO4LZ8,1033
|
|
522
522
|
udata/tests/api/test_follow_api.py,sha256=4nFXG5pZ_Hf2PJ4KEdHJX_uggjc9RpB8v0fidkAcw9I,5792
|
|
523
523
|
udata/tests/api/test_me_api.py,sha256=YPd8zmR3zwJKtpSqz8nY1nOOMyXs66INeBwyhg5D0Us,13846
|
|
@@ -625,9 +625,9 @@ udata/translations/pt/LC_MESSAGES/udata.mo,sha256=nv80xZLfIfUsSOMBcr29L268FDc_Gt
|
|
|
625
625
|
udata/translations/pt/LC_MESSAGES/udata.po,sha256=bUp-7Ray8t8ALgJk3Icw1jmiGIc9_pEJQHiGw_2EU2o,50989
|
|
626
626
|
udata/translations/sr/LC_MESSAGES/udata.mo,sha256=Y_XpUxD074wXc63oJTnoVOyOQ2lmBxl-MrgluZ0Qdw4,27961
|
|
627
627
|
udata/translations/sr/LC_MESSAGES/udata.po,sha256=qh8mrz9AFuVQtXYSSP4QWsXLM_Lv3EHVifHT1NflWXY,57529
|
|
628
|
-
udata-12.0.2.
|
|
629
|
-
udata-12.0.2.
|
|
630
|
-
udata-12.0.2.
|
|
631
|
-
udata-12.0.2.
|
|
632
|
-
udata-12.0.2.
|
|
633
|
-
udata-12.0.2.
|
|
628
|
+
udata-12.0.2.dev17.dist-info/licenses/LICENSE,sha256=V8j_M8nAz8PvAOZQocyRDX7keai8UJ9skgmnwqETmdY,34520
|
|
629
|
+
udata-12.0.2.dev17.dist-info/METADATA,sha256=W7NRlC87KSDeJWJvqiNH6Pex_qw_bGjjEkkWymXsSgw,5174
|
|
630
|
+
udata-12.0.2.dev17.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
631
|
+
udata-12.0.2.dev17.dist-info/entry_points.txt,sha256=v2u12qO11i2lyLNIp136WmLJ-NHT-Kew3Duu8J-AXPM,614
|
|
632
|
+
udata-12.0.2.dev17.dist-info/top_level.txt,sha256=EF6CE6YSHd_og-8LCEA4q25ALUpWVe8D0okOLdMAE3A,6
|
|
633
|
+
udata-12.0.2.dev17.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|