udata 7.0.7.dev28615__py2.py3-none-any.whl → 7.0.7.dev28634__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/api/__init__.py +2 -1
- udata/api/oauth2.py +2 -1
- udata/core/contact_point/models.py +3 -3
- udata/core/dataset/models.py +6 -5
- udata/core/organization/metrics.py +3 -3
- udata/{mongo → core}/owned.py +1 -1
- udata/core/reuse/models.py +4 -3
- udata/core/topic/models.py +3 -2
- udata/core/user/metrics.py +2 -2
- udata/core/user/tests/test_user_model.py +2 -1
- udata/harvest/models.py +4 -3
- udata/mongo/engine.py +0 -3
- udata/tests/test_owned.py +4 -4
- {udata-7.0.7.dev28615.dist-info → udata-7.0.7.dev28634.dist-info}/METADATA +3 -1
- {udata-7.0.7.dev28615.dist-info → udata-7.0.7.dev28634.dist-info}/RECORD +19 -19
- {udata-7.0.7.dev28615.dist-info → udata-7.0.7.dev28634.dist-info}/LICENSE +0 -0
- {udata-7.0.7.dev28615.dist-info → udata-7.0.7.dev28634.dist-info}/WHEEL +0 -0
- {udata-7.0.7.dev28615.dist-info → udata-7.0.7.dev28634.dist-info}/entry_points.txt +0 -0
- {udata-7.0.7.dev28615.dist-info → udata-7.0.7.dev28634.dist-info}/top_level.txt +0 -0
udata/api/__init__.py
CHANGED
|
@@ -19,7 +19,6 @@ from udata.i18n import get_locale
|
|
|
19
19
|
from udata.auth import (
|
|
20
20
|
current_user, login_user, Permission, RoleNeed, PermissionDenied
|
|
21
21
|
)
|
|
22
|
-
from udata.core.user.models import User
|
|
23
22
|
from udata.utils import safe_unicode
|
|
24
23
|
|
|
25
24
|
from . import fields, oauth2
|
|
@@ -128,6 +127,8 @@ class UDataApi(Api):
|
|
|
128
127
|
'''Authentify the user if credentials are given'''
|
|
129
128
|
@wraps(func)
|
|
130
129
|
def wrapper(*args, **kwargs):
|
|
130
|
+
from udata.core.user.models import User
|
|
131
|
+
|
|
131
132
|
if current_user.is_authenticated:
|
|
132
133
|
return func(*args, **kwargs)
|
|
133
134
|
|
udata/api/oauth2.py
CHANGED
|
@@ -36,7 +36,6 @@ from udata.app import csrf
|
|
|
36
36
|
from udata.auth import current_user, login_required, login_user
|
|
37
37
|
from udata.i18n import I18nBlueprint, lazy_gettext as _
|
|
38
38
|
from udata.mongo import db
|
|
39
|
-
from udata.core.user.models import User
|
|
40
39
|
from udata.core.storages import images, default_image_basename
|
|
41
40
|
|
|
42
41
|
|
|
@@ -244,6 +243,8 @@ class AuthorizationCodeGrant(grants.AuthorizationCodeGrant):
|
|
|
244
243
|
|
|
245
244
|
class PasswordGrant(grants.ResourceOwnerPasswordCredentialsGrant):
|
|
246
245
|
def authenticate_user(self, username, password):
|
|
246
|
+
from udata.core.user.models import User
|
|
247
|
+
|
|
247
248
|
user = User.objects(email=username).first()
|
|
248
249
|
if user and verify_password(password, user.password):
|
|
249
250
|
return user
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
from udata.mongo import db
|
|
2
|
-
|
|
2
|
+
from udata.core.owned import Owned, OwnedQuerySet
|
|
3
3
|
|
|
4
4
|
__all__ = ('ContactPoint', )
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
class ContactPoint(db.Document,
|
|
7
|
+
class ContactPoint(db.Document, Owned):
|
|
8
8
|
email = db.StringField(max_length=255, required=True)
|
|
9
9
|
name = db.StringField(max_length=255, required=True)
|
|
10
10
|
|
|
11
11
|
meta = {
|
|
12
|
-
'queryset_class':
|
|
12
|
+
'queryset_class': OwnedQuerySet
|
|
13
13
|
}
|
udata/core/dataset/models.py
CHANGED
|
@@ -23,6 +23,7 @@ from udata.i18n import lazy_gettext as _
|
|
|
23
23
|
from udata.utils import get_by, hash_url, to_naive_datetime
|
|
24
24
|
from udata.uris import ValidationError, endpoint_for
|
|
25
25
|
from udata.uris import validate as validate_url
|
|
26
|
+
from udata.core.owned import Owned, OwnedQuerySet
|
|
26
27
|
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
28
|
|
|
28
29
|
from .preview import get_preview_url
|
|
@@ -258,7 +259,7 @@ class License(db.Document):
|
|
|
258
259
|
return cls.objects(id=DEFAULT_LICENSE['id']).first()
|
|
259
260
|
|
|
260
261
|
|
|
261
|
-
class DatasetQuerySet(
|
|
262
|
+
class DatasetQuerySet(OwnedQuerySet):
|
|
262
263
|
def visible(self):
|
|
263
264
|
return self(private__ne=True, deleted=None, archived=None)
|
|
264
265
|
|
|
@@ -456,7 +457,7 @@ class Resource(ResourceMixin, WithMetrics, db.EmbeddedDocument):
|
|
|
456
457
|
self.dataset.save(*args, **kwargs)
|
|
457
458
|
|
|
458
459
|
|
|
459
|
-
class Dataset(WithMetrics, BadgeMixin,
|
|
460
|
+
class Dataset(WithMetrics, BadgeMixin, Owned, db.Document):
|
|
460
461
|
title = db.StringField(required=True)
|
|
461
462
|
acronym = db.StringField(max_length=128)
|
|
462
463
|
# /!\ do not set directly the slug when creating or updating a dataset
|
|
@@ -516,7 +517,7 @@ class Dataset(WithMetrics, BadgeMixin, db.Owned, db.Document):
|
|
|
516
517
|
'slug',
|
|
517
518
|
'resources.id',
|
|
518
519
|
'resources.urlhash',
|
|
519
|
-
] +
|
|
520
|
+
] + Owned.meta['indexes'],
|
|
520
521
|
'ordering': ['-created_at_internal'],
|
|
521
522
|
'queryset_class': DatasetQuerySet,
|
|
522
523
|
'auto_create_index_on_save': True
|
|
@@ -903,7 +904,7 @@ pre_save.connect(Dataset.pre_save, sender=Dataset)
|
|
|
903
904
|
post_save.connect(Dataset.post_save, sender=Dataset)
|
|
904
905
|
|
|
905
906
|
|
|
906
|
-
class CommunityResource(ResourceMixin, WithMetrics,
|
|
907
|
+
class CommunityResource(ResourceMixin, WithMetrics, Owned, db.Document):
|
|
907
908
|
'''
|
|
908
909
|
Local file, remote file or API added by the community of the users to the
|
|
909
910
|
original dataset
|
|
@@ -916,7 +917,7 @@ class CommunityResource(ResourceMixin, WithMetrics, db.Owned, db.Document):
|
|
|
916
917
|
|
|
917
918
|
meta = {
|
|
918
919
|
'ordering': ['-created_at_internal'],
|
|
919
|
-
'queryset_class':
|
|
920
|
+
'queryset_class': OwnedQuerySet,
|
|
920
921
|
}
|
|
921
922
|
|
|
922
923
|
@property
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
from udata.models import
|
|
2
|
-
|
|
1
|
+
from udata.models import Dataset, Reuse, Organization
|
|
2
|
+
from udata.core.owned import Owned
|
|
3
3
|
|
|
4
4
|
@Dataset.on_create.connect
|
|
5
5
|
@Dataset.on_update.connect
|
|
@@ -17,7 +17,7 @@ def update_reuses_metrics(document, **kwargs):
|
|
|
17
17
|
document.organization.count_reuses()
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
@
|
|
20
|
+
@Owned.on_owner_change.connect
|
|
21
21
|
def update_org_metrics(document, previous):
|
|
22
22
|
if not isinstance(previous, Organization):
|
|
23
23
|
return
|
udata/{mongo → core}/owned.py
RENAMED
udata/core/reuse/models.py
CHANGED
|
@@ -8,12 +8,13 @@ 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 udata.core.owned import Owned, OwnedQuerySet
|
|
11
12
|
from .constants import IMAGE_MAX_SIZE, IMAGE_SIZES, REUSE_TOPICS, REUSE_TYPES
|
|
12
13
|
|
|
13
14
|
__all__ = ('Reuse',)
|
|
14
15
|
|
|
15
16
|
|
|
16
|
-
class ReuseQuerySet(
|
|
17
|
+
class ReuseQuerySet(OwnedQuerySet):
|
|
17
18
|
def visible(self):
|
|
18
19
|
return self(private__ne=True, datasets__0__exists=True, deleted=None)
|
|
19
20
|
|
|
@@ -23,7 +24,7 @@ class ReuseQuerySet(db.OwnedQuerySet):
|
|
|
23
24
|
db.Q(deleted__ne=None))
|
|
24
25
|
|
|
25
26
|
|
|
26
|
-
class Reuse(db.Datetimed, WithMetrics, BadgeMixin,
|
|
27
|
+
class Reuse(db.Datetimed, WithMetrics, BadgeMixin, Owned, db.Document):
|
|
27
28
|
title = db.StringField(required=True)
|
|
28
29
|
slug = db.SlugField(max_length=255, required=True, populate_from='title',
|
|
29
30
|
update=True, follow=True)
|
|
@@ -68,7 +69,7 @@ class Reuse(db.Datetimed, WithMetrics, BadgeMixin, db.Owned, db.Document):
|
|
|
68
69
|
'metrics.datasets',
|
|
69
70
|
'metrics.followers',
|
|
70
71
|
'metrics.views',
|
|
71
|
-
'urlhash'] +
|
|
72
|
+
'urlhash'] + Owned.meta['indexes'],
|
|
72
73
|
'ordering': ['-created_at'],
|
|
73
74
|
'queryset_class': ReuseQuerySet,
|
|
74
75
|
'auto_create_index_on_save': True
|
udata/core/topic/models.py
CHANGED
|
@@ -3,12 +3,13 @@ from mongoengine.signals import pre_save
|
|
|
3
3
|
from udata.models import db, SpatialCoverage
|
|
4
4
|
from udata.search import reindex
|
|
5
5
|
from udata.tasks import as_task_param
|
|
6
|
+
from udata.core.owned import Owned
|
|
6
7
|
|
|
7
8
|
|
|
8
9
|
__all__ = ('Topic', )
|
|
9
10
|
|
|
10
11
|
|
|
11
|
-
class Topic(db.Document,
|
|
12
|
+
class Topic(db.Document, Owned, db.Datetimed):
|
|
12
13
|
name = db.StringField(required=True)
|
|
13
14
|
slug = db.SlugField(max_length=255, required=True, populate_from='name',
|
|
14
15
|
update=True, follow=True)
|
|
@@ -33,7 +34,7 @@ class Topic(db.Document, db.Owned, db.Datetimed):
|
|
|
33
34
|
'$name',
|
|
34
35
|
'created_at',
|
|
35
36
|
'slug'
|
|
36
|
-
] +
|
|
37
|
+
] + Owned.meta['indexes'],
|
|
37
38
|
'ordering': ['-created_at'],
|
|
38
39
|
'auto_create_index_on_save': True
|
|
39
40
|
}
|
udata/core/user/metrics.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from udata.models import db, Dataset, Reuse, User
|
|
2
2
|
from udata.core.followers.signals import on_follow, on_unfollow
|
|
3
|
-
|
|
3
|
+
from udata.core.owned import Owned
|
|
4
4
|
|
|
5
5
|
@Dataset.on_create.connect
|
|
6
6
|
@Dataset.on_update.connect
|
|
@@ -24,7 +24,7 @@ def update_user_following_metric(follow):
|
|
|
24
24
|
follow.follower.count_following()
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
@
|
|
27
|
+
@Owned.on_owner_change.connect
|
|
28
28
|
def update_owner_metrics(document, previous):
|
|
29
29
|
if not isinstance(previous, User):
|
|
30
30
|
return
|
|
@@ -5,7 +5,8 @@ from udata.core.discussions.factories import (
|
|
|
5
5
|
)
|
|
6
6
|
from udata.core.followers.models import Follow
|
|
7
7
|
from udata.core.user.factories import UserFactory
|
|
8
|
-
from udata.core.user.models import
|
|
8
|
+
from udata.core.user.models import User
|
|
9
|
+
from udata.core.discussions.models import Discussion
|
|
9
10
|
from udata.core.organization.factories import OrganizationFactory
|
|
10
11
|
|
|
11
12
|
pytestmark = pytest.mark.usefixtures('clean_db')
|
udata/harvest/models.py
CHANGED
|
@@ -8,6 +8,7 @@ from werkzeug.utils import cached_property
|
|
|
8
8
|
from udata.core.dataset.models import HarvestDatasetMetadata
|
|
9
9
|
from udata.models import db, Dataset
|
|
10
10
|
from udata.i18n import lazy_gettext as _
|
|
11
|
+
from udata.core.owned import Owned, OwnedQuerySet
|
|
11
12
|
|
|
12
13
|
log = logging.getLogger(__name__)
|
|
13
14
|
|
|
@@ -83,12 +84,12 @@ class HarvestSourceValidation(db.EmbeddedDocument):
|
|
|
83
84
|
comment = db.StringField()
|
|
84
85
|
|
|
85
86
|
|
|
86
|
-
class HarvestSourceQuerySet(
|
|
87
|
+
class HarvestSourceQuerySet(OwnedQuerySet):
|
|
87
88
|
def visible(self):
|
|
88
89
|
return self(deleted=None)
|
|
89
90
|
|
|
90
91
|
|
|
91
|
-
class HarvestSource(
|
|
92
|
+
class HarvestSource(Owned, db.Document):
|
|
92
93
|
name = db.StringField(max_length=255)
|
|
93
94
|
slug = db.SlugField(max_length=255, required=True, unique=True,
|
|
94
95
|
populate_from='name', update=True)
|
|
@@ -140,7 +141,7 @@ class HarvestSource(db.Owned, db.Document):
|
|
|
140
141
|
'-created_at',
|
|
141
142
|
'slug',
|
|
142
143
|
('deleted', '-created_at'),
|
|
143
|
-
] +
|
|
144
|
+
] + Owned.meta['indexes'],
|
|
144
145
|
'ordering': ['-created_at'],
|
|
145
146
|
'queryset_class': HarvestSourceQuerySet,
|
|
146
147
|
}
|
udata/mongo/engine.py
CHANGED
|
@@ -13,7 +13,6 @@ from .extras_fields import ExtrasField, OrganizationExtrasField
|
|
|
13
13
|
from .slug_fields import SlugField
|
|
14
14
|
from .url_field import URLField
|
|
15
15
|
from .uuid_fields import AutoUUIDField
|
|
16
|
-
from .owned import Owned, OwnedQuerySet
|
|
17
16
|
from .queryset import UDataQuerySet
|
|
18
17
|
from .document import UDataDocument, DomainModel
|
|
19
18
|
|
|
@@ -41,8 +40,6 @@ class UDataMongoEngine(MongoEngine):
|
|
|
41
40
|
self.ValidationError = ValidationError
|
|
42
41
|
self.ObjectId = ObjectId
|
|
43
42
|
self.DBRef = DBRef
|
|
44
|
-
self.Owned = Owned
|
|
45
|
-
self.OwnedQuerySet = OwnedQuerySet
|
|
46
43
|
self.post_save = post_save
|
|
47
44
|
self.pre_save = pre_save
|
|
48
45
|
|
udata/tests/test_owned.py
CHANGED
|
@@ -6,15 +6,15 @@ from udata.core.user.factories import UserFactory
|
|
|
6
6
|
from udata.core.user.models import User
|
|
7
7
|
|
|
8
8
|
from udata.mongo import db
|
|
9
|
-
|
|
9
|
+
import udata.core.owned as owned
|
|
10
10
|
from udata.tests import TestCase, DBTestMixin
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
class Owned(
|
|
13
|
+
class Owned(owned.Owned, db.Document):
|
|
14
14
|
name = db.StringField()
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
class OwnedPostSave(
|
|
17
|
+
class OwnedPostSave(owned.Owned, db.Document):
|
|
18
18
|
@classmethod
|
|
19
19
|
def post_save(cls, sender, document, **kwargs):
|
|
20
20
|
if 'post_save' in kwargs.get('ignores', []):
|
|
@@ -128,7 +128,7 @@ class TestOwnedMixin(DBTestMixin, TestCase):
|
|
|
128
128
|
|
|
129
129
|
class OwnedQuerysetTest(DBTestMixin, TestCase):
|
|
130
130
|
def test_queryset_type(self):
|
|
131
|
-
self.assertIsInstance(Owned.objects,
|
|
131
|
+
self.assertIsInstance(Owned.objects, owned.OwnedQuerySet)
|
|
132
132
|
|
|
133
133
|
def test_owned_by_user(self):
|
|
134
134
|
user = UserFactory()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: udata
|
|
3
|
-
Version: 7.0.7.
|
|
3
|
+
Version: 7.0.7.dev28634
|
|
4
4
|
Summary: Open data portal
|
|
5
5
|
Home-page: https://github.com/opendatateam/udata
|
|
6
6
|
Author: Opendata Team
|
|
@@ -139,6 +139,8 @@ It is collectively taken care of by members of the
|
|
|
139
139
|
- Move `db` and Mongo fields classes outside `udata.models` [#3005](https://github.com/opendatateam/udata/pull/3005)
|
|
140
140
|
- :warning: Update LICENSE_GROUPS config layout [#3010](https://github.com/opendatateam/udata/pull/3010)
|
|
141
141
|
- Remove unused dependencies [#3006](https://github.com/opendatateam/udata/pull/3006)
|
|
142
|
+
- Move some `import User` to runtime imports [#3013](https://github.com/opendatateam/udata/pull/3013)
|
|
143
|
+
- Move `Owned` mixin to its own module [#3008](https://github.com/opendatateam/udata/pull/3008)
|
|
142
144
|
- Move `badge_fields` to separate module than `models.py` [#3011](https://github.com/opendatateam/udata/pull/3011)
|
|
143
145
|
|
|
144
146
|
## 7.0.6 (2024-03-29)
|
|
@@ -23,11 +23,11 @@ udata/worker.py,sha256=K-Wafye5-uXP4kQlffRKws2J9YbJ6m6n2QjcVsY8Nsg,118
|
|
|
23
23
|
udata/wsgi.py,sha256=P7AJvZ5JqY4uRSBOzaFiBniChWIU9RVQ-Y0PN4vCCMY,77
|
|
24
24
|
udata/admin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
25
|
udata/admin/views.py,sha256=wMlpnC1aINW-6JDk6-kQXhcTYBZH-5wajEuWzVDcIKA,331
|
|
26
|
-
udata/api/__init__.py,sha256=
|
|
26
|
+
udata/api/__init__.py,sha256=0Eh2xF4GaWcpfL9WMvDBLxi6-si4JK5VcxaBVhc73yc,10864
|
|
27
27
|
udata/api/commands.py,sha256=oK2p1VdUvULDdYuvYYpYvY_bdkPJy-KfROfoX71oOuA,3277
|
|
28
28
|
udata/api/errors.py,sha256=Sy_f3WVrNTUPZjCOogIVgocDdUjnKz149KDi4mMA_Lg,240
|
|
29
29
|
udata/api/fields.py,sha256=l-Fa27-easR86qgof2bk130jq1N1pNUgGmQzok1UI3Q,3094
|
|
30
|
-
udata/api/oauth2.py,sha256=
|
|
30
|
+
udata/api/oauth2.py,sha256=ERppP1FtigiAJXO01IjhFFzG8ajPVD6gPcKpBrjHFO4,11726
|
|
31
31
|
udata/api/parsers.py,sha256=Fo4krCaFao0D1QNqKpjWiFVvKVLd9b_2mon6RbbOXls,1485
|
|
32
32
|
udata/api/signals.py,sha256=9zcw4NDdpJwhgsS5UyLtnls1w_RfqghYFULza6d4-cw,162
|
|
33
33
|
udata/auth/__init__.py,sha256=ziR6gzkE1V4__3ynjE-_IPWHzmapOsZIrnaDAjDijsM,1958
|
|
@@ -52,6 +52,7 @@ udata/commands/worker.py,sha256=zek8YRxCESrZIULhx9D9RQOPFc4WwhYm2sF7-PPbEKY,4028
|
|
|
52
52
|
udata/commands/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
53
53
|
udata/commands/tests/fixtures.py,sha256=h78grSpZDgOwvmezyD3qBpiSnpxaQ9tDeQOr3sB8EiY,1581
|
|
54
54
|
udata/core/__init__.py,sha256=n7TBP0lkYJl-BLoc67V5fyaawrWmsrWG_mLIF49UFOY,385
|
|
55
|
+
udata/core/owned.py,sha256=sLI4UpVuMukMEkC3K9Iwjl6P6Cz25J48M6VZc_-HZRQ,2718
|
|
55
56
|
udata/core/activity/__init__.py,sha256=4vB92owvzwn2VVxbFWGNcfESb6izDzvbj6lmLH4ssrU,299
|
|
56
57
|
udata/core/activity/api.py,sha256=ohDEbzhbsmJ6YHQh3Aa8wYctaDQGuwKdg0kjh3lC028,3276
|
|
57
58
|
udata/core/activity/models.py,sha256=kzy9kcixX3DUo-2YpVjGXVHR4cOZMl7AsPiDBZ52EDs,2118
|
|
@@ -75,7 +76,7 @@ udata/core/contact_point/api.py,sha256=PyurW-Je4iRJlagyvDOkIhp_xINHqghNIiHjtqQTL
|
|
|
75
76
|
udata/core/contact_point/api_fields.py,sha256=KQADF7Drnd1uT9ZWjLRKQPJh6GdGUXJkYf1LV_9ZFIE,939
|
|
76
77
|
udata/core/contact_point/factories.py,sha256=ATuV1seBCGKY3CzvPDG5nxfBBqHu-3YtER0_fiQJx6c,248
|
|
77
78
|
udata/core/contact_point/forms.py,sha256=ggLhSJ1IRn5MclrhydckjAxwr4fFZxgAD4huSSucSsA,598
|
|
78
|
-
udata/core/contact_point/models.py,sha256=
|
|
79
|
+
udata/core/contact_point/models.py,sha256=NlNKureCpzgTLJuGviZPjNx-ABYRp4j2L-ur9Gmixao,324
|
|
79
80
|
udata/core/dataset/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
80
81
|
udata/core/dataset/actions.py,sha256=3pzBg_qOR-w7fwPpTOKUHXWC9lkjALbOn1UQFmmT-s0,1199
|
|
81
82
|
udata/core/dataset/activities.py,sha256=qQnHNL0hOB1IGtQl7JsnVOiUsWT0gm-pts9uDyR3bvU,1536
|
|
@@ -89,7 +90,7 @@ udata/core/dataset/events.py,sha256=DI71VfRc1eDTtgWQ3TJx5gtUw2MO0O_CVLCKLq0OIF0,
|
|
|
89
90
|
udata/core/dataset/exceptions.py,sha256=uI_NvZRZMr_MtYQBYdLD8tk-BIUeDDfMMcrWwqV7mi8,494
|
|
90
91
|
udata/core/dataset/factories.py,sha256=fHPgEUUpqGw7p7K5wGg-wA6Q0-Pc9eNbzAQK-va8zMM,9120
|
|
91
92
|
udata/core/dataset/forms.py,sha256=kICGBzoTal_ipXw9DqhnOWKQK8x7scQI9mEe0JGMt9g,6181
|
|
92
|
-
udata/core/dataset/models.py,sha256=
|
|
93
|
+
udata/core/dataset/models.py,sha256=2JOyN7P2P39iRt1XQ9GRghwm6p_YTbBZBHM5Hg0m7dA,35992
|
|
93
94
|
udata/core/dataset/permissions.py,sha256=3F2J7le3_rEYNhh88o3hSRWHAAt01_yHJM6RPmvCrRo,1090
|
|
94
95
|
udata/core/dataset/preview.py,sha256=puPKT3fBD7ezAcT6owh0JK1_rGNDFZOqgT223qGn3LY,2597
|
|
95
96
|
udata/core/dataset/rdf.py,sha256=oQqVpDvDCQKsfp5LKlIXACxLg89LpA2ydbkICxZCvT0,22830
|
|
@@ -136,7 +137,7 @@ udata/core/organization/constants.py,sha256=XGVnItrJTG0hcVKRK5sPmx44KHC9r_EKtj_y
|
|
|
136
137
|
udata/core/organization/csv.py,sha256=x0afMfhWYvx_karwuw5jXqBhMbzkrsiEuAq1wTVurZI,1491
|
|
137
138
|
udata/core/organization/factories.py,sha256=5BABVcDhEChRhJsDfCDm8WyJG4l9j3H1_OFZa3VtlVs,646
|
|
138
139
|
udata/core/organization/forms.py,sha256=JXXv4tQGbIbICti7RXLVZdnc6VujATmLhDrHIsFxBME,3550
|
|
139
|
-
udata/core/organization/metrics.py,sha256=
|
|
140
|
+
udata/core/organization/metrics.py,sha256=45NDcsFV-oJJQUuq6AyIDXjR-RNubwYWF5-Ke8KrPDY,777
|
|
140
141
|
udata/core/organization/models.py,sha256=Y7iFRQY6m87nKZNUMK9qsZJXZ6xzA6t2q_YxAm8K7Dg,8315
|
|
141
142
|
udata/core/organization/notifications.py,sha256=j-2LIHZ5y5QuVietWAWOrAqf4v1HMCtSDZ0w7V-z_1c,763
|
|
142
143
|
udata/core/organization/permissions.py,sha256=cNIPiPgXVW2hvKqbuKHA_62tX2xaT8jiVJ3BEfnsHn0,1299
|
|
@@ -163,7 +164,7 @@ udata/core/reuse/csv.py,sha256=k-syWGC7hJnqfaOtPRFFn8P8skCDcrnMWNWbJ3fUyXo,727
|
|
|
163
164
|
udata/core/reuse/factories.py,sha256=lTABDzgyxDhgTQhjsJb54B0TtTyu2uXlcN_1fU29G_8,862
|
|
164
165
|
udata/core/reuse/forms.py,sha256=UI3dYNgx9r9QxN-f2voxIXE_Dsx7lpLxuOsmc0VtXj4,1805
|
|
165
166
|
udata/core/reuse/metrics.py,sha256=uh0CxErJ8OxrQvajCSfKvQRbhB9rXKzTZ1AhyEMQvP0,161
|
|
166
|
-
udata/core/reuse/models.py,sha256=
|
|
167
|
+
udata/core/reuse/models.py,sha256=BfQtYbAmnWWrGNvc-TQK91NwMkwY4bcnG9CcAgMfMqA,5902
|
|
167
168
|
udata/core/reuse/permissions.py,sha256=-7lq32HuhIswR-yGv3Mp02cuEdG0YNam4VB2OnZZVEs,560
|
|
168
169
|
udata/core/reuse/search.py,sha256=I3FX-9YP_cEqw5GFwFv2iqLZExeaQXsak13RMSCN7t8,2886
|
|
169
170
|
udata/core/reuse/signals.py,sha256=2vv668u8miJ9t6H-FwRgXcWwsYMQem3oLNXp36rKtno,155
|
|
@@ -213,7 +214,7 @@ udata/core/topic/api.py,sha256=G3hN4e9rK5mIYvDLvPpAOo_DN2SySAGykVVvXGx4uMY,5105
|
|
|
213
214
|
udata/core/topic/apiv2.py,sha256=cf-WUSZ7P6Tss3S8utS-uhreLgGI5XR3nn_1UWiZ_Xs,9846
|
|
214
215
|
udata/core/topic/factories.py,sha256=ksWcIAoYiKCS48q2-RKMYbNJfz1z9H0fBYM9lswFr-8,717
|
|
215
216
|
udata/core/topic/forms.py,sha256=XqGI4nANdsm2UkIiGAuVqEdZkN5N9sqJ4VaM_PhTaVQ,987
|
|
216
|
-
udata/core/topic/models.py,sha256=
|
|
217
|
+
udata/core/topic/models.py,sha256=Fsq4ONTOhDkgNijhRHXqUAOwtqAcUbjanmjftXN5GNE,2100
|
|
217
218
|
udata/core/topic/parsers.py,sha256=p2JCGfjeqb5GQTstZssclzLRLqUHy7KWJ7TDcLSF51M,2103
|
|
218
219
|
udata/core/topic/permissions.py,sha256=RtFPPlxuU_Bv7ip6LDO4AoPrKFnIOEs9cCMXaSSmEdk,118
|
|
219
220
|
udata/core/user/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -224,12 +225,12 @@ udata/core/user/commands.py,sha256=DlNBFaojhhPHH4kZazp0NMwYWnzPZXBba_vqH-cfR1U,3
|
|
|
224
225
|
udata/core/user/constants.py,sha256=aTluhTR2RGZ_cdG7-mkEoT5Ndbg8BNUwwzCOld0aLMY,77
|
|
225
226
|
udata/core/user/factories.py,sha256=JiY-AghapelwhAVAExiUEHS1odyIu4PppWuhtZnkjBY,790
|
|
226
227
|
udata/core/user/forms.py,sha256=XKhZFiXtTp_o0J4feLI2RQAjsmrf2CsyRQJ8n_gFVVg,992
|
|
227
|
-
udata/core/user/metrics.py,sha256=
|
|
228
|
+
udata/core/user/metrics.py,sha256=elq1UFXSWrPBdZiHZ8uiuaV5k8g0OTXIkQ0VDW2ND2A,926
|
|
228
229
|
udata/core/user/models.py,sha256=VTIdPE4yROvcIUFpEd6GH0IA_v36pACWqFo3i1Ko-YM,9503
|
|
229
230
|
udata/core/user/permissions.py,sha256=unBqNHcTAFYpN_kn0FTDLOYMPyWVeOvW7TQyeJkUI-M,436
|
|
230
231
|
udata/core/user/rdf.py,sha256=pE0ISNBgQ3AnbtuzCE91XQmi5Cq_S0cMehbaqZFww7Q,867
|
|
231
232
|
udata/core/user/tasks.py,sha256=drBhjauaydPcZb7y4ton6PhlXd5rmmZe5EbPWCzELkA,317
|
|
232
|
-
udata/core/user/tests/test_user_model.py,sha256=
|
|
233
|
+
udata/core/user/tests/test_user_model.py,sha256=duC3o8ccAnyekf6SkoncxvK3tOoG0_cNjBYqPJS-lcE,2162
|
|
233
234
|
udata/event/__init__.py,sha256=2G9g1C_dp3yap4ehJE950Bnl1uQtD00TsvTFZhvhRS8,41
|
|
234
235
|
udata/event/values.py,sha256=k795i6l1W9gkfkW_J-KcT5dPOwSoNcVlAIrK-2XcvAs,196
|
|
235
236
|
udata/features/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -266,7 +267,7 @@ udata/harvest/csv.py,sha256=c2fPnMB6q99wRxLncl8L0ILcdF4SI8Lsl8tViNrcW6A,396
|
|
|
266
267
|
udata/harvest/exceptions.py,sha256=YaXw0ESmSCcibfUmP5uc1uRedKD2mvUBXUOnbaSXtNw,299
|
|
267
268
|
udata/harvest/filters.py,sha256=VGSbMLOXQ9ay5GlTvCwN1_EmWX6KEXs-RPcOXo45Q6U,2615
|
|
268
269
|
udata/harvest/forms.py,sha256=AxEFhBACjXVT9X1bSK8WzDAZgWg-hdaWBebFb1ihNYo,3389
|
|
269
|
-
udata/harvest/models.py,sha256
|
|
270
|
+
udata/harvest/models.py,sha256=7mTZKcIxtagW5GimYIqPyzQ4tqExO3RzKxqOh0tB9PE,5988
|
|
270
271
|
udata/harvest/notifications.py,sha256=aNKUtUl73Caj_kl-ENOEbTX_cgtySqLjHhtH9FEDR9Y,774
|
|
271
272
|
udata/harvest/signals.py,sha256=wlXTi1E7rIVyNvxw0yUqyN5gF3thg276LAOmAF9vDJY,1338
|
|
272
273
|
udata/harvest/tasks.py,sha256=0VhefKCQJSU_puTpdKOpvt3WORXHAFWGEB-R_MhB12M,1981
|
|
@@ -335,9 +336,8 @@ udata/mongo/__init__.py,sha256=_ubmmhJuo6_fpuoMPEAat9Pv-5K_8rDbUuXmhe62zvU,1419
|
|
|
335
336
|
udata/mongo/badges_field.py,sha256=NnHA6OT40UysQzO3qnxiDNLR-SCj19KlqD1c-p1DP2Q,984
|
|
336
337
|
udata/mongo/datetime_fields.py,sha256=f3Q4LYa9pKRdB2W2yZVFIuIqd7_ELim1djr6xjPhEZg,1932
|
|
337
338
|
udata/mongo/document.py,sha256=fqqzrj3Q85iYDJ3biwU-Dv_QJqS31IBf_TGqvppCSz4,1200
|
|
338
|
-
udata/mongo/engine.py,sha256=
|
|
339
|
+
udata/mongo/engine.py,sha256=dLj-wEhdfk778Vqm7Tzq-Bg1M8_8BXLggug0hCvqdEs,2552
|
|
339
340
|
udata/mongo/extras_fields.py,sha256=OQD-V2h2I9mrL7nP2YPx3QtsDt4TDZYxxjKEQNe5kug,3961
|
|
340
|
-
udata/mongo/owned.py,sha256=LToJQ6UsC65QPXYEbHbPi8U0AmH55tNDqpKIAWZqAz4,2707
|
|
341
341
|
udata/mongo/queryset.py,sha256=2EH9BikDbQXkUsL9c0SotZKYAwkWXUTlk1fi9aJlX8Q,3118
|
|
342
342
|
udata/mongo/slug_fields.py,sha256=WOHfj1I7kIRxtEBYR83IirqLLhVX2WwqZQ0pKMODEmQ,6423
|
|
343
343
|
udata/mongo/taglist_field.py,sha256=R7C2wpRdeDP_gyYs5r5JjTz7tNm4jrrT9h6dv_pdcfw,551
|
|
@@ -569,7 +569,7 @@ udata/tests/test_mail.py,sha256=LK_fOBbFoqbwdaIEXO9XyGPzxY9nrT9FjyD_dlglUdQ,1643
|
|
|
569
569
|
udata/tests/test_migrations.py,sha256=IG2o13B3sgkfg3PAqrbOTkS2iqGubNxa_JD-LHL9zxc,15317
|
|
570
570
|
udata/tests/test_model.py,sha256=DoJxj5E_jmWMWQXS44XsZ0Fza3ymSQC5yWnekjMXjGs,20287
|
|
571
571
|
udata/tests/test_notifications.py,sha256=El5i56LCn0PwJc1PYx7g8onUk2i47dfjlcdMohCXGAQ,2333
|
|
572
|
-
udata/tests/test_owned.py,sha256=
|
|
572
|
+
udata/tests/test_owned.py,sha256=DNgr0iljvzaIPxRvYLG2nx6V3ADp0U8SEW0xj4nYieM,5662
|
|
573
573
|
udata/tests/test_rdf.py,sha256=osRAX9U9v5Hm3Tar-FqKUe7wCuTx4jHI7sYJxJVIhaQ,2813
|
|
574
574
|
udata/tests/test_routing.py,sha256=zoPmmiEakFRK32ZHWKC6N1FOzwsS3x65-Iw4nhw2FYM,10039
|
|
575
575
|
udata/tests/test_storages.py,sha256=V1yaaa2z_cJuy5tIP9uBPeUZxYXqccpYZ_bMVOUQ0c0,9329
|
|
@@ -675,9 +675,9 @@ udata/translations/pt/LC_MESSAGES/udata.mo,sha256=zCVMB-a4-mLM1jNyYMk58rgVRaVIwQ
|
|
|
675
675
|
udata/translations/pt/LC_MESSAGES/udata.po,sha256=avfWczvlLBKSohyB55-4TLmUGMU_Rze4XmAo4OTk2v0,43513
|
|
676
676
|
udata/translations/sr/LC_MESSAGES/udata.mo,sha256=ScuqdpaV4y1ZIpBAEfxeaKdzkyGZL0mJmKMoG6w0iRQ,28553
|
|
677
677
|
udata/translations/sr/LC_MESSAGES/udata.po,sha256=QpgEXh1eHjztPa7oNLXd_sds1DC95A-STTtZyTE4m-E,50093
|
|
678
|
-
udata-7.0.7.
|
|
679
|
-
udata-7.0.7.
|
|
680
|
-
udata-7.0.7.
|
|
681
|
-
udata-7.0.7.
|
|
682
|
-
udata-7.0.7.
|
|
683
|
-
udata-7.0.7.
|
|
678
|
+
udata-7.0.7.dev28634.dist-info/LICENSE,sha256=V8j_M8nAz8PvAOZQocyRDX7keai8UJ9skgmnwqETmdY,34520
|
|
679
|
+
udata-7.0.7.dev28634.dist-info/METADATA,sha256=XAKFY2BJI6UQod6OqXX7kIhsCLbQmvYB_nYIQT8JaLA,121198
|
|
680
|
+
udata-7.0.7.dev28634.dist-info/WHEEL,sha256=-G_t0oGuE7UD0DrSpVZnq1hHMBV9DD2XkS5v7XpmTnk,110
|
|
681
|
+
udata-7.0.7.dev28634.dist-info/entry_points.txt,sha256=3SKiqVy4HUqxf6iWspgMqH8d88Htk6KoLbG1BU-UddQ,451
|
|
682
|
+
udata-7.0.7.dev28634.dist-info/top_level.txt,sha256=39OCg-VWFWOq4gCKnjKNu-s3OwFlZIu_dVH8Gl6ndHw,12
|
|
683
|
+
udata-7.0.7.dev28634.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|