udata 10.4.4.dev35901__py2.py3-none-any.whl → 10.4.4.dev35923__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/dataset/rdf.py CHANGED
@@ -109,7 +109,8 @@ def temporal_to_rdf(
109
109
  graph = graph or Graph(namespace_manager=namespace_manager)
110
110
  pot = graph.resource(BNode())
111
111
  pot.set(RDF.type, DCT.PeriodOfTime)
112
- pot.set(DCAT.startDate, Literal(daterange.start))
112
+ if daterange.start:
113
+ pot.set(DCAT.startDate, Literal(daterange.start))
113
114
  if daterange.end:
114
115
  pot.set(DCAT.endDate, Literal(daterange.end))
115
116
  return pot
@@ -409,6 +410,14 @@ def temporal_from_literal(text):
409
410
  )
410
411
 
411
412
 
413
+ def maybe_date_range(start, end):
414
+ if start or end:
415
+ return db.DateRange(
416
+ start=start.toPython() if start else None,
417
+ end=end.toPython() if end else None,
418
+ )
419
+
420
+
412
421
  def temporal_from_resource(resource):
413
422
  """
414
423
  Parse a temporal coverage from a RDF class/resource ie. either:
@@ -422,24 +431,12 @@ def temporal_from_resource(resource):
422
431
  # Fetch remote ontology if necessary
423
432
  g = Graph().parse(str(resource.identifier))
424
433
  resource = g.resource(resource.identifier)
425
- if resource.value(SCHEMA.startDate):
426
- end = resource.value(SCHEMA.endDate)
427
- return db.DateRange(
428
- start=resource.value(SCHEMA.startDate).toPython(),
429
- end=end.toPython() if end else None,
430
- )
431
- elif resource.value(DCAT.startDate):
432
- end = resource.value(DCAT.endDate)
433
- return db.DateRange(
434
- start=resource.value(DCAT.startDate).toPython(),
435
- end=end.toPython() if end else None,
436
- )
437
- elif resource.value(SCV.min):
438
- end = resource.value(SCV.max)
439
- return db.DateRange(
440
- start=resource.value(SCV.min).toPython(),
441
- end=end.toPython() if end else None,
442
- )
434
+ if range := maybe_date_range(resource.value(SCHEMA.startDate), resource.value(SCHEMA.endDate)):
435
+ return range
436
+ elif range := maybe_date_range(resource.value(DCAT.startDate), resource.value(DCAT.endDate)):
437
+ return range
438
+ elif range := maybe_date_range(resource.value(SCV.min), resource.value(SCV.max)):
439
+ return range
443
440
 
444
441
 
445
442
  def temporal_from_rdf(period_of_time):
@@ -292,6 +292,19 @@ class DatasetToRdfTest:
292
292
  assert pot.value(DCAT.startDate).toPython() == start
293
293
  assert pot.value(DCAT.endDate) is None
294
294
 
295
+ def test_temporal_coverage_only_end(self):
296
+ end = faker.future_date(end_date="+30d")
297
+ temporal_coverage = db.DateRange(end=end)
298
+ dataset = DatasetFactory(temporal_coverage=temporal_coverage)
299
+
300
+ d = dataset_to_rdf(dataset)
301
+
302
+ pot = d.value(DCT.temporal)
303
+
304
+ assert pot.value(RDF.type).identifier == DCT.PeriodOfTime
305
+ assert pot.value(DCAT.startDate) is None
306
+ assert pot.value(DCAT.endDate).toPython() == end
307
+
295
308
  def test_from_external_repository(self):
296
309
  dataset = DatasetFactory(
297
310
  harvest=HarvestDatasetMetadata(
@@ -893,6 +906,20 @@ class RdfToDatasetTest:
893
906
  assert daterange.start == start
894
907
  assert daterange.end is None
895
908
 
909
+ def test_parse_temporal_as_schema_format_only_end_date(self):
910
+ node = BNode()
911
+ g = Graph()
912
+ end = faker.future_date(end_date="+30d")
913
+
914
+ g.set((node, RDF.type, DCT.PeriodOfTime))
915
+ g.set((node, SCHEMA.endDate, Literal(end)))
916
+
917
+ daterange = temporal_from_rdf(g.resource(node))
918
+
919
+ assert isinstance(daterange, db.DateRange)
920
+ assert daterange.start is None
921
+ assert daterange.end == end
922
+
896
923
  def test_parse_temporal_as_iso_interval(self):
897
924
  start = faker.past_date(start_date="-30d")
898
925
  end = faker.future_date(end_date="+30d")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: udata
3
- Version: 10.4.4.dev35901
3
+ Version: 10.4.4.dev35923
4
4
  Summary: Open data portal
5
5
  Home-page: https://github.com/opendatateam/udata
6
6
  Author: Opendata Team
@@ -142,6 +142,7 @@ It is collectively taken care of by members of the
142
142
 
143
143
  ## Current (in progress)
144
144
 
145
+ - Allow temporal intervals with no start date [#3353](https://github.com/opendatateam/udata/pull/3353)
145
146
  - Fix removing schema by sending null [#3350](https://github.com/opendatateam/udata/pull/3350)
146
147
  - Use datagouv patched ISO-DCAT XSLT URL [#3351](https://github.com/opendatateam/udata/pull/3351)
147
148
 
@@ -108,7 +108,7 @@ udata/core/dataset/forms.py,sha256=7KUxuFcEGT0MUe0cZCiZtsnZhvGgvEd68pe13NgeSMI,6
108
108
  udata/core/dataset/models.py,sha256=_zsUDRl4xUt2Rp1QuIw2f85FxBNx_e2XgpiXVxVQ-tE,42889
109
109
  udata/core/dataset/permissions.py,sha256=zXQ6kU-Ni3Pl5tDtat-ZPupug9InsNeCN7xRLc2Vcrc,1097
110
110
  udata/core/dataset/preview.py,sha256=IwCqiNTjjXbtA_SSKF52pwnzKKEz0GyYM95QNn2Dkog,2561
111
- udata/core/dataset/rdf.py,sha256=XrdW_ipDYiaGpFFPS4Icce_tVpTtu8JcsL5O1H1Wwg4,31807
111
+ udata/core/dataset/rdf.py,sha256=anpTfjH9dUdZZRk_X8oixtSqXwffVKwXgfy3lB5OA8A,31698
112
112
  udata/core/dataset/search.py,sha256=E7LqHBnq3sMefvmLwTpiw-Ovem2a3NJswHesRjctboE,5627
113
113
  udata/core/dataset/signals.py,sha256=WN4sV-lJlNsRkhcnhoy0SYJvCoYmK_5QFYZd1u-h4gs,161
114
114
  udata/core/dataset/tasks.py,sha256=6FzeLzJRQxzq7sBLUE8H8ZGLByix2EDOzGAsA8FteX8,10019
@@ -663,7 +663,7 @@ udata/tests/dataset/test_dataset_actions.py,sha256=bgDjVYjOvu3sX_FCTCzf2snZYSprs
663
663
  udata/tests/dataset/test_dataset_commands.py,sha256=zMPJG2wYwKBee2zI65kmboxf59Zqa84DDjT8V5wj9uo,801
664
664
  udata/tests/dataset/test_dataset_events.py,sha256=hlrpoOiBbnX_COUI9Pzdqlp45GZZDqu5piwupbnPiTI,3601
665
665
  udata/tests/dataset/test_dataset_model.py,sha256=av4RhOnT-52qs-WL1NCn6R2SMa_fzDcoV-06vjccsdw,33891
666
- udata/tests/dataset/test_dataset_rdf.py,sha256=fWMfhJvxmRKPw7cdvksS-sJBJT4G9DepDIm5RTdvrJ4,41310
666
+ udata/tests/dataset/test_dataset_rdf.py,sha256=kFnrKzt_Gyw5zoRB2Tkhd3LN-XOpaIVzrF0oYvVS1fA,42220
667
667
  udata/tests/dataset/test_dataset_tasks.py,sha256=n1W2Pg0ez02d66zQG3N93kh7dpR2yLMRDqUI6PnPaI0,3088
668
668
  udata/tests/dataset/test_resource_preview.py,sha256=fp9mSL7unhyM66GR0gwhgX3OGQ4TJt7G9xU-CjsL3HI,3908
669
669
  udata/tests/features/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -731,9 +731,9 @@ udata/translations/pt/LC_MESSAGES/udata.mo,sha256=9sCd1MUKvtVP_sOXvK-G5v4PfWkkdA
731
731
  udata/translations/pt/LC_MESSAGES/udata.po,sha256=-eJptz9s63rjkdm-3HJi_2t70pyv3-8EuXBn-B2qI_4,48419
732
732
  udata/translations/sr/LC_MESSAGES/udata.mo,sha256=qduXntHWe__KaUxJ4JwwyGG3eSgYb1auGdNax0lS49c,29169
733
733
  udata/translations/sr/LC_MESSAGES/udata.po,sha256=6QCuLMCRjgyAvu9U7i0P19ae8fm_uStfmxHLqUO9EoY,55394
734
- udata-10.4.4.dev35901.dist-info/LICENSE,sha256=V8j_M8nAz8PvAOZQocyRDX7keai8UJ9skgmnwqETmdY,34520
735
- udata-10.4.4.dev35901.dist-info/METADATA,sha256=K-J7vGWIl8-PJTvrkioCYToxUwCEnqBDTpaEm7E1R4E,148725
736
- udata-10.4.4.dev35901.dist-info/WHEEL,sha256=Kh9pAotZVRFj97E15yTA4iADqXdQfIVTHcNaZTjxeGM,110
737
- udata-10.4.4.dev35901.dist-info/entry_points.txt,sha256=ETvkR4r6G1duBsh_V_fGWENQy17GTFuobi95MYBAl1A,498
738
- udata-10.4.4.dev35901.dist-info/top_level.txt,sha256=39OCg-VWFWOq4gCKnjKNu-s3OwFlZIu_dVH8Gl6ndHw,12
739
- udata-10.4.4.dev35901.dist-info/RECORD,,
734
+ udata-10.4.4.dev35923.dist-info/LICENSE,sha256=V8j_M8nAz8PvAOZQocyRDX7keai8UJ9skgmnwqETmdY,34520
735
+ udata-10.4.4.dev35923.dist-info/METADATA,sha256=Ln2jXmBiBf_pOsqdpwHrrRj376CTSZWVeq1rj68RJak,148828
736
+ udata-10.4.4.dev35923.dist-info/WHEEL,sha256=Kh9pAotZVRFj97E15yTA4iADqXdQfIVTHcNaZTjxeGM,110
737
+ udata-10.4.4.dev35923.dist-info/entry_points.txt,sha256=ETvkR4r6G1duBsh_V_fGWENQy17GTFuobi95MYBAl1A,498
738
+ udata-10.4.4.dev35923.dist-info/top_level.txt,sha256=39OCg-VWFWOq4gCKnjKNu-s3OwFlZIu_dVH8Gl6ndHw,12
739
+ udata-10.4.4.dev35923.dist-info/RECORD,,