udata 7.0.7.dev28615__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.

@@ -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, db.Owned):
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': db.OwnedQuerySet
12
+ 'queryset_class': OwnedQuerySet
13
13
  }
@@ -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(db.OwnedQuerySet):
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, db.Owned, db.Document):
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
- ] + db.Owned.meta['indexes'],
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, db.Owned, db.Document):
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': db.OwnedQuerySet,
920
+ 'queryset_class': OwnedQuerySet,
920
921
  }
921
922
 
922
923
  @property
@@ -1,5 +1,5 @@
1
- from udata.models import db, Dataset, Reuse, Organization
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
- @db.Owned.on_owner_change.connect
20
+ @Owned.on_owner_change.connect
21
21
  def update_org_metrics(document, previous):
22
22
  if not isinstance(previous, Organization):
23
23
  return
@@ -4,7 +4,7 @@ from blinker import signal
4
4
  from mongoengine import NULLIFY, Q, post_save
5
5
  from mongoengine.fields import ReferenceField
6
6
 
7
- from .queryset import UDataQuerySet
7
+ from udata.mongo.queryset import UDataQuerySet
8
8
 
9
9
  log = logging.getLogger(__name__)
10
10
 
@@ -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(db.OwnedQuerySet):
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, db.Owned, db.Document):
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'] + db.Owned.meta['indexes'],
72
+ 'urlhash'] + Owned.meta['indexes'],
72
73
  'ordering': ['-created_at'],
73
74
  'queryset_class': ReuseQuerySet,
74
75
  'auto_create_index_on_save': True
@@ -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, db.Owned, db.Datetimed):
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
- ] + db.Owned.meta['indexes'],
37
+ ] + Owned.meta['indexes'],
37
38
  'ordering': ['-created_at'],
38
39
  'auto_create_index_on_save': True
39
40
  }
@@ -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
- @db.Owned.on_owner_change.connect
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 Discussion, User
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(db.OwnedQuerySet):
87
+ class HarvestSourceQuerySet(OwnedQuerySet):
87
88
  def visible(self):
88
89
  return self(deleted=None)
89
90
 
90
91
 
91
- class HarvestSource(db.Owned, db.Document):
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
- ] + db.Owned.meta['indexes'],
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(db.Owned, db.Document):
13
+ class Owned(owned.Owned, db.Document):
14
14
  name = db.StringField()
15
15
 
16
16
 
17
- class OwnedPostSave(db.Owned, db.Document):
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, db.OwnedQuerySet)
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.dev28615
3
+ Version: 7.0.7.dev28628
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
  - 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 `Owned` mixin to its own module [#3008](https://github.com/opendatateam/udata/pull/3008)
142
143
  - Move `badge_fields` to separate module than `models.py` [#3011](https://github.com/opendatateam/udata/pull/3011)
143
144
 
144
145
  ## 7.0.6 (2024-03-29)
@@ -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=iwXsJgmsRiLWOaUbSqZe7Oyjcr6W6zhGwrmVzoY2PR0,281
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=VA6x7LlP3EGgTWoTK5Sfomwzq8j04l6xLWzzeW_DQIo,35957
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=nQiRscXRgpuzpfg5nNE6-kyJqk36KdRXKD_G5MmiJok,750
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=qBbvgxPiLhgizpJ5XVFCixWjRub3NY_sg3WsQehTZZ0,5861
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=PZsYfiuEU86iL1x-qvDevn4Io8lKGahAbqky03j1N2k,2071
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=sHw76gkprLp0oKWJf1uQqShBbgC43lZm7A5OSCuueAw,895
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=QQtsEht4MOdG-31yS0NhRdow34xijKQr0-HbvM6CERk,2121
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=-C2vlyvQqXyO6COJydGaaob0JOXPGKRMVdrmElHhyfU,5947
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=zfV5XLpRcK3ri6unRCshDe1k8lnZ_ETyNztPNVKEbJs,2662
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=JNkJswesmlx2qvrTBX6YNZx1wzxBxM2i8TIqrTYWH0A,5621
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.dev28615.dist-info/LICENSE,sha256=V8j_M8nAz8PvAOZQocyRDX7keai8UJ9skgmnwqETmdY,34520
679
- udata-7.0.7.dev28615.dist-info/METADATA,sha256=_n0DrpDt7dupfZWZxm6-sZmbYxNLanRYUcehDSHKW7A,121000
680
- udata-7.0.7.dev28615.dist-info/WHEEL,sha256=-G_t0oGuE7UD0DrSpVZnq1hHMBV9DD2XkS5v7XpmTnk,110
681
- udata-7.0.7.dev28615.dist-info/entry_points.txt,sha256=3SKiqVy4HUqxf6iWspgMqH8d88Htk6KoLbG1BU-UddQ,451
682
- udata-7.0.7.dev28615.dist-info/top_level.txt,sha256=39OCg-VWFWOq4gCKnjKNu-s3OwFlZIu_dVH8Gl6ndHw,12
683
- udata-7.0.7.dev28615.dist-info/RECORD,,
678
+ udata-7.0.7.dev28628.dist-info/LICENSE,sha256=V8j_M8nAz8PvAOZQocyRDX7keai8UJ9skgmnwqETmdY,34520
679
+ udata-7.0.7.dev28628.dist-info/METADATA,sha256=rw8B0w58nDD-jkK7WzvZYk61apwjUW5XgMq19DZ3jP4,121096
680
+ udata-7.0.7.dev28628.dist-info/WHEEL,sha256=-G_t0oGuE7UD0DrSpVZnq1hHMBV9DD2XkS5v7XpmTnk,110
681
+ udata-7.0.7.dev28628.dist-info/entry_points.txt,sha256=3SKiqVy4HUqxf6iWspgMqH8d88Htk6KoLbG1BU-UddQ,451
682
+ udata-7.0.7.dev28628.dist-info/top_level.txt,sha256=39OCg-VWFWOq4gCKnjKNu-s3OwFlZIu_dVH8Gl6ndHw,12
683
+ udata-7.0.7.dev28628.dist-info/RECORD,,