udata 8.0.1__py2.py3-none-any.whl → 8.0.1.dev28882__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.
Files changed (50) hide show
  1. udata/__init__.py +1 -1
  2. udata/api/__init__.py +3 -6
  3. udata/api/oauth2.py +1 -2
  4. udata/core/badges/models.py +1 -2
  5. udata/core/dataset/apiv2.py +0 -2
  6. udata/core/dataset/models.py +0 -1
  7. udata/core/dataset/rdf.py +1 -21
  8. udata/core/metrics/models.py +3 -2
  9. udata/core/organization/api_fields.py +3 -28
  10. udata/core/organization/models.py +1 -3
  11. udata/core/owned.py +2 -39
  12. udata/core/spatial/api.py +4 -4
  13. udata/core/user/api.py +7 -11
  14. udata/core/user/models.py +2 -13
  15. udata/harvest/backends/dcat.py +8 -14
  16. udata/harvest/tests/dcat/catalog.xml +0 -1
  17. udata/harvest/tests/test_dcat_backend.py +0 -3
  18. udata/routing.py +0 -6
  19. udata/settings.py +1 -4
  20. udata/static/admin.css +2 -2
  21. udata/static/admin.css.map +1 -1
  22. udata/static/chunks/{0.93c3ae13b5b94753ee80.js → 0.6f1698738c9b0618b673.js} +3 -3
  23. udata/static/chunks/0.6f1698738c9b0618b673.js.map +1 -0
  24. udata/static/chunks/{14.e64890872b31c55fcdf7.js → 14.f4037a917d5364cb564b.js} +2 -2
  25. udata/static/chunks/14.f4037a917d5364cb564b.js.map +1 -0
  26. udata/static/chunks/{2.614b3e73b072982fd9b1.js → 2.7c89fae92899be371ed3.js} +2 -2
  27. udata/static/chunks/2.7c89fae92899be371ed3.js.map +1 -0
  28. udata/static/chunks/{5.48417db6b33328fa9d6a.js → 5.3dc97ea195d251881552.js} +2 -2
  29. udata/static/chunks/5.3dc97ea195d251881552.js.map +1 -0
  30. udata/static/common.js +1 -1
  31. udata/static/common.js.map +1 -1
  32. udata/tests/api/__init__.py +0 -3
  33. udata/tests/api/test_organizations_api.py +5 -78
  34. udata/tests/api/test_user_api.py +13 -47
  35. udata/tests/plugin.py +0 -5
  36. {udata-8.0.1.dist-info → udata-8.0.1.dev28882.dist-info}/METADATA +3 -12
  37. {udata-8.0.1.dist-info → udata-8.0.1.dev28882.dist-info}/RECORD +41 -46
  38. udata/api_fields.py +0 -254
  39. udata/core/dataservices/__init__.py +0 -0
  40. udata/core/dataservices/api.py +0 -84
  41. udata/core/dataservices/models.py +0 -130
  42. udata/static/chunks/0.93c3ae13b5b94753ee80.js.map +0 -1
  43. udata/static/chunks/14.e64890872b31c55fcdf7.js.map +0 -1
  44. udata/static/chunks/2.614b3e73b072982fd9b1.js.map +0 -1
  45. udata/static/chunks/5.48417db6b33328fa9d6a.js.map +0 -1
  46. udata/tests/api/test_dataservices_api.py +0 -236
  47. {udata-8.0.1.dist-info → udata-8.0.1.dev28882.dist-info}/LICENSE +0 -0
  48. {udata-8.0.1.dist-info → udata-8.0.1.dev28882.dist-info}/WHEEL +0 -0
  49. {udata-8.0.1.dist-info → udata-8.0.1.dev28882.dist-info}/entry_points.txt +0 -0
  50. {udata-8.0.1.dist-info → udata-8.0.1.dev28882.dist-info}/top_level.txt +0 -0
@@ -1,130 +0,0 @@
1
- from datetime import datetime
2
- from udata.api_fields import field, function_field, generate_fields
3
- from udata.core.dataset.models import Dataset
4
- from udata.core.metrics.models import WithMetrics
5
- from udata.core.owned import Owned, OwnedQuerySet
6
- from udata.i18n import lazy_gettext as _
7
- import udata.core.contact_point.api_fields as contact_api_fields
8
- import udata.core.dataset.api_fields as datasets_api_fields
9
-
10
- from udata.models import db
11
- from udata.uris import endpoint_for
12
-
13
- # "frequency"
14
- # "harvest"
15
- # "internal"
16
- # "page"
17
- # "quality" # Peut-être pas dans une v1 car la qualité sera probablement calculé différemment
18
- # "datasets" # objet : liste de datasets liés à une API
19
- # "spatial"
20
- # "temporal_coverage"
21
-
22
- DATASERVICE_FORMATS = ['REST', 'WMS', 'WSL']
23
-
24
-
25
- class DataserviceQuerySet(OwnedQuerySet):
26
- def visible(self):
27
- return self(archived_at=None, deleted_at=None, private=False)
28
-
29
- def hidden(self):
30
- return self(db.Q(private=True) |
31
- db.Q(deleted_at__ne=None) |
32
- db.Q(archived_at__ne=None))
33
-
34
- @generate_fields()
35
- class Dataservice(WithMetrics, Owned, db.Document):
36
- meta = {
37
- 'indexes': [
38
- '$title',
39
- ] + Owned.meta['indexes'],
40
- 'queryset_class': DataserviceQuerySet,
41
- 'auto_create_index_on_save': True
42
- }
43
-
44
- title = field(
45
- db.StringField(required=True),
46
- example="My awesome API",
47
- sortable=True,
48
- )
49
- acronym = field(
50
- db.StringField(max_length=128),
51
- )
52
- # /!\ do not set directly the slug when creating or updating a dataset
53
- # this will break the search indexation
54
- slug = field(
55
- db.SlugField(max_length=255, required=True, populate_from='title', update=True, follow=True),
56
- readonly=True,
57
- )
58
- description = field(
59
- db.StringField(default=''),
60
- description="In markdown"
61
- )
62
- base_api_url = field(
63
- db.URLField(required=True),
64
- sortable=True,
65
- )
66
- endpoint_description_url = field(db.URLField())
67
- authorization_request_url = field(db.URLField())
68
- availability= field(
69
- db.FloatField(min=0, max=100),
70
- example='99.99'
71
- )
72
- rate_limiting = field(db.StringField())
73
- is_restricted = field(db.BooleanField())
74
- has_token = field(db.BooleanField())
75
- format = field(db.StringField(choices=DATASERVICE_FORMATS))
76
-
77
- license = field(
78
- db.ReferenceField('License'),
79
- allow_null=True,
80
- )
81
-
82
- tags = field(
83
- db.TagListField(),
84
- )
85
-
86
- private = field(
87
- db.BooleanField(default=False),
88
- description='Is the dataservice private to the owner or the organization'
89
- )
90
-
91
- extras = field(db.ExtrasField())
92
-
93
- contact_point = field(
94
- db.ReferenceField('ContactPoint', reverse_delete_rule=db.NULLIFY),
95
- nested_fields=contact_api_fields.contact_point_fields,
96
- allow_null=True,
97
- )
98
-
99
- created_at = field(
100
- db.DateTimeField(verbose_name=_('Creation date'), default=datetime.utcnow, required=True),
101
- readonly=True,
102
- )
103
- metadata_modified_at = field(
104
- db.DateTimeField(verbose_name=_('Last modification date'), default=datetime.utcnow, required=True),
105
- readonly=True,
106
- )
107
- deleted_at = field(db.DateTimeField(), readonly=True)
108
- archived_at = field(db.DateTimeField(), readonly=True)
109
-
110
- datasets = field(
111
- db.ListField(
112
- field(
113
- db.ReferenceField(Dataset),
114
- nested_fields=datasets_api_fields.dataset_fields,
115
- )
116
- )
117
- )
118
-
119
- @function_field(description="Link to the API endpoint for this dataservice")
120
- def self_api_url(self):
121
- return endpoint_for('api.dataservice', dataservice=self, _external=True)
122
-
123
- def self_web_url():
124
- pass
125
-
126
- # TODO
127
- # frequency = db.StringField(choices=list(UPDATE_FREQUENCIES.keys()))
128
- # temporal_coverage = db.EmbeddedDocumentField(db.DateRange)
129
- # spatial = db.EmbeddedDocumentField(SpatialCoverage)
130
- # harvest = db.EmbeddedDocumentField(HarvestDatasetMetadata)