udata 7.0.7.dev28410__py2.py3-none-any.whl → 7.0.7.dev28426__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/badges/tests/test_commands.py +2 -1
- udata/core/dataset/api.py +3 -2
- udata/core/dataset/api_fields.py +2 -5
- udata/core/dataset/apiv2.py +2 -3
- udata/core/dataset/commands.py +5 -5
- udata/core/dataset/constants.py +82 -0
- udata/core/dataset/forms.py +2 -0
- udata/core/dataset/models.py +2 -87
- udata/core/dataset/rdf.py +2 -1
- udata/core/dataset/search.py +2 -3
- udata/core/dataset/tasks.py +2 -1
- udata/core/discussions/constants.py +1 -0
- udata/core/discussions/forms.py +2 -1
- udata/core/discussions/models.py +0 -4
- udata/core/organization/api.py +2 -1
- udata/core/organization/api_fields.py +1 -4
- udata/core/organization/constants.py +29 -0
- udata/core/organization/forms.py +2 -4
- udata/core/organization/models.py +2 -34
- udata/core/organization/tasks.py +2 -1
- udata/core/post/constants.py +9 -0
- udata/core/post/forms.py +2 -1
- udata/core/post/models.py +1 -11
- udata/core/reuse/api.py +2 -1
- udata/core/reuse/api_fields.py +1 -1
- udata/core/reuse/constants.py +37 -0
- udata/core/reuse/factories.py +2 -1
- udata/core/reuse/forms.py +3 -2
- udata/core/reuse/models.py +2 -38
- udata/core/spam/api.py +1 -1
- udata/core/spam/constants.py +5 -0
- udata/core/spam/fields.py +1 -1
- udata/core/spam/models.py +1 -5
- udata/core/spam/tests/test_spam.py +2 -2
- udata/core/spatial/constants.py +9 -0
- udata/core/spatial/models.py +3 -14
- udata/core/user/api_fields.py +1 -3
- udata/core/user/constants.py +2 -0
- udata/core/user/forms.py +1 -1
- udata/core/user/models.py +1 -1
- udata/tests/api/test_datasets_api.py +2 -3
- udata/tests/api/test_reuses_api.py +2 -1
- udata/tests/dataset/test_dataset_model.py +3 -4
- udata/tests/site/test_site_metrics.py +2 -1
- {udata-7.0.7.dev28410.dist-info → udata-7.0.7.dev28426.dist-info}/METADATA +2 -1
- {udata-7.0.7.dev28410.dist-info → udata-7.0.7.dev28426.dist-info}/RECORD +50 -42
- {udata-7.0.7.dev28410.dist-info → udata-7.0.7.dev28426.dist-info}/LICENSE +0 -0
- {udata-7.0.7.dev28410.dist-info → udata-7.0.7.dev28426.dist-info}/WHEEL +0 -0
- {udata-7.0.7.dev28410.dist-info → udata-7.0.7.dev28426.dist-info}/entry_points.txt +0 -0
- {udata-7.0.7.dev28410.dist-info → udata-7.0.7.dev28426.dist-info}/top_level.txt +0 -0
|
@@ -2,7 +2,8 @@ import pytest
|
|
|
2
2
|
|
|
3
3
|
from tempfile import NamedTemporaryFile
|
|
4
4
|
|
|
5
|
-
from udata.models import Badge
|
|
5
|
+
from udata.models import Badge
|
|
6
|
+
from udata.core.organization.constants import CERTIFIED, PUBLIC_SERVICE
|
|
6
7
|
from udata.core.organization.factories import OrganizationFactory
|
|
7
8
|
|
|
8
9
|
|
udata/core/dataset/api.py
CHANGED
|
@@ -57,9 +57,10 @@ from .api_fields import (
|
|
|
57
57
|
from udata.linkchecker.checker import check_resource
|
|
58
58
|
from udata.core.topic.models import Topic
|
|
59
59
|
from .models import (
|
|
60
|
-
Dataset, Resource, Checksum, License,
|
|
61
|
-
CommunityResource,
|
|
60
|
+
Dataset, Resource, Checksum, License,
|
|
61
|
+
CommunityResource, ResourceSchema, get_resource
|
|
62
62
|
)
|
|
63
|
+
from .constants import UPDATE_FREQUENCIES, RESOURCE_TYPES
|
|
63
64
|
from .permissions import DatasetEditPermission, ResourceEditPermission
|
|
64
65
|
from .forms import (
|
|
65
66
|
ResourceForm, DatasetForm, CommunityResourceForm, ResourcesListForm
|
udata/core/dataset/api_fields.py
CHANGED
|
@@ -1,20 +1,17 @@
|
|
|
1
1
|
from udata.api import api, fields, base_reference
|
|
2
2
|
from udata.core.badges.api import badge_fields
|
|
3
3
|
from udata.core.organization.api_fields import org_ref_fields
|
|
4
|
-
from udata.core.organization.
|
|
4
|
+
from udata.core.organization.constants import BIGGEST_LOGO_SIZE
|
|
5
5
|
from udata.core.spatial.api_fields import spatial_coverage_fields
|
|
6
6
|
from udata.core.user.api_fields import user_ref_fields
|
|
7
7
|
from udata.core.contact_point.api_fields import contact_point_fields
|
|
8
8
|
|
|
9
|
-
from .
|
|
9
|
+
from .constants import (
|
|
10
10
|
UPDATE_FREQUENCIES, RESOURCE_FILETYPES, DEFAULT_FREQUENCY,
|
|
11
11
|
CHECKSUM_TYPES, DEFAULT_CHECKSUM_TYPE, DEFAULT_LICENSE, RESOURCE_TYPES
|
|
12
12
|
)
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
BIGGEST_LOGO_SIZE = LOGO_SIZES[0]
|
|
16
|
-
|
|
17
|
-
|
|
18
15
|
checksum_fields = api.model('Checksum', {
|
|
19
16
|
'type': fields.String(
|
|
20
17
|
description='The hashing algorithm used to compute the checksum',
|
udata/core/dataset/apiv2.py
CHANGED
|
@@ -25,9 +25,8 @@ from .api_fields import (
|
|
|
25
25
|
)
|
|
26
26
|
from udata.core.spatial.api_fields import geojson
|
|
27
27
|
from udata.core.contact_point.api_fields import contact_point_fields
|
|
28
|
-
from .models import
|
|
29
|
-
|
|
30
|
-
)
|
|
28
|
+
from .models import Dataset, CommunityResource
|
|
29
|
+
from .constants import UPDATE_FREQUENCIES, DEFAULT_FREQUENCY, DEFAULT_LICENSE
|
|
31
30
|
from .api import ResourceMixin
|
|
32
31
|
from .permissions import DatasetEditPermission, ResourceEditPermission
|
|
33
32
|
from .search import DatasetSearch
|
udata/core/dataset/commands.py
CHANGED
|
@@ -6,12 +6,16 @@ import requests
|
|
|
6
6
|
from bson import ObjectId
|
|
7
7
|
|
|
8
8
|
from udata.commands import cli, success, exit_with_error
|
|
9
|
-
from udata.models import License,
|
|
9
|
+
from udata.models import License, Dataset
|
|
10
|
+
from udata.core.dataset.constants import DEFAULT_LICENSE
|
|
10
11
|
from .tasks import send_frequency_reminder
|
|
11
12
|
from . import actions
|
|
12
13
|
|
|
13
14
|
log = logging.getLogger(__name__)
|
|
14
15
|
|
|
16
|
+
# Use CKAN license group from opendefinition as default license list
|
|
17
|
+
DEFAULT_LICENSE_FILE = 'http://licenses.opendefinition.org/licenses/groups/ckan.json' # noqa
|
|
18
|
+
|
|
15
19
|
FLAGS_MAP = {
|
|
16
20
|
'domain_content': 'domain_content',
|
|
17
21
|
'domain_data': 'domain_data',
|
|
@@ -21,10 +25,6 @@ FLAGS_MAP = {
|
|
|
21
25
|
'is_osi_compliant': 'osi_compliant',
|
|
22
26
|
}
|
|
23
27
|
|
|
24
|
-
# Use CKAN license group from opendefinition as default license list
|
|
25
|
-
DEFAULT_LICENSE_FILE = 'http://licenses.opendefinition.org/licenses/groups/ckan.json' # noqa
|
|
26
|
-
|
|
27
|
-
|
|
28
28
|
@cli.command()
|
|
29
29
|
@click.argument('source', default=DEFAULT_LICENSE_FILE)
|
|
30
30
|
def licenses(source=DEFAULT_LICENSE_FILE):
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
from collections import OrderedDict
|
|
2
|
+
from udata.i18n import lazy_gettext as _
|
|
3
|
+
|
|
4
|
+
#: Udata frequencies with their labels
|
|
5
|
+
#:
|
|
6
|
+
#: See: http://dublincore.org/groups/collections/frequency/
|
|
7
|
+
UPDATE_FREQUENCIES = OrderedDict([ # Dublin core equivalent
|
|
8
|
+
('unknown', _('Unknown')), # N/A
|
|
9
|
+
('punctual', _('Punctual')), # N/A
|
|
10
|
+
('continuous', _('Real time')), # freq:continuous
|
|
11
|
+
('hourly', _('Hourly')), # N/A
|
|
12
|
+
('fourTimesADay', _('Four times a day')), # N/A
|
|
13
|
+
('threeTimesADay', _('Three times a day')), # N/A
|
|
14
|
+
('semidaily', _('Semidaily')), # N/A
|
|
15
|
+
('daily', _('Daily')), # freq:daily
|
|
16
|
+
('fourTimesAWeek', _('Four times a week')), # N/A
|
|
17
|
+
('threeTimesAWeek', _('Three times a week')), # freq:threeTimesAWeek
|
|
18
|
+
('semiweekly', _('Semiweekly')), # freq:semiweekly
|
|
19
|
+
('weekly', _('Weekly')), # freq:weekly
|
|
20
|
+
('biweekly', _('Biweekly')), # freq:bimonthly
|
|
21
|
+
('threeTimesAMonth', _('Three times a month')), # freq:threeTimesAMonth
|
|
22
|
+
('semimonthly', _('Semimonthly')), # freq:semimonthly
|
|
23
|
+
('monthly', _('Monthly')), # freq:monthly
|
|
24
|
+
('bimonthly', _('Bimonthly')), # freq:bimonthly
|
|
25
|
+
('quarterly', _('Quarterly')), # freq:quarterly
|
|
26
|
+
('threeTimesAYear', _('Three times a year')), # freq:threeTimesAYear
|
|
27
|
+
('semiannual', _('Biannual')), # freq:semiannual
|
|
28
|
+
('annual', _('Annual')), # freq:annual
|
|
29
|
+
('biennial', _('Biennial')), # freq:biennial
|
|
30
|
+
('triennial', _('Triennial')), # freq:triennial
|
|
31
|
+
('quinquennial', _('Quinquennial')), # N/A
|
|
32
|
+
('irregular', _('Irregular')), # freq:irregular
|
|
33
|
+
])
|
|
34
|
+
|
|
35
|
+
#: Map legacy frequencies to currents
|
|
36
|
+
LEGACY_FREQUENCIES = {
|
|
37
|
+
'fortnighly': 'biweekly',
|
|
38
|
+
'biannual': 'semiannual',
|
|
39
|
+
'realtime': 'continuous',
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
DEFAULT_FREQUENCY = 'unknown'
|
|
43
|
+
|
|
44
|
+
DEFAULT_LICENSE = {
|
|
45
|
+
'id': 'notspecified',
|
|
46
|
+
'title': "License Not Specified",
|
|
47
|
+
'flags': ["generic"],
|
|
48
|
+
'maintainer': None,
|
|
49
|
+
'url': None,
|
|
50
|
+
'active': True,
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
RESOURCE_TYPES = OrderedDict([
|
|
54
|
+
('main', _('Main file')),
|
|
55
|
+
('documentation', _('Documentation')),
|
|
56
|
+
('update', _('Update')),
|
|
57
|
+
('api', _('API')),
|
|
58
|
+
('code', _('Code repository')),
|
|
59
|
+
('other', _('Other')),
|
|
60
|
+
])
|
|
61
|
+
|
|
62
|
+
RESOURCE_FILETYPE_FILE = 'file'
|
|
63
|
+
RESOURCE_FILETYPES = OrderedDict([
|
|
64
|
+
(RESOURCE_FILETYPE_FILE, _('Uploaded file')),
|
|
65
|
+
('remote', _('Remote file')),
|
|
66
|
+
])
|
|
67
|
+
|
|
68
|
+
CHECKSUM_TYPES = ('sha1', 'sha2', 'sha256', 'md5', 'crc')
|
|
69
|
+
DEFAULT_CHECKSUM_TYPE = 'sha1'
|
|
70
|
+
|
|
71
|
+
PIVOTAL_DATA = 'pivotal-data'
|
|
72
|
+
CLOSED_FORMATS = ('pdf', 'doc', 'docx', 'word', 'xls', 'excel', 'xlsx')
|
|
73
|
+
|
|
74
|
+
# Maximum acceptable Damerau-Levenshtein distance
|
|
75
|
+
# used to guess license
|
|
76
|
+
# (ie. number of allowed character changes)
|
|
77
|
+
MAX_DISTANCE = 2
|
|
78
|
+
|
|
79
|
+
SCHEMA_CACHE_DURATION = 60 * 5 # In seconds
|
|
80
|
+
|
|
81
|
+
TITLE_SIZE_LIMIT = 350
|
|
82
|
+
DESCRIPTION_SIZE_LIMIT = 100000
|
udata/core/dataset/forms.py
CHANGED
|
@@ -8,6 +8,8 @@ from udata.core.spatial.forms import SpatialCoverageField
|
|
|
8
8
|
|
|
9
9
|
from .models import (
|
|
10
10
|
Dataset, Resource, Schema, License, Checksum, CommunityResource,
|
|
11
|
+
)
|
|
12
|
+
from .constants import (
|
|
11
13
|
UPDATE_FREQUENCIES, DEFAULT_FREQUENCY, RESOURCE_FILETYPES, CHECKSUM_TYPES,
|
|
12
14
|
LEGACY_FREQUENCIES, RESOURCE_TYPES, TITLE_SIZE_LIMIT, DESCRIPTION_SIZE_LIMIT,
|
|
13
15
|
)
|
udata/core/dataset/models.py
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
|
|
3
3
|
from datetime import datetime, timedelta
|
|
4
|
-
from collections import OrderedDict
|
|
5
4
|
from urllib.parse import urlparse
|
|
6
5
|
|
|
7
6
|
from blinker import signal
|
|
@@ -24,101 +23,17 @@ from udata.i18n import lazy_gettext as _
|
|
|
24
23
|
from udata.utils import get_by, hash_url, to_naive_datetime
|
|
25
24
|
from udata.uris import ValidationError, endpoint_for
|
|
26
25
|
from udata.uris import validate as validate_url
|
|
26
|
+
from .constants import CHECKSUM_TYPES, CLOSED_FORMATS, DEFAULT_LICENSE, LEGACY_FREQUENCIES, MAX_DISTANCE, PIVOTAL_DATA, RESOURCE_FILETYPES, RESOURCE_TYPES, SCHEMA_CACHE_DURATION, UPDATE_FREQUENCIES
|
|
27
27
|
|
|
28
28
|
from .preview import get_preview_url
|
|
29
29
|
from .exceptions import (
|
|
30
30
|
SchemasCatalogNotFoundException, SchemasCacheUnavailableException
|
|
31
31
|
)
|
|
32
32
|
|
|
33
|
-
__all__ = (
|
|
34
|
-
'License', 'Resource', 'Schema', 'Dataset', 'Checksum', 'CommunityResource',
|
|
35
|
-
'UPDATE_FREQUENCIES', 'LEGACY_FREQUENCIES', 'RESOURCE_FILETYPES',
|
|
36
|
-
'PIVOTAL_DATA', 'DEFAULT_LICENSE', 'RESOURCE_TYPES',
|
|
37
|
-
'ResourceSchema'
|
|
38
|
-
)
|
|
33
|
+
__all__ = ('License', 'Resource', 'Schema', 'Dataset', 'Checksum', 'CommunityResource', 'ResourceSchema')
|
|
39
34
|
|
|
40
35
|
log = logging.getLogger(__name__)
|
|
41
36
|
|
|
42
|
-
#: Udata frequencies with their labels
|
|
43
|
-
#:
|
|
44
|
-
#: See: http://dublincore.org/groups/collections/frequency/
|
|
45
|
-
UPDATE_FREQUENCIES = OrderedDict([ # Dublin core equivalent
|
|
46
|
-
('unknown', _('Unknown')), # N/A
|
|
47
|
-
('punctual', _('Punctual')), # N/A
|
|
48
|
-
('continuous', _('Real time')), # freq:continuous
|
|
49
|
-
('hourly', _('Hourly')), # N/A
|
|
50
|
-
('fourTimesADay', _('Four times a day')), # N/A
|
|
51
|
-
('threeTimesADay', _('Three times a day')), # N/A
|
|
52
|
-
('semidaily', _('Semidaily')), # N/A
|
|
53
|
-
('daily', _('Daily')), # freq:daily
|
|
54
|
-
('fourTimesAWeek', _('Four times a week')), # N/A
|
|
55
|
-
('threeTimesAWeek', _('Three times a week')), # freq:threeTimesAWeek
|
|
56
|
-
('semiweekly', _('Semiweekly')), # freq:semiweekly
|
|
57
|
-
('weekly', _('Weekly')), # freq:weekly
|
|
58
|
-
('biweekly', _('Biweekly')), # freq:bimonthly
|
|
59
|
-
('threeTimesAMonth', _('Three times a month')), # freq:threeTimesAMonth
|
|
60
|
-
('semimonthly', _('Semimonthly')), # freq:semimonthly
|
|
61
|
-
('monthly', _('Monthly')), # freq:monthly
|
|
62
|
-
('bimonthly', _('Bimonthly')), # freq:bimonthly
|
|
63
|
-
('quarterly', _('Quarterly')), # freq:quarterly
|
|
64
|
-
('threeTimesAYear', _('Three times a year')), # freq:threeTimesAYear
|
|
65
|
-
('semiannual', _('Biannual')), # freq:semiannual
|
|
66
|
-
('annual', _('Annual')), # freq:annual
|
|
67
|
-
('biennial', _('Biennial')), # freq:biennial
|
|
68
|
-
('triennial', _('Triennial')), # freq:triennial
|
|
69
|
-
('quinquennial', _('Quinquennial')), # N/A
|
|
70
|
-
('irregular', _('Irregular')), # freq:irregular
|
|
71
|
-
])
|
|
72
|
-
|
|
73
|
-
#: Map legacy frequencies to currents
|
|
74
|
-
LEGACY_FREQUENCIES = {
|
|
75
|
-
'fortnighly': 'biweekly',
|
|
76
|
-
'biannual': 'semiannual',
|
|
77
|
-
'realtime': 'continuous',
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
DEFAULT_FREQUENCY = 'unknown'
|
|
81
|
-
|
|
82
|
-
DEFAULT_LICENSE = {
|
|
83
|
-
'id': 'notspecified',
|
|
84
|
-
'title': "License Not Specified",
|
|
85
|
-
'flags': ["generic"],
|
|
86
|
-
'maintainer': None,
|
|
87
|
-
'url': None,
|
|
88
|
-
'active': True,
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
RESOURCE_TYPES = OrderedDict([
|
|
92
|
-
('main', _('Main file')),
|
|
93
|
-
('documentation', _('Documentation')),
|
|
94
|
-
('update', _('Update')),
|
|
95
|
-
('api', _('API')),
|
|
96
|
-
('code', _('Code repository')),
|
|
97
|
-
('other', _('Other')),
|
|
98
|
-
])
|
|
99
|
-
|
|
100
|
-
RESOURCE_FILETYPE_FILE = 'file'
|
|
101
|
-
RESOURCE_FILETYPES = OrderedDict([
|
|
102
|
-
(RESOURCE_FILETYPE_FILE, _('Uploaded file')),
|
|
103
|
-
('remote', _('Remote file')),
|
|
104
|
-
])
|
|
105
|
-
|
|
106
|
-
CHECKSUM_TYPES = ('sha1', 'sha2', 'sha256', 'md5', 'crc')
|
|
107
|
-
DEFAULT_CHECKSUM_TYPE = 'sha1'
|
|
108
|
-
|
|
109
|
-
PIVOTAL_DATA = 'pivotal-data'
|
|
110
|
-
CLOSED_FORMATS = ('pdf', 'doc', 'docx', 'word', 'xls', 'excel', 'xlsx')
|
|
111
|
-
|
|
112
|
-
# Maximum acceptable Damerau-Levenshtein distance
|
|
113
|
-
# used to guess license
|
|
114
|
-
# (ie. number of allowed character changes)
|
|
115
|
-
MAX_DISTANCE = 2
|
|
116
|
-
|
|
117
|
-
SCHEMA_CACHE_DURATION = 60 * 5 # In seconds
|
|
118
|
-
|
|
119
|
-
TITLE_SIZE_LIMIT = 350
|
|
120
|
-
DESCRIPTION_SIZE_LIMIT = 100000
|
|
121
|
-
|
|
122
37
|
|
|
123
38
|
def get_json_ld_extra(key, value):
|
|
124
39
|
'''Serialize an extras key, value pair into JSON-LD'''
|
udata/core/dataset/rdf.py
CHANGED
|
@@ -28,7 +28,8 @@ from udata.rdf import (
|
|
|
28
28
|
from udata.utils import get_by, safe_unicode
|
|
29
29
|
from udata.uris import endpoint_for
|
|
30
30
|
|
|
31
|
-
from .models import Dataset, Resource, Checksum, License
|
|
31
|
+
from .models import Dataset, Resource, Checksum, License
|
|
32
|
+
from .constants import UPDATE_FREQUENCIES
|
|
32
33
|
|
|
33
34
|
log = logging.getLogger(__name__)
|
|
34
35
|
|
udata/core/dataset/search.py
CHANGED
|
@@ -7,9 +7,8 @@ from udata.search import (
|
|
|
7
7
|
ModelTermsFilter, BoolFilter, Filter,
|
|
8
8
|
TemporalCoverageFilter
|
|
9
9
|
)
|
|
10
|
-
from udata.core.spatial.models import
|
|
11
|
-
|
|
12
|
-
)
|
|
10
|
+
from udata.core.spatial.models import admin_levels
|
|
11
|
+
from udata.core.spatial.constants import ADMIN_LEVEL_MAX
|
|
13
12
|
from udata.core.dataset.api import DatasetApiParser, DEFAULT_SORTING
|
|
14
13
|
from udata.utils import to_iso_datetime
|
|
15
14
|
|
udata/core/dataset/tasks.py
CHANGED
|
@@ -17,7 +17,8 @@ from udata.models import (Follow, Discussion, Activity, Topic,
|
|
|
17
17
|
Organization, Transfer, db)
|
|
18
18
|
from udata.tasks import job
|
|
19
19
|
|
|
20
|
-
from .models import Dataset, Resource, CommunityResource,
|
|
20
|
+
from .models import Dataset, Resource, CommunityResource, Checksum
|
|
21
|
+
from .constants import UPDATE_FREQUENCIES
|
|
21
22
|
|
|
22
23
|
log = get_task_logger(__name__)
|
|
23
24
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
COMMENT_SIZE_LIMIT = 50000
|
udata/core/discussions/forms.py
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
from udata.forms import ModelForm, Form, fields, validators
|
|
2
2
|
from udata.i18n import lazy_gettext as _
|
|
3
3
|
|
|
4
|
-
from .models import Discussion
|
|
4
|
+
from .models import Discussion
|
|
5
|
+
from .constants import COMMENT_SIZE_LIMIT
|
|
5
6
|
|
|
6
7
|
__all__ = ('DiscussionCreateForm', 'DiscussionCommentForm')
|
|
7
8
|
|
udata/core/discussions/models.py
CHANGED
|
@@ -5,13 +5,9 @@ from udata.models import db
|
|
|
5
5
|
from udata.core.spam.models import SpamMixin, spam_protected
|
|
6
6
|
from .signals import (on_new_discussion, on_discussion_closed, on_new_discussion_comment)
|
|
7
7
|
|
|
8
|
-
|
|
9
8
|
log = logging.getLogger(__name__)
|
|
10
9
|
|
|
11
10
|
|
|
12
|
-
COMMENT_SIZE_LIMIT = 50000
|
|
13
|
-
|
|
14
|
-
|
|
15
11
|
class Message(SpamMixin, db.EmbeddedDocument):
|
|
16
12
|
content = db.StringField(required=True)
|
|
17
13
|
posted_on = db.DateTimeField(default=datetime.utcnow, required=True)
|
udata/core/organization/api.py
CHANGED
|
@@ -16,7 +16,8 @@ from udata.rdf import (
|
|
|
16
16
|
from .forms import (
|
|
17
17
|
OrganizationForm, MembershipRequestForm, MembershipRefuseForm, MemberForm
|
|
18
18
|
)
|
|
19
|
-
from .models import Organization, MembershipRequest, Member
|
|
19
|
+
from .models import Organization, MembershipRequest, Member
|
|
20
|
+
from .constants import ORG_ROLES
|
|
20
21
|
from .permissions import (
|
|
21
22
|
EditOrganizationPermission, OrganizationPrivatePermission
|
|
22
23
|
)
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
from udata.api import api, fields, base_reference
|
|
2
2
|
from udata.core.badges.api import badge_fields
|
|
3
3
|
|
|
4
|
-
from .
|
|
5
|
-
|
|
6
|
-
BIGGEST_LOGO_SIZE = LOGO_SIZES[0]
|
|
7
|
-
|
|
4
|
+
from .constants import ORG_ROLES, DEFAULT_ROLE, MEMBERSHIP_STATUS, BIGGEST_LOGO_SIZE
|
|
8
5
|
|
|
9
6
|
org_ref_fields = api.inherit('OrganizationReference', base_reference, {
|
|
10
7
|
'name': fields.String(description='The organization name', readonly=True),
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
from udata.i18n import lazy_gettext as _
|
|
2
|
+
|
|
3
|
+
ORG_ROLES = {
|
|
4
|
+
'admin': _('Administrator'),
|
|
5
|
+
'editor': _('Editor'),
|
|
6
|
+
}
|
|
7
|
+
DEFAULT_ROLE = 'editor'
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
MEMBERSHIP_STATUS = {
|
|
11
|
+
'pending': _('Pending'),
|
|
12
|
+
'accepted': _('Accepted'),
|
|
13
|
+
'refused': _('Refused'),
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
LOGO_MAX_SIZE = 500
|
|
17
|
+
LOGO_SIZES = [100, 60, 25]
|
|
18
|
+
BIGGEST_LOGO_SIZE = LOGO_SIZES[0]
|
|
19
|
+
|
|
20
|
+
PUBLIC_SERVICE = 'public-service'
|
|
21
|
+
CERTIFIED = 'certified'
|
|
22
|
+
ASSOCIATION = 'Association'
|
|
23
|
+
COMPANY = 'Company'
|
|
24
|
+
LOCAL_AUTHORITY = 'Local authority'
|
|
25
|
+
|
|
26
|
+
TITLE_SIZE_LIMIT = 350
|
|
27
|
+
DESCRIPTION_SIZE_LIMIT = 100000
|
|
28
|
+
|
|
29
|
+
ORG_BID_SIZE_LIMIT = 14
|
udata/core/organization/forms.py
CHANGED
|
@@ -4,10 +4,8 @@ from udata.auth import current_user
|
|
|
4
4
|
from udata.forms import Form, ModelForm, fields, validators
|
|
5
5
|
from udata.i18n import lazy_gettext as _
|
|
6
6
|
|
|
7
|
-
from .models import
|
|
8
|
-
|
|
9
|
-
TITLE_SIZE_LIMIT, DESCRIPTION_SIZE_LIMIT
|
|
10
|
-
)
|
|
7
|
+
from .models import Organization, MembershipRequest, Member
|
|
8
|
+
from .constants import DESCRIPTION_SIZE_LIMIT, LOGO_SIZES, ORG_ROLES, TITLE_SIZE_LIMIT
|
|
11
9
|
|
|
12
10
|
__all__ = (
|
|
13
11
|
'OrganizationForm',
|
|
@@ -10,42 +10,10 @@ from udata.frontend.markdown import mdstrip
|
|
|
10
10
|
from udata.models import db, BadgeMixin, WithMetrics
|
|
11
11
|
from udata.i18n import lazy_gettext as _
|
|
12
12
|
from udata.uris import endpoint_for
|
|
13
|
+
from .constants import ASSOCIATION, CERTIFIED, COMPANY, LOCAL_AUTHORITY, LOGO_SIZES, ORG_BID_SIZE_LIMIT, ORG_ROLES, DEFAULT_ROLE, MEMBERSHIP_STATUS, LOGO_MAX_SIZE, PUBLIC_SERVICE
|
|
13
14
|
|
|
14
15
|
|
|
15
|
-
__all__ = (
|
|
16
|
-
'Organization', 'Team', 'Member', 'MembershipRequest',
|
|
17
|
-
'ORG_ROLES', 'MEMBERSHIP_STATUS', 'PUBLIC_SERVICE', 'CERTIFIED',
|
|
18
|
-
'ASSOCIATION', 'COMPANY', 'LOCAL_AUTHORITY'
|
|
19
|
-
)
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
ORG_ROLES = {
|
|
23
|
-
'admin': _('Administrator'),
|
|
24
|
-
'editor': _('Editor'),
|
|
25
|
-
}
|
|
26
|
-
DEFAULT_ROLE = 'editor'
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
MEMBERSHIP_STATUS = {
|
|
30
|
-
'pending': _('Pending'),
|
|
31
|
-
'accepted': _('Accepted'),
|
|
32
|
-
'refused': _('Refused'),
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
LOGO_MAX_SIZE = 500
|
|
36
|
-
LOGO_SIZES = [100, 60, 25]
|
|
37
|
-
|
|
38
|
-
PUBLIC_SERVICE = 'public-service'
|
|
39
|
-
CERTIFIED = 'certified'
|
|
40
|
-
ASSOCIATION = 'Association'
|
|
41
|
-
COMPANY = 'Company'
|
|
42
|
-
LOCAL_AUTHORITY = 'Local authority'
|
|
43
|
-
|
|
44
|
-
TITLE_SIZE_LIMIT = 350
|
|
45
|
-
DESCRIPTION_SIZE_LIMIT = 100000
|
|
46
|
-
|
|
47
|
-
ORG_BID_SIZE_LIMIT = 14
|
|
48
|
-
|
|
16
|
+
__all__ = ('Organization', 'Team', 'Member', 'MembershipRequest')
|
|
49
17
|
|
|
50
18
|
class Team(db.EmbeddedDocument):
|
|
51
19
|
name = db.StringField(required=True)
|
udata/core/organization/tasks.py
CHANGED
|
@@ -7,7 +7,8 @@ from udata.tasks import job, task, get_logger
|
|
|
7
7
|
|
|
8
8
|
from udata.core.badges.tasks import notify_new_badge
|
|
9
9
|
|
|
10
|
-
from .models import Organization
|
|
10
|
+
from .models import Organization
|
|
11
|
+
from .constants import CERTIFIED, PUBLIC_SERVICE, COMPANY, ASSOCIATION, LOCAL_AUTHORITY
|
|
11
12
|
|
|
12
13
|
log = get_logger(__name__)
|
|
13
14
|
|
udata/core/post/forms.py
CHANGED
udata/core/post/models.py
CHANGED
|
@@ -1,23 +1,13 @@
|
|
|
1
|
-
from collections import OrderedDict
|
|
2
|
-
|
|
3
1
|
from flask import url_for
|
|
4
2
|
|
|
5
3
|
from udata.core.storages import images, default_image_basename
|
|
6
4
|
from udata.i18n import lazy_gettext as _
|
|
7
5
|
from udata.models import db
|
|
8
|
-
|
|
6
|
+
from .constants import BODY_TYPES, IMAGE_SIZES
|
|
9
7
|
|
|
10
8
|
__all__ = ('Post', )
|
|
11
9
|
|
|
12
10
|
|
|
13
|
-
IMAGE_SIZES = [400, 100, 50]
|
|
14
|
-
|
|
15
|
-
BODY_TYPES = OrderedDict([
|
|
16
|
-
('markdown', _('Markdown')),
|
|
17
|
-
('html', _('HTML')),
|
|
18
|
-
])
|
|
19
|
-
|
|
20
|
-
|
|
21
11
|
class PostQuerySet(db.BaseQuerySet):
|
|
22
12
|
def published(self):
|
|
23
13
|
return self(published__ne=None).order_by('-published')
|
udata/core/reuse/api.py
CHANGED
|
@@ -23,7 +23,8 @@ from .api_fields import (
|
|
|
23
23
|
reuse_topic_fields
|
|
24
24
|
)
|
|
25
25
|
from .forms import ReuseForm
|
|
26
|
-
from .models import Reuse
|
|
26
|
+
from .models import Reuse
|
|
27
|
+
from .constants import REUSE_TYPES, REUSE_TOPICS
|
|
27
28
|
from .permissions import ReuseEditPermission
|
|
28
29
|
|
|
29
30
|
|
udata/core/reuse/api_fields.py
CHANGED
|
@@ -5,7 +5,7 @@ from udata.core.dataset.api_fields import dataset_fields
|
|
|
5
5
|
from udata.core.organization.api_fields import org_ref_fields
|
|
6
6
|
from udata.core.user.api_fields import user_ref_fields
|
|
7
7
|
|
|
8
|
-
from .
|
|
8
|
+
from .constants import REUSE_TOPICS, REUSE_TYPES, IMAGE_SIZES
|
|
9
9
|
|
|
10
10
|
BIGGEST_IMAGE_SIZE = IMAGE_SIZES[0]
|
|
11
11
|
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
from udata.i18n import lazy_gettext as _
|
|
2
|
+
|
|
3
|
+
REUSE_TYPES = {
|
|
4
|
+
'api': _('API'),
|
|
5
|
+
'application': _('Application'),
|
|
6
|
+
'idea': _('Idea'),
|
|
7
|
+
'news_article': _('News Article'),
|
|
8
|
+
'paper': _('Paper'),
|
|
9
|
+
'post': _('Post'),
|
|
10
|
+
'visualization': _('Visualization'),
|
|
11
|
+
'hardware': _('Connected device'),
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
REUSE_TOPICS = {
|
|
15
|
+
'health': _('Health'),
|
|
16
|
+
'transport_and_mobility': _('Transport and mobility'),
|
|
17
|
+
'housing_and_development': _('Housing and development'),
|
|
18
|
+
'food_and_agriculture': _('Food and agriculture'),
|
|
19
|
+
'culture_and_recreation': _('Culture and recreation'),
|
|
20
|
+
'economy_and_business': _('Economy and business'),
|
|
21
|
+
'environment_and_energy': _('Environment and energy'),
|
|
22
|
+
'work_and_training': _('Work and training'),
|
|
23
|
+
'politics_and_public_life': _('Politics and public life'),
|
|
24
|
+
'safety_and_security': _('Safety and security'),
|
|
25
|
+
'education_and_research': _('Education and research'),
|
|
26
|
+
'society_and_demography': _('Society and demography'),
|
|
27
|
+
'law_and_justice': _('Law and justice'),
|
|
28
|
+
'open_data_tools': _('Open data tools'),
|
|
29
|
+
'others': _('Others'),
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
IMAGE_SIZES = [500, 100, 50, 25]
|
|
34
|
+
IMAGE_MAX_SIZE = 800
|
|
35
|
+
|
|
36
|
+
TITLE_SIZE_LIMIT = 350
|
|
37
|
+
DESCRIPTION_SIZE_LIMIT = 100000
|
udata/core/reuse/factories.py
CHANGED
|
@@ -6,7 +6,8 @@ from udata.core.dataset.factories import DatasetFactory
|
|
|
6
6
|
from udata.factories import ModelFactory
|
|
7
7
|
from udata.utils import faker
|
|
8
8
|
|
|
9
|
-
from .models import Reuse
|
|
9
|
+
from .models import Reuse
|
|
10
|
+
from .constants import REUSE_TYPES, REUSE_TOPICS
|
|
10
11
|
|
|
11
12
|
|
|
12
13
|
class ReuseFactory(ModelFactory):
|
udata/core/reuse/forms.py
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
from udata.forms import ModelForm, fields, validators
|
|
2
2
|
from udata.i18n import lazy_gettext as _
|
|
3
|
-
from udata.models import Reuse
|
|
3
|
+
from udata.models import Reuse
|
|
4
|
+
from udata.core.reuse.constants import REUSE_TYPES, REUSE_TOPICS
|
|
4
5
|
|
|
5
|
-
from .
|
|
6
|
+
from .constants import IMAGE_SIZES, TITLE_SIZE_LIMIT, DESCRIPTION_SIZE_LIMIT
|
|
6
7
|
|
|
7
8
|
__all__ = ('ReuseForm', )
|
|
8
9
|
|
udata/core/reuse/models.py
CHANGED
|
@@ -8,45 +8,9 @@ from udata.i18n import lazy_gettext as _
|
|
|
8
8
|
from udata.models import db, BadgeMixin, WithMetrics
|
|
9
9
|
from udata.utils import hash_url
|
|
10
10
|
from udata.uris import endpoint_for
|
|
11
|
+
from .constants import IMAGE_MAX_SIZE, IMAGE_SIZES, REUSE_TOPICS, REUSE_TYPES
|
|
11
12
|
|
|
12
|
-
__all__ = ('Reuse',
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
REUSE_TYPES = {
|
|
16
|
-
'api': _('API'),
|
|
17
|
-
'application': _('Application'),
|
|
18
|
-
'idea': _('Idea'),
|
|
19
|
-
'news_article': _('News Article'),
|
|
20
|
-
'paper': _('Paper'),
|
|
21
|
-
'post': _('Post'),
|
|
22
|
-
'visualization': _('Visualization'),
|
|
23
|
-
'hardware': _('Connected device'),
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
REUSE_TOPICS = {
|
|
27
|
-
'health': _('Health'),
|
|
28
|
-
'transport_and_mobility': _('Transport and mobility'),
|
|
29
|
-
'housing_and_development': _('Housing and development'),
|
|
30
|
-
'food_and_agriculture': _('Food and agriculture'),
|
|
31
|
-
'culture_and_recreation': _('Culture and recreation'),
|
|
32
|
-
'economy_and_business': _('Economy and business'),
|
|
33
|
-
'environment_and_energy': _('Environment and energy'),
|
|
34
|
-
'work_and_training': _('Work and training'),
|
|
35
|
-
'politics_and_public_life': _('Politics and public life'),
|
|
36
|
-
'safety_and_security': _('Safety and security'),
|
|
37
|
-
'education_and_research': _('Education and research'),
|
|
38
|
-
'society_and_demography': _('Society and demography'),
|
|
39
|
-
'law_and_justice': _('Law and justice'),
|
|
40
|
-
'open_data_tools': _('Open data tools'),
|
|
41
|
-
'others': _('Others'),
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
IMAGE_SIZES = [500, 100, 50, 25]
|
|
46
|
-
IMAGE_MAX_SIZE = 800
|
|
47
|
-
|
|
48
|
-
TITLE_SIZE_LIMIT = 350
|
|
49
|
-
DESCRIPTION_SIZE_LIMIT = 100000
|
|
13
|
+
__all__ = ('Reuse',)
|
|
50
14
|
|
|
51
15
|
|
|
52
16
|
class ReuseQuerySet(db.OwnedQuerySet):
|
udata/core/spam/api.py
CHANGED
|
@@ -4,7 +4,7 @@ from udata.api import api, API
|
|
|
4
4
|
from udata.auth import admin_permission
|
|
5
5
|
from udata.core.discussions.models import Discussion
|
|
6
6
|
from udata.core.spam.fields import potential_spam_fields
|
|
7
|
-
from udata.core.spam.
|
|
7
|
+
from udata.core.spam.constants import POTENTIAL_SPAM
|
|
8
8
|
from udata.utils import id_or_404
|
|
9
9
|
|
|
10
10
|
|
udata/core/spam/fields.py
CHANGED
udata/core/spam/models.py
CHANGED
|
@@ -5,11 +5,7 @@ from udata.models import db
|
|
|
5
5
|
from .signals import on_new_potential_spam
|
|
6
6
|
from mongoengine import signals
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
POTENTIAL_SPAM = 'potential_spam'
|
|
10
|
-
NO_SPAM = 'no_spam'
|
|
11
|
-
|
|
12
|
-
SPAM_STATUS_CHOICES = [NOT_CHECKED, POTENTIAL_SPAM, NO_SPAM]
|
|
8
|
+
from .constants import NO_SPAM, POTENTIAL_SPAM, SPAM_STATUS_CHOICES, NOT_CHECKED
|
|
13
9
|
|
|
14
10
|
|
|
15
11
|
class SpamInfo(db.EmbeddedDocument):
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
import pytest
|
|
3
3
|
from udata.tests import TestCase
|
|
4
|
-
from udata.tests.helpers import assert_not_emit
|
|
5
4
|
from udata.models import db
|
|
6
5
|
|
|
7
|
-
from ..models import
|
|
6
|
+
from ..models import SpamMixin
|
|
7
|
+
from ..constants import POTENTIAL_SPAM
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
log = logging.getLogger(__name__)
|
udata/core/spatial/models.py
CHANGED
|
@@ -4,25 +4,14 @@ from werkzeug.utils import cached_property
|
|
|
4
4
|
|
|
5
5
|
from udata.app import cache
|
|
6
6
|
from udata.uris import endpoint_for
|
|
7
|
-
from udata.i18n import _,
|
|
7
|
+
from udata.i18n import _, get_locale, language
|
|
8
8
|
from udata.models import db
|
|
9
9
|
|
|
10
10
|
from . import geoids
|
|
11
|
+
from .constants import ADMIN_LEVEL_MIN, ADMIN_LEVEL_MAX, BASE_GRANULARITIES
|
|
11
12
|
|
|
12
13
|
|
|
13
|
-
__all__ = (
|
|
14
|
-
'GeoLevel', 'GeoZone', 'SpatialCoverage', 'BASE_GRANULARITIES',
|
|
15
|
-
'spatial_granularities',
|
|
16
|
-
)
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
BASE_GRANULARITIES = [
|
|
20
|
-
('poi', L_('POI')),
|
|
21
|
-
('other', L_('Other')),
|
|
22
|
-
]
|
|
23
|
-
|
|
24
|
-
ADMIN_LEVEL_MIN = 1
|
|
25
|
-
ADMIN_LEVEL_MAX = 110
|
|
14
|
+
__all__ = ('GeoLevel', 'GeoZone', 'SpatialCoverage', 'spatial_granularities')
|
|
26
15
|
|
|
27
16
|
|
|
28
17
|
class GeoLevel(db.Document):
|
udata/core/user/api_fields.py
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
from udata.auth.helpers import current_user_is_admin_or_self
|
|
2
2
|
from udata.api import api, fields, base_reference
|
|
3
3
|
|
|
4
|
-
from .
|
|
5
|
-
|
|
6
|
-
BIGGEST_AVATAR_SIZE = AVATAR_SIZES[0]
|
|
4
|
+
from .constants import BIGGEST_AVATAR_SIZE
|
|
7
5
|
|
|
8
6
|
|
|
9
7
|
user_ref_fields = api.inherit('UserReference', base_reference, {
|
udata/core/user/forms.py
CHANGED
udata/core/user/models.py
CHANGED
|
@@ -19,10 +19,10 @@ from udata.i18n import lazy_gettext as _
|
|
|
19
19
|
from udata.models import db, WithMetrics, Follow
|
|
20
20
|
from udata.core.discussions.models import Discussion
|
|
21
21
|
from udata.core.storages import avatars, default_image_basename
|
|
22
|
+
from .constants import AVATAR_SIZES
|
|
22
23
|
|
|
23
24
|
__all__ = ('User', 'Role', 'datastore')
|
|
24
25
|
|
|
25
|
-
AVATAR_SIZES = [500, 200, 100, 32, 25]
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
# TODO: use simple text for role
|
|
@@ -25,9 +25,8 @@ from udata.core.spatial.factories import SpatialCoverageFactory
|
|
|
25
25
|
from udata.core.topic.factories import TopicFactory
|
|
26
26
|
from udata.core.user.factories import AdminFactory, UserFactory
|
|
27
27
|
from udata.i18n import gettext as _
|
|
28
|
-
from udata.models import
|
|
29
|
-
|
|
30
|
-
Follow, Member, db)
|
|
28
|
+
from udata.models import CommunityResource, Dataset, Follow, Member, db
|
|
29
|
+
from udata.core.dataset.constants import LEGACY_FREQUENCIES, RESOURCE_TYPES, UPDATE_FREQUENCIES
|
|
31
30
|
from udata.tags import MAX_TAG_LENGTH, MIN_TAG_LENGTH
|
|
32
31
|
from udata.tests.features.territories import create_geozones_fixtures
|
|
33
32
|
from udata.tests.helpers import assert200, assert404, assert204
|
|
@@ -10,7 +10,8 @@ from udata.core.user.factories import AdminFactory
|
|
|
10
10
|
from udata.core.reuse.factories import ReuseFactory
|
|
11
11
|
from udata.core.organization.factories import OrganizationFactory
|
|
12
12
|
from udata.core.user.factories import UserFactory
|
|
13
|
-
from udata.models import Reuse, Follow, Member
|
|
13
|
+
from udata.models import Reuse, Follow, Member
|
|
14
|
+
from udata.core.reuse.constants import REUSE_TOPICS, REUSE_TYPES
|
|
14
15
|
from udata.utils import faker
|
|
15
16
|
|
|
16
17
|
from udata.tests.helpers import (
|
|
@@ -3,12 +3,11 @@ from datetime import datetime, timedelta
|
|
|
3
3
|
import pytest
|
|
4
4
|
import requests
|
|
5
5
|
from flask import current_app
|
|
6
|
-
from mongoengine import post_save
|
|
6
|
+
from mongoengine import post_save
|
|
7
7
|
|
|
8
8
|
from udata.app import cache
|
|
9
|
-
from udata.models import
|
|
10
|
-
|
|
11
|
-
)
|
|
9
|
+
from udata.models import db, Dataset, License, ResourceSchema, Schema
|
|
10
|
+
from udata.core.dataset.constants import LEGACY_FREQUENCIES, UPDATE_FREQUENCIES
|
|
12
11
|
from udata.core.dataset.models import HarvestDatasetMetadata, HarvestResourceMetadata
|
|
13
12
|
from udata.core.dataset.factories import (
|
|
14
13
|
ResourceFactory, DatasetFactory, CommunityResourceFactory, LicenseFactory, ResourceSchemaMockData
|
|
@@ -4,7 +4,8 @@ from udata.core.dataset.factories import DatasetFactory, HiddenDatasetFactory, O
|
|
|
4
4
|
from udata.core.reuse.factories import VisibleReuseFactory
|
|
5
5
|
from udata.harvest.tests.factories import HarvestSourceFactory
|
|
6
6
|
from udata.core.site.factories import SiteFactory
|
|
7
|
-
from udata.models import Badge
|
|
7
|
+
from udata.models import Badge
|
|
8
|
+
from udata.core.organization.constants import PUBLIC_SERVICE
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
@pytest.mark.usefixtures('clean_db')
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: udata
|
|
3
|
-
Version: 7.0.7.
|
|
3
|
+
Version: 7.0.7.dev28426
|
|
4
4
|
Summary: Open data portal
|
|
5
5
|
Home-page: https://github.com/opendatateam/udata
|
|
6
6
|
Author: Opendata Team
|
|
@@ -139,6 +139,7 @@ It is collectively taken care of by members of the
|
|
|
139
139
|
## Current (in progress)
|
|
140
140
|
|
|
141
141
|
- Topic: add filters in API [#3007](https://github.com/opendatateam/udata/pull/3007)
|
|
142
|
+
- Move constants outside `models.py` files to `constants.py` [#3001](https://github.com/opendatateam/udata/pull/3001)
|
|
142
143
|
|
|
143
144
|
## 7.0.6 (2024-03-29)
|
|
144
145
|
|
|
@@ -67,7 +67,7 @@ udata/core/badges/permissions.py,sha256=5jFKFG4OlVp0pL0xSa7AGO0Ttn0QMsy9xEY2jTfK
|
|
|
67
67
|
udata/core/badges/signals.py,sha256=T12kgKO1lmIbdXlKnRmedYRnJzC2PZIMkrtcA1U2mNo,237
|
|
68
68
|
udata/core/badges/tasks.py,sha256=LA1Sd0B0uUa6OANqmx0t-kDNK99uGePwwtilsdj9Evw,431
|
|
69
69
|
udata/core/badges/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
70
|
-
udata/core/badges/tests/test_commands.py,sha256=
|
|
70
|
+
udata/core/badges/tests/test_commands.py,sha256=BcfB0eo8ICCF5E0Z2ryu0pmp6istFZEt56mZkJMQTPo,1364
|
|
71
71
|
udata/core/badges/tests/test_model.py,sha256=vM0j4mf0oj7tYGb9OkTK6wOx2uct8vj3C-7pM0jdn78,4929
|
|
72
72
|
udata/core/contact_point/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
73
73
|
udata/core/contact_point/api.py,sha256=PyurW-Je4iRJlagyvDOkIhp_xINHqghNIiHjtqQTL0I,1918
|
|
@@ -78,29 +78,31 @@ udata/core/contact_point/models.py,sha256=sazF_oCe-Vdm-EQdQ6TfcHqmt11rKo36FT88ZX
|
|
|
78
78
|
udata/core/dataset/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
79
79
|
udata/core/dataset/actions.py,sha256=3pzBg_qOR-w7fwPpTOKUHXWC9lkjALbOn1UQFmmT-s0,1199
|
|
80
80
|
udata/core/dataset/activities.py,sha256=qQnHNL0hOB1IGtQl7JsnVOiUsWT0gm-pts9uDyR3bvU,1536
|
|
81
|
-
udata/core/dataset/api.py,sha256=
|
|
82
|
-
udata/core/dataset/api_fields.py,sha256=
|
|
83
|
-
udata/core/dataset/apiv2.py,sha256=
|
|
84
|
-
udata/core/dataset/commands.py,sha256=
|
|
81
|
+
udata/core/dataset/api.py,sha256=2vs6wbIhc1fN4mCZ88nK7kM5oQ9CZ5OwQXrSwc57Z8I,28750
|
|
82
|
+
udata/core/dataset/api_fields.py,sha256=6gSj6GP_PNQtsIcbLDMjC56GPNOtlm3IL_OlNGRIG2E,14335
|
|
83
|
+
udata/core/dataset/apiv2.py,sha256=XzEwtmC53Mw0mq8NEMCD2cN52pCmrUkPu0adUj4wGyw,15751
|
|
84
|
+
udata/core/dataset/commands.py,sha256=dbK7gMYH4G6pOPiYtmL3yomzg5MGqTaG97_UM9Smu_k,3712
|
|
85
|
+
udata/core/dataset/constants.py,sha256=Twml-I5mGiIdTkiDV1D4bXqi_TcNhcEc-QFxorUKHM4,3138
|
|
85
86
|
udata/core/dataset/csv.py,sha256=d6JMuvlov_vR7EN10rJa6Q03Il0PfbzMTHQIud5H8qg,3240
|
|
86
87
|
udata/core/dataset/events.py,sha256=DI71VfRc1eDTtgWQ3TJx5gtUw2MO0O_CVLCKLq0OIF0,3207
|
|
87
88
|
udata/core/dataset/exceptions.py,sha256=uI_NvZRZMr_MtYQBYdLD8tk-BIUeDDfMMcrWwqV7mi8,494
|
|
88
89
|
udata/core/dataset/factories.py,sha256=_sAW0FeEPC5bIKVCnjxnWmKBNU5jRss1AjVaQaMi8Lo,2737
|
|
89
|
-
udata/core/dataset/forms.py,sha256=
|
|
90
|
-
udata/core/dataset/models.py,sha256=
|
|
90
|
+
udata/core/dataset/forms.py,sha256=kICGBzoTal_ipXw9DqhnOWKQK8x7scQI9mEe0JGMt9g,6181
|
|
91
|
+
udata/core/dataset/models.py,sha256=E_n4E6f7_XUzovHs9KonwhO3cDUKjgenH_01_j_gsUk,36425
|
|
91
92
|
udata/core/dataset/permissions.py,sha256=3F2J7le3_rEYNhh88o3hSRWHAAt01_yHJM6RPmvCrRo,1090
|
|
92
93
|
udata/core/dataset/preview.py,sha256=puPKT3fBD7ezAcT6owh0JK1_rGNDFZOqgT223qGn3LY,2597
|
|
93
|
-
udata/core/dataset/rdf.py,sha256=
|
|
94
|
-
udata/core/dataset/search.py,sha256=
|
|
94
|
+
udata/core/dataset/rdf.py,sha256=oQqVpDvDCQKsfp5LKlIXACxLg89LpA2ydbkICxZCvT0,22830
|
|
95
|
+
udata/core/dataset/search.py,sha256=Ca23ljX7TZiKZKiAZQIH5xwS2tjXQcTDzieAJd-E22c,5314
|
|
95
96
|
udata/core/dataset/signals.py,sha256=TK6dfrOUitZZkGGOh6XmhYqYvIjzZpI70JTLV4k-JRM,161
|
|
96
|
-
udata/core/dataset/tasks.py,sha256=
|
|
97
|
+
udata/core/dataset/tasks.py,sha256=UYdm_O9hA0yo7cCNQFvZE9pGzUshkc3Wr4Gpel2aupU,8434
|
|
97
98
|
udata/core/discussions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
98
99
|
udata/core/discussions/actions.py,sha256=l8FaRpNdnwq5M7IYA9lh1qhhTlk2XOnYkgt0dLJpowU,789
|
|
99
100
|
udata/core/discussions/api.py,sha256=YlLxVA3GFcek8Q9Qb-R8KbNza2Ia3a9zNTU9PGewims,8554
|
|
101
|
+
udata/core/discussions/constants.py,sha256=nbZgXESpg0TykIGPxW8xUtHtk7TwQoyOL0Ky4U4B7c8,27
|
|
100
102
|
udata/core/discussions/factories.py,sha256=NQd_tD0Izrm67uO5HuuClmluteACrRd9PHrb2IkQ0P0,350
|
|
101
|
-
udata/core/discussions/forms.py,sha256=
|
|
103
|
+
udata/core/discussions/forms.py,sha256=daDc8vPDhaXjiEyniugiRC6pyv6OsflgIyO-KoAn6i8,828
|
|
102
104
|
udata/core/discussions/metrics.py,sha256=qtgyDhM1aPgh8bGU-h-962EKR3J44imC155JVi6jvJI,362
|
|
103
|
-
udata/core/discussions/models.py,sha256=
|
|
105
|
+
udata/core/discussions/models.py,sha256=zU4EldaJtE-9pGlabetIlOFF_y3Kag2GxpNtwmk4jQ4,3361
|
|
104
106
|
udata/core/discussions/notifications.py,sha256=1lsu8WyyOL4bdt0lx6IW5wTxmQ5gS_7FoncN53g3ToQ,927
|
|
105
107
|
udata/core/discussions/permissions.py,sha256=q3tXNuNmuXCvZhKyudROcwXF53l-IeDR3pfKSh_hIL0,636
|
|
106
108
|
udata/core/discussions/signals.py,sha256=zjuF-TiFwu9U_RcgZtHB2Z3W4oBx5hVZy6CCAl5Ekug,543
|
|
@@ -125,39 +127,42 @@ udata/core/metrics/signals.py,sha256=Xs_k-9lWzsoZU5Joli-41FNgvIVvbAejkjSFB6DHxh0
|
|
|
125
127
|
udata/core/metrics/tasks.py,sha256=Z7La3-zPB5j6qJoPKr_MgjNZhqscZCmNLPa711ZBkdY,797
|
|
126
128
|
udata/core/organization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
127
129
|
udata/core/organization/activities.py,sha256=fOBujmduVoTxJph2C6Z4qHeQHOaJT9IsZooEDCWC4BA,1140
|
|
128
|
-
udata/core/organization/api.py,sha256=
|
|
129
|
-
udata/core/organization/api_fields.py,sha256=
|
|
130
|
+
udata/core/organization/api.py,sha256=kqcjsus3Mnso5dxnMACYIDWhSuXBTCVgYctFa7rhgT8,17451
|
|
131
|
+
udata/core/organization/api_fields.py,sha256=5NEePyZ515DqpDVHf1HWQJhUXsb8H74LVywlAC5_I44,5400
|
|
130
132
|
udata/core/organization/apiv2.py,sha256=VAU_y9Zz-VhBgS-LWVbGOEZdSt3b44nZd5bzTV2wU8g,3206
|
|
131
133
|
udata/core/organization/commands.py,sha256=FaSYxyWfQDR5tWvrAXmwcF2VMREOC13XTK8DD4vp_sY,1623
|
|
134
|
+
udata/core/organization/constants.py,sha256=XGVnItrJTG0hcVKRK5sPmx44KHC9r_EKtj_y0MmBt0o,563
|
|
132
135
|
udata/core/organization/csv.py,sha256=x0afMfhWYvx_karwuw5jXqBhMbzkrsiEuAq1wTVurZI,1491
|
|
133
136
|
udata/core/organization/factories.py,sha256=5BABVcDhEChRhJsDfCDm8WyJG4l9j3H1_OFZa3VtlVs,646
|
|
134
|
-
udata/core/organization/forms.py,sha256=
|
|
137
|
+
udata/core/organization/forms.py,sha256=JXXv4tQGbIbICti7RXLVZdnc6VujATmLhDrHIsFxBME,3550
|
|
135
138
|
udata/core/organization/metrics.py,sha256=nQiRscXRgpuzpfg5nNE6-kyJqk36KdRXKD_G5MmiJok,750
|
|
136
|
-
udata/core/organization/models.py,sha256=
|
|
139
|
+
udata/core/organization/models.py,sha256=Y7iFRQY6m87nKZNUMK9qsZJXZ6xzA6t2q_YxAm8K7Dg,8315
|
|
137
140
|
udata/core/organization/notifications.py,sha256=j-2LIHZ5y5QuVietWAWOrAqf4v1HMCtSDZ0w7V-z_1c,763
|
|
138
141
|
udata/core/organization/permissions.py,sha256=cNIPiPgXVW2hvKqbuKHA_62tX2xaT8jiVJ3BEfnsHn0,1299
|
|
139
142
|
udata/core/organization/rdf.py,sha256=ZSoxyZDj_5g6hv7lbTIy6bIW3xwvQy27rWNgJwtZ6LE,1762
|
|
140
143
|
udata/core/organization/search.py,sha256=8DdHqKv6jmLibfts667BoUjc0YrmnM8V4lBJnyRIaE0,2127
|
|
141
144
|
udata/core/organization/signals.py,sha256=dm2fVzwX3TZV_c5qDx61glcWKgb7TSx2JaaMfBG0Q6o,488
|
|
142
|
-
udata/core/organization/tasks.py,sha256=
|
|
145
|
+
udata/core/organization/tasks.py,sha256=UKW1dDNUxuLPPwruayYujJJTcgfPx7PFfqW6i9wQxYE,5788
|
|
143
146
|
udata/core/post/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
144
147
|
udata/core/post/api.py,sha256=eH9dw8u7_Tx6FP19Dvv91nyRGHSWKPR1pTzSkVXIeA4,5369
|
|
148
|
+
udata/core/post/constants.py,sha256=ibocNUJ1s1mw88QCrKz8n1DSkOBnWuSqo7Y5-Yd75kg,196
|
|
145
149
|
udata/core/post/factories.py,sha256=0aXYbf11Rl0KJyntNE0LjPaUnpvr4YqvqdTPfvGlyvM,619
|
|
146
|
-
udata/core/post/forms.py,sha256=
|
|
147
|
-
udata/core/post/models.py,sha256=
|
|
150
|
+
udata/core/post/forms.py,sha256=ff1efEcFkPRVMWA9YtvCAx0Msy69I7P34WgZsh_jK1E,968
|
|
151
|
+
udata/core/post/models.py,sha256=7OyMCIiQzj2OXsYdQon1_HOyiA06nXj1VAqbNVf5EK4,1910
|
|
148
152
|
udata/core/post/permissions.py,sha256=uofU0TehhOGYyUoRXf3wuy816_D3xwMmaJbDvV336sw,83
|
|
149
153
|
udata/core/post/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
150
154
|
udata/core/post/tests/test_api.py,sha256=LSJQQDUtUVdpwZNpnJaX3yNQYyjkjTTyO7mHnR5DR_I,3948
|
|
151
155
|
udata/core/reuse/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
152
156
|
udata/core/reuse/activities.py,sha256=rdl_CR3RJPBMonsHYmPnPVDvCYozNdXN2H1ILrTItNQ,1417
|
|
153
|
-
udata/core/reuse/api.py,sha256=
|
|
154
|
-
udata/core/reuse/api_fields.py,sha256=
|
|
157
|
+
udata/core/reuse/api.py,sha256=5z5tH7debD_rMmineB-fQ-lNKpZySA5u7TL7dd5hlag,10209
|
|
158
|
+
udata/core/reuse/api_fields.py,sha256=NF0bSKWepyNzzKtG2MibflZrqNwf1FPtNqjpbTSAONY,4868
|
|
155
159
|
udata/core/reuse/apiv2.py,sha256=Op4f6pSMdUuLcCwNadojJfHfU6UYohrzSxlJbRn3wHc,824
|
|
160
|
+
udata/core/reuse/constants.py,sha256=pbCR1xX9v4tdewlOx8bgNmy1-5V9OXIbpNjJivnQ--A,1215
|
|
156
161
|
udata/core/reuse/csv.py,sha256=k-syWGC7hJnqfaOtPRFFn8P8skCDcrnMWNWbJ3fUyXo,727
|
|
157
|
-
udata/core/reuse/factories.py,sha256=
|
|
158
|
-
udata/core/reuse/forms.py,sha256=
|
|
162
|
+
udata/core/reuse/factories.py,sha256=lTABDzgyxDhgTQhjsJb54B0TtTyu2uXlcN_1fU29G_8,862
|
|
163
|
+
udata/core/reuse/forms.py,sha256=UI3dYNgx9r9QxN-f2voxIXE_Dsx7lpLxuOsmc0VtXj4,1805
|
|
159
164
|
udata/core/reuse/metrics.py,sha256=uh0CxErJ8OxrQvajCSfKvQRbhB9rXKzTZ1AhyEMQvP0,161
|
|
160
|
-
udata/core/reuse/models.py,sha256=
|
|
165
|
+
udata/core/reuse/models.py,sha256=qBbvgxPiLhgizpJ5XVFCixWjRub3NY_sg3WsQehTZZ0,5861
|
|
161
166
|
udata/core/reuse/permissions.py,sha256=-7lq32HuhIswR-yGv3Mp02cuEdG0YNam4VB2OnZZVEs,560
|
|
162
167
|
udata/core/reuse/search.py,sha256=I3FX-9YP_cEqw5GFwFv2iqLZExeaQXsak13RMSCN7t8,2886
|
|
163
168
|
udata/core/reuse/signals.py,sha256=2vv668u8miJ9t6H-FwRgXcWwsYMQem3oLNXp36rKtno,155
|
|
@@ -169,20 +174,22 @@ udata/core/site/forms.py,sha256=lPnxm0MDhK7_ORzPgJLcCAPMj59hDrJ80gwRSW-jtIo,469
|
|
|
169
174
|
udata/core/site/models.py,sha256=96IZHtPaMio7VMNCdP1Km_SL1GlMErwBuDqgUXfzKVY,5981
|
|
170
175
|
udata/core/site/rdf.py,sha256=ONKksnuZTFH9Hdd6BE42a1769zJynna68rG-M30PAZQ,1858
|
|
171
176
|
udata/core/spam/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
172
|
-
udata/core/spam/api.py,sha256=
|
|
173
|
-
udata/core/spam/
|
|
174
|
-
udata/core/spam/
|
|
177
|
+
udata/core/spam/api.py,sha256=8tVRPorw56kxgN64kme5nLkUfh8Gai9QyqT8aNQn9Xo,1674
|
|
178
|
+
udata/core/spam/constants.py,sha256=M-wvYlcFnpUDortccIKFHWZ45vbNuMPWSvqKm2itn4w,143
|
|
179
|
+
udata/core/spam/fields.py,sha256=ppazY9bGnz7mujmDndbxG3pPG_1HDUJCbIufxyD1UNQ,310
|
|
180
|
+
udata/core/spam/models.py,sha256=u07LqZbxyeGq68UVtpZzEM9ihqOp52jIX8oJwuVGK5Q,7969
|
|
175
181
|
udata/core/spam/signals.py,sha256=4VVLyC2I39LFAot4P56nHzY0xumjMBDz_N0Ff_kgBd0,159
|
|
176
182
|
udata/core/spam/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
177
|
-
udata/core/spam/tests/test_spam.py,sha256=
|
|
183
|
+
udata/core/spam/tests/test_spam.py,sha256=CBXXnyKMlMFBpFLzSVL6yG8nZ8lV9RAElxWe4XFVdGA,677
|
|
178
184
|
udata/core/spatial/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
179
185
|
udata/core/spatial/api.py,sha256=tlApg3JpqbO6CwEwp1LzZ1hyPQreVEgF3H5yrcAPE74,5848
|
|
180
186
|
udata/core/spatial/api_fields.py,sha256=ymGK3FyE2KNlASOU5GiPgZGeBjjOqnOyCOcRCbuw3D8,2629
|
|
181
187
|
udata/core/spatial/commands.py,sha256=qdJ4mUg3NUTrGx6L5MKPh1usvxmeCn8xMCZNGKyjWYE,6914
|
|
188
|
+
udata/core/spatial/constants.py,sha256=u_4OwAAVYqT0VX6nw_Hc4wIRUPcYww19EFJcnWuMZNo,146
|
|
182
189
|
udata/core/spatial/factories.py,sha256=GxUU8nRtSoGPw2m3Q-al0PYps2oSnlqC-bM7Eeu14rk,3288
|
|
183
190
|
udata/core/spatial/forms.py,sha256=tXlYKge5Rc8L8pOjfUo1-9howgVJZDAh7q8xTIlbBww,3218
|
|
184
191
|
udata/core/spatial/geoids.py,sha256=UqCto4dtQYPXOxyG7sx_0npzM6yvId40ngw3eAlmioQ,1159
|
|
185
|
-
udata/core/spatial/models.py,sha256=
|
|
192
|
+
udata/core/spatial/models.py,sha256=SSCnNtk7xyRx7n2v118rn4aD5aUvwvNbxlzk0XUCl6Y,5022
|
|
186
193
|
udata/core/spatial/translations.py,sha256=7BjZAMPObm1fwM5U_wnrlpcG-1FtMoS6Z5E3h3Y3sog,533
|
|
187
194
|
udata/core/spatial/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
188
195
|
udata/core/spatial/tests/test_api.py,sha256=BySPgLpHvWs3vBIX2_7vJkuqfrFBIsTHtdg6PXOsE_U,10171
|
|
@@ -211,12 +218,13 @@ udata/core/topic/permissions.py,sha256=RtFPPlxuU_Bv7ip6LDO4AoPrKFnIOEs9cCMXaSSmE
|
|
|
211
218
|
udata/core/user/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
212
219
|
udata/core/user/activities.py,sha256=AMRbYgum8uJXAS3L-ddQN-xKtKRvsmesDZ0ItBY_jS0,2799
|
|
213
220
|
udata/core/user/api.py,sha256=QQmTsUfm_RB698xkRPSSZduGPtvMM1WKGzupdUICFw4,12738
|
|
214
|
-
udata/core/user/api_fields.py,sha256=
|
|
221
|
+
udata/core/user/api_fields.py,sha256=aWw-vaLy5KqE8vr6HtWzoAbzHI8aoi9BV-m-oY7FJfo,5052
|
|
215
222
|
udata/core/user/commands.py,sha256=DlNBFaojhhPHH4kZazp0NMwYWnzPZXBba_vqH-cfR1U,3156
|
|
223
|
+
udata/core/user/constants.py,sha256=aTluhTR2RGZ_cdG7-mkEoT5Ndbg8BNUwwzCOld0aLMY,77
|
|
216
224
|
udata/core/user/factories.py,sha256=JiY-AghapelwhAVAExiUEHS1odyIu4PppWuhtZnkjBY,790
|
|
217
|
-
udata/core/user/forms.py,sha256=
|
|
225
|
+
udata/core/user/forms.py,sha256=XKhZFiXtTp_o0J4feLI2RQAjsmrf2CsyRQJ8n_gFVVg,992
|
|
218
226
|
udata/core/user/metrics.py,sha256=sHw76gkprLp0oKWJf1uQqShBbgC43lZm7A5OSCuueAw,895
|
|
219
|
-
udata/core/user/models.py,sha256=
|
|
227
|
+
udata/core/user/models.py,sha256=VTIdPE4yROvcIUFpEd6GH0IA_v36pACWqFo3i1Ko-YM,9503
|
|
220
228
|
udata/core/user/permissions.py,sha256=unBqNHcTAFYpN_kn0FTDLOYMPyWVeOvW7TQyeJkUI-M,436
|
|
221
229
|
udata/core/user/rdf.py,sha256=pE0ISNBgQ3AnbtuzCE91XQmi5Cq_S0cMehbaqZFww7Q,867
|
|
222
230
|
udata/core/user/tasks.py,sha256=drBhjauaydPcZb7y4ton6PhlXd5rmmZe5EbPWCzELkA,317
|
|
@@ -571,12 +579,12 @@ udata/tests/api/__init__.py,sha256=Tz_WigHLDlnJNKOKzEAnJswkKiLtHlIpCE54-wgocgM,9
|
|
|
571
579
|
udata/tests/api/test_auth_api.py,sha256=3Zhn2A29poZIcCJ_R9_-LkR3xOFUTw1aTquiZVXQ2F0,20306
|
|
572
580
|
udata/tests/api/test_base_api.py,sha256=DRX5nuFIj51GFmMIAxUzoW1yiq1apNgr1vS4U4agzeg,2319
|
|
573
581
|
udata/tests/api/test_contact_points.py,sha256=MJm8B06iaUqIZCqxll3NViFwUCxwqZZ4u9e9s1h8MgU,1056
|
|
574
|
-
udata/tests/api/test_datasets_api.py,sha256=
|
|
582
|
+
udata/tests/api/test_datasets_api.py,sha256=X4Mp4HZJ6CNkmsl49piIHY4ZpZZht18faC3ReoqakGc,81190
|
|
575
583
|
udata/tests/api/test_fields.py,sha256=OW85Z5MES5HeWOpapeem8OvR1cIcrqW-xMWpdZO4LZ8,1033
|
|
576
584
|
udata/tests/api/test_follow_api.py,sha256=0h54P_Dfbo07u6tg0Rbai1WWgWb19ZLN2HGv4oLCWfg,3383
|
|
577
585
|
udata/tests/api/test_me_api.py,sha256=8OthqVYQKZrFoGuJ7zAvoLJx1IclPNzPdD5Tnzmh3rM,14163
|
|
578
586
|
udata/tests/api/test_organizations_api.py,sha256=HxeTqP14wlWGaQt4fpQljuRy98HWnmL1QelcxbJDmV0,32704
|
|
579
|
-
udata/tests/api/test_reuses_api.py,sha256=
|
|
587
|
+
udata/tests/api/test_reuses_api.py,sha256=GSoZ6SBRdMg6o0xKSQWtCSfvzqz_vZxERU567Rq1_GY,17009
|
|
580
588
|
udata/tests/api/test_swagger.py,sha256=tLg452rCD5Q0AgFXOVZKMM6jGiWwC5diX5PxbdYni0o,760
|
|
581
589
|
udata/tests/api/test_tags_api.py,sha256=xSIx_x5gqKz6BJCXKEsTqA_CR4BF1nG5NxEyfp9dy0o,2579
|
|
582
590
|
udata/tests/api/test_topics_api.py,sha256=RItjoO7g2o2BZ34cOHJvPoSus_jIe-AYHFrX_iaHQ4o,9322
|
|
@@ -596,7 +604,7 @@ udata/tests/dataset/test_csv_adapter.py,sha256=2r5z4FuqG9pWgUyfDUw8afQYK5nIKE8XX
|
|
|
596
604
|
udata/tests/dataset/test_dataset_actions.py,sha256=4_0F_TCSCfHpzqDt659c8hG4GpkWjVtmT4bAPgmE4B8,723
|
|
597
605
|
udata/tests/dataset/test_dataset_commands.py,sha256=TAgVdimIcBVmcSNKXKXbhmCGYRo8Keh_InBNiS6UlkM,802
|
|
598
606
|
udata/tests/dataset/test_dataset_events.py,sha256=zt6F4j_vOBfMxDW6vBVQ5PGwr0d4s6LGw0cGkt9BlvI,2835
|
|
599
|
-
udata/tests/dataset/test_dataset_model.py,sha256=
|
|
607
|
+
udata/tests/dataset/test_dataset_model.py,sha256=Mgq_qFh7pY8QFDke9HWezXTO6dqjd8qoRI8i01Qan-o,29769
|
|
600
608
|
udata/tests/dataset/test_dataset_rdf.py,sha256=0lyHiP9eZdIHUkvgQQ6Dw_LMaXX2SHTxiJdLIorizaw,29389
|
|
601
609
|
udata/tests/dataset/test_dataset_tasks.py,sha256=BN5qcvq6753WcpPOZd7vL1iIEW36ZBZrb2Lszb4eWEM,2283
|
|
602
610
|
udata/tests/dataset/test_resource_preview.py,sha256=q1C9W9dO3nLWaR3-hpUOPYW17hCmQ3raty9Bl4FX3hg,3947
|
|
@@ -639,7 +647,7 @@ udata/tests/search/test_query.py,sha256=wtgC4rkaxe8vIaWOcANZ1yFFkEKTdNHj2yiTaYI-
|
|
|
639
647
|
udata/tests/search/test_results.py,sha256=yjeqxNKVbjMxxvUsZb7csfU3wsV_YNjBDnfYRw5QN-s,1998
|
|
640
648
|
udata/tests/site/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
641
649
|
udata/tests/site/test_site_api.py,sha256=XIjRH-iiwKdwmX145bQflxOatfIChi5RLikIMwJSbjQ,2276
|
|
642
|
-
udata/tests/site/test_site_metrics.py,sha256=
|
|
650
|
+
udata/tests/site/test_site_metrics.py,sha256=Sn9dQORwe-fvoyA7ZAnF63Cq5CwUGq1myH8Xe0EtfDA,2263
|
|
643
651
|
udata/tests/site/test_site_model.py,sha256=nAx9JjEKdfjdw1Kj5Rs7P5FEePoATtCuOYPiSXEnVD0,1313
|
|
644
652
|
udata/tests/site/test_site_rdf.py,sha256=M360uq2A6hl1WhmyRmRjvzuSqz_YFIUQNPR4vqWnYnE,9687
|
|
645
653
|
udata/tests/user/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -664,9 +672,9 @@ udata/translations/pt/LC_MESSAGES/udata.mo,sha256=zCVMB-a4-mLM1jNyYMk58rgVRaVIwQ
|
|
|
664
672
|
udata/translations/pt/LC_MESSAGES/udata.po,sha256=avfWczvlLBKSohyB55-4TLmUGMU_Rze4XmAo4OTk2v0,43513
|
|
665
673
|
udata/translations/sr/LC_MESSAGES/udata.mo,sha256=ScuqdpaV4y1ZIpBAEfxeaKdzkyGZL0mJmKMoG6w0iRQ,28553
|
|
666
674
|
udata/translations/sr/LC_MESSAGES/udata.po,sha256=QpgEXh1eHjztPa7oNLXd_sds1DC95A-STTtZyTE4m-E,50093
|
|
667
|
-
udata-7.0.7.
|
|
668
|
-
udata-7.0.7.
|
|
669
|
-
udata-7.0.7.
|
|
670
|
-
udata-7.0.7.
|
|
671
|
-
udata-7.0.7.
|
|
672
|
-
udata-7.0.7.
|
|
675
|
+
udata-7.0.7.dev28426.dist-info/LICENSE,sha256=V8j_M8nAz8PvAOZQocyRDX7keai8UJ9skgmnwqETmdY,34520
|
|
676
|
+
udata-7.0.7.dev28426.dist-info/METADATA,sha256=jM0zNhnCckMsaLktRWBASo3c0izdaCtWWjM0tSAqCbc,120352
|
|
677
|
+
udata-7.0.7.dev28426.dist-info/WHEEL,sha256=-G_t0oGuE7UD0DrSpVZnq1hHMBV9DD2XkS5v7XpmTnk,110
|
|
678
|
+
udata-7.0.7.dev28426.dist-info/entry_points.txt,sha256=3SKiqVy4HUqxf6iWspgMqH8d88Htk6KoLbG1BU-UddQ,451
|
|
679
|
+
udata-7.0.7.dev28426.dist-info/top_level.txt,sha256=39OCg-VWFWOq4gCKnjKNu-s3OwFlZIu_dVH8Gl6ndHw,12
|
|
680
|
+
udata-7.0.7.dev28426.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|