udata 7.0.7.dev28605__py2.py3-none-any.whl → 7.0.7.dev28628__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/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/static/chunks/{11.7266fef2dddc1db403d9.js → 11.ae54612e36c6d46f85db.js} +3 -3
- udata/static/chunks/{11.7266fef2dddc1db403d9.js.map → 11.ae54612e36c6d46f85db.js.map} +1 -1
- udata/static/chunks/{13.91b177d7d531fd55cf5d.js → 13.d8ccb992a49875966313.js} +2 -2
- udata/static/chunks/{13.91b177d7d531fd55cf5d.js.map → 13.d8ccb992a49875966313.js.map} +1 -1
- udata/static/chunks/{16.e866757bab9f6b0a3f1b.js → 16.4565605e68bab129a471.js} +2 -2
- udata/static/chunks/{16.e866757bab9f6b0a3f1b.js.map → 16.4565605e68bab129a471.js.map} +1 -1
- udata/static/chunks/{19.619b83ac597516dcd03e.js → 19.f993a75d5bfe2382548d.js} +3 -3
- udata/static/chunks/{19.619b83ac597516dcd03e.js.map → 19.f993a75d5bfe2382548d.js.map} +1 -1
- udata/static/chunks/{5.3dc97ea195d251881552.js → 5.ada3202d02917ce0edea.js} +3 -3
- udata/static/chunks/{5.3dc97ea195d251881552.js.map → 5.ada3202d02917ce0edea.js.map} +1 -1
- udata/static/chunks/{6.f84539bd4c419b36cc19.js → 6.cad898a38692eda28965.js} +3 -3
- udata/static/chunks/{6.f84539bd4c419b36cc19.js.map → 6.cad898a38692eda28965.js.map} +1 -1
- udata/static/chunks/{9.07503e7f7ec02919f696.js → 9.d5b992e9ef51921aeb57.js} +2 -2
- udata/static/chunks/{9.07503e7f7ec02919f696.js.map → 9.d5b992e9ef51921aeb57.js.map} +1 -1
- udata/static/common.js +1 -1
- udata/static/common.js.map +1 -1
- udata/tests/test_owned.py +4 -4
- {udata-7.0.7.dev28605.dist-info → udata-7.0.7.dev28628.dist-info}/METADATA +2 -1
- {udata-7.0.7.dev28605.dist-info → udata-7.0.7.dev28628.dist-info}/RECORD +33 -33
- {udata-7.0.7.dev28605.dist-info → udata-7.0.7.dev28628.dist-info}/LICENSE +0 -0
- {udata-7.0.7.dev28605.dist-info → udata-7.0.7.dev28628.dist-info}/WHEEL +0 -0
- {udata-7.0.7.dev28605.dist-info → udata-7.0.7.dev28628.dist-info}/entry_points.txt +0 -0
- {udata-7.0.7.dev28605.dist-info → udata-7.0.7.dev28628.dist-info}/top_level.txt +0 -0
|
@@ -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
|
|