udata 10.8.2.dev37001__py2.py3-none-any.whl → 10.8.3__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.

Files changed (63) hide show
  1. udata/__init__.py +1 -1
  2. udata/core/activity/models.py +23 -1
  3. udata/core/dataset/api_fields.py +2 -0
  4. udata/core/dataset/apiv2.py +4 -0
  5. udata/core/dataset/constants.py +1 -0
  6. udata/core/dataset/csv.py +1 -0
  7. udata/core/dataset/forms.py +6 -0
  8. udata/core/dataset/metrics.py +34 -0
  9. udata/core/dataset/models.py +15 -3
  10. udata/core/dataset/tasks.py +0 -11
  11. udata/core/metrics/__init__.py +1 -0
  12. udata/core/metrics/commands.py +3 -0
  13. udata/core/organization/csv.py +9 -26
  14. udata/core/organization/metrics.py +2 -0
  15. udata/core/organization/models.py +14 -9
  16. udata/core/user/metrics.py +2 -0
  17. udata/harvest/backends/dcat.py +161 -165
  18. udata/harvest/tests/ckan/test_ckan_backend.py +1 -1
  19. udata/harvest/tests/dcat/catalog.xml +1 -0
  20. udata/harvest/tests/test_dcat_backend.py +19 -6
  21. udata/migrations/2025-07-30-purge-old-harvest-dynamic-fields.py +29 -0
  22. udata/settings.py +1 -1
  23. udata/static/chunks/{13.2d06442dd9a05d9777b5.js → 13.d9c1735d14038b94c17e.js} +2 -2
  24. udata/static/chunks/{13.2d06442dd9a05d9777b5.js.map → 13.d9c1735d14038b94c17e.js.map} +1 -1
  25. udata/static/chunks/{17.e8e4caaad5cb0cc0bacc.js → 17.81c57c0dedf812e43013.js} +2 -2
  26. udata/static/chunks/{17.e8e4caaad5cb0cc0bacc.js.map → 17.81c57c0dedf812e43013.js.map} +1 -1
  27. udata/static/chunks/{19.f03a102365af4315f9db.js → 19.8d03c06efcac6884bebe.js} +3 -3
  28. udata/static/chunks/{19.f03a102365af4315f9db.js.map → 19.8d03c06efcac6884bebe.js.map} +1 -1
  29. udata/static/chunks/{5.0fa1408dae4e76b87b2e.js → 5.343ca020a2d38cec1a14.js} +3 -3
  30. udata/static/chunks/{5.0fa1408dae4e76b87b2e.js.map → 5.343ca020a2d38cec1a14.js.map} +1 -1
  31. udata/static/chunks/{6.d663709d877baa44a71e.js → 6.a3b07de9dd2ca2d24e85.js} +3 -3
  32. udata/static/chunks/{6.d663709d877baa44a71e.js.map → 6.a3b07de9dd2ca2d24e85.js.map} +1 -1
  33. udata/static/chunks/{8.778091d55cd8ea39af6b.js → 8.b966402f5d680d4bdf4a.js} +2 -2
  34. udata/static/chunks/{8.778091d55cd8ea39af6b.js.map → 8.b966402f5d680d4bdf4a.js.map} +1 -1
  35. udata/static/common.js +1 -1
  36. udata/static/common.js.map +1 -1
  37. udata/tests/api/test_datasets_api.py +0 -46
  38. udata/tests/dataset/test_dataset_model.py +63 -17
  39. udata/tests/organization/test_csv_adapter.py +3 -15
  40. udata/tests/reuse/test_reuse_model.py +6 -4
  41. udata/translations/ar/LC_MESSAGES/udata.mo +0 -0
  42. udata/translations/ar/LC_MESSAGES/udata.po +62 -54
  43. udata/translations/de/LC_MESSAGES/udata.mo +0 -0
  44. udata/translations/de/LC_MESSAGES/udata.po +62 -54
  45. udata/translations/es/LC_MESSAGES/udata.mo +0 -0
  46. udata/translations/es/LC_MESSAGES/udata.po +62 -54
  47. udata/translations/fr/LC_MESSAGES/udata.mo +0 -0
  48. udata/translations/fr/LC_MESSAGES/udata.po +62 -54
  49. udata/translations/it/LC_MESSAGES/udata.mo +0 -0
  50. udata/translations/it/LC_MESSAGES/udata.po +62 -54
  51. udata/translations/pt/LC_MESSAGES/udata.mo +0 -0
  52. udata/translations/pt/LC_MESSAGES/udata.po +62 -54
  53. udata/translations/sr/LC_MESSAGES/udata.mo +0 -0
  54. udata/translations/sr/LC_MESSAGES/udata.po +62 -54
  55. udata/translations/udata.pot +63 -56
  56. udata/utils.py +16 -0
  57. {udata-10.8.2.dev37001.dist-info → udata-10.8.3.dist-info}/METADATA +16 -3
  58. {udata-10.8.2.dev37001.dist-info → udata-10.8.3.dist-info}/RECORD +62 -61
  59. udata/harvest/backends/ckan/models.py +0 -10
  60. {udata-10.8.2.dev37001.dist-info → udata-10.8.3.dist-info}/LICENSE +0 -0
  61. {udata-10.8.2.dev37001.dist-info → udata-10.8.3.dist-info}/WHEEL +0 -0
  62. {udata-10.8.2.dev37001.dist-info → udata-10.8.3.dist-info}/entry_points.txt +0 -0
  63. {udata-10.8.2.dev37001.dist-info → udata-10.8.3.dist-info}/top_level.txt +0 -0
@@ -2,8 +2,8 @@ msgid ""
2
2
  msgstr ""
3
3
  "Project-Id-Version: udata\n"
4
4
  "Report-Msgid-Bugs-To: i18n@opendata.team\n"
5
- "POT-Creation-Date: 2025-07-28 16:59+0200\n"
6
- "PO-Revision-Date: 2025-07-28 15:31\n"
5
+ "POT-Creation-Date: 2025-08-20 12:14+0200\n"
6
+ "PO-Revision-Date: 2025-08-20 10:16\n"
7
7
  "Last-Translator: Open Data Team <i18n@opendata.team>\n"
8
8
  "Language: sr\n"
9
9
  "Language-Team: Serbian (Cyrillic)\n"
@@ -51,7 +51,7 @@ msgstr "Овај скуп података је архивиран"
51
51
  msgid "Invalid URL \"{url}\": {reason}"
52
52
  msgstr "Неисправан УРЛ \"{url}\": {reason}"
53
53
 
54
- #: udata/tests/api/test_datasets_api.py:1129 udata/tests/test_model.py:403
54
+ #: udata/tests/api/test_datasets_api.py:1125 udata/tests/test_model.py:403
55
55
  #: udata/uris.py:57
56
56
  #, python-brace-format
57
57
  msgid "Invalid URL \"{url}\""
@@ -238,8 +238,8 @@ msgstr "Контакт форма"
238
238
  msgid "The organization web contact form"
239
239
  msgstr ""
240
240
 
241
- #: udata/core/contact_point/forms.py:20 udata/core/dataset/forms.py:116
242
- #: udata/core/dataset/forms.py:179 udata/core/discussions/forms.py:13
241
+ #: udata/core/contact_point/forms.py:20 udata/core/dataset/forms.py:117
242
+ #: udata/core/dataset/forms.py:185 udata/core/discussions/forms.py:13
243
243
  #: udata/core/discussions/forms.py:29 udata/core/topic/forms.py:14
244
244
  #: udata/harvest/forms.py:87
245
245
  msgid "Publish as"
@@ -289,12 +289,12 @@ msgstr ""
289
289
  msgid "dataservice"
290
290
  msgstr ""
291
291
 
292
- #: udata/core/dataservices/models.py:241 udata/core/dataset/models.py:589
292
+ #: udata/core/dataservices/models.py:241 udata/core/dataset/models.py:593
293
293
  #: udata/mongo/datetime_fields.py:60
294
294
  msgid "Creation date"
295
295
  msgstr "Датум креирања"
296
296
 
297
- #: udata/core/dataservices/models.py:247 udata/core/dataset/models.py:594
297
+ #: udata/core/dataservices/models.py:247 udata/core/dataset/models.py:598
298
298
  #: udata/mongo/datetime_fields.py:66
299
299
  msgid "Last modification date"
300
300
  msgstr "Датум последње измене"
@@ -459,23 +459,23 @@ msgstr "Отпремљена датотека"
459
459
  msgid "Remote file"
460
460
  msgstr "Удаљена датотека"
461
461
 
462
- #: udata/core/dataset/forms.py:33
462
+ #: udata/core/dataset/forms.py:34
463
463
  msgid "Checksum value"
464
464
  msgstr "Чексума"
465
465
 
466
- #: udata/core/dataset/forms.py:44
466
+ #: udata/core/dataset/forms.py:45
467
467
  msgid "URL of the schema"
468
468
  msgstr "Урл шеме"
469
469
 
470
- #: udata/core/dataset/forms.py:45
470
+ #: udata/core/dataset/forms.py:46
471
471
  msgid "Name of the schema"
472
472
  msgstr "Назив шеме"
473
473
 
474
- #: udata/core/dataset/forms.py:46
474
+ #: udata/core/dataset/forms.py:47
475
475
  msgid "Version of the schema"
476
476
  msgstr "Верзија шеме"
477
477
 
478
- #: udata/core/dataset/forms.py:65 udata/core/dataset/forms.py:146
478
+ #: udata/core/dataset/forms.py:66 udata/core/dataset/forms.py:147
479
479
  #: udata/core/discussions/forms.py:14 udata/core/discussions/forms.py:25
480
480
  #: udata/core/site/forms.py:12 udata/templates/mail/discussion_closed.html:26
481
481
  #: udata/templates/mail/new_discussion.html:25
@@ -483,119 +483,127 @@ msgstr "Верзија шеме"
483
483
  msgid "Title"
484
484
  msgstr "Наслов"
485
485
 
486
- #: udata/core/dataset/forms.py:68 udata/core/dataset/forms.py:150
486
+ #: udata/core/dataset/forms.py:69 udata/core/dataset/forms.py:151
487
487
  #: udata/core/jobs/forms.py:28 udata/core/organization/forms.py:50
488
488
  #: udata/core/topic/forms.py:17 udata/harvest/forms.py:80
489
489
  msgid "Description"
490
490
  msgstr "Опис"
491
491
 
492
- #: udata/core/dataset/forms.py:71
492
+ #: udata/core/dataset/forms.py:72
493
493
  msgid "File type"
494
494
  msgstr "Тип податка"
495
495
 
496
- #: udata/core/dataset/forms.py:75
496
+ #: udata/core/dataset/forms.py:76
497
497
  msgid "Whether the resource is an uploaded file, a remote file or an API"
498
498
  msgstr "Да ли је ресурс отпремљена датотека, удаљена датотека или API"
499
499
 
500
- #: udata/core/dataset/forms.py:78
500
+ #: udata/core/dataset/forms.py:79
501
501
  msgid "Type"
502
502
  msgstr "Тип"
503
503
 
504
- #: udata/core/dataset/forms.py:82
504
+ #: udata/core/dataset/forms.py:83
505
505
  msgid "Resource type (documentation, API...)"
506
506
  msgstr "Тип ресурса (документација, API...)"
507
507
 
508
- #: udata/core/dataset/forms.py:84 udata/harvest/forms.py:82
508
+ #: udata/core/dataset/forms.py:85 udata/harvest/forms.py:82
509
509
  msgid "URL"
510
510
  msgstr "URL"
511
511
 
512
- #: udata/core/dataset/forms.py:86
512
+ #: udata/core/dataset/forms.py:87
513
513
  msgid "Format"
514
514
  msgstr "Формат"
515
515
 
516
- #: udata/core/dataset/forms.py:91
516
+ #: udata/core/dataset/forms.py:92
517
517
  msgid "Mime type"
518
518
  msgstr "MIME тип"
519
519
 
520
- #: udata/core/dataset/forms.py:92
520
+ #: udata/core/dataset/forms.py:93
521
521
  msgid "The mime type associated to the extension. (ex: text/plain)"
522
522
  msgstr "MIME тип повезан са екстензијом (нпр: text/plain)"
523
523
 
524
- #: udata/core/dataset/forms.py:95
524
+ #: udata/core/dataset/forms.py:96
525
525
  msgid "Size"
526
526
  msgstr "Величина"
527
527
 
528
- #: udata/core/dataset/forms.py:95
528
+ #: udata/core/dataset/forms.py:96
529
529
  msgid "The file size in bytes"
530
530
  msgstr "Величина датотеке у бајтовима"
531
531
 
532
- #: udata/core/dataset/forms.py:114
532
+ #: udata/core/dataset/forms.py:115
533
533
  msgid "Related dataset"
534
534
  msgstr "Повезани скуп података"
535
535
 
536
- #: udata/core/dataset/forms.py:138 udata/tests/api/test_datasets_api.py:1041
536
+ #: udata/core/dataset/forms.py:139 udata/tests/api/test_datasets_api.py:1037
537
537
  msgid "Wrong contact point id or contact point ownership mismatch"
538
538
  msgstr ""
539
539
 
540
- #: udata/core/dataset/forms.py:148 udata/core/organization/forms.py:48
540
+ #: udata/core/dataset/forms.py:149 udata/core/organization/forms.py:48
541
541
  msgid "Acronym"
542
542
  msgstr "Акроним"
543
543
 
544
- #: udata/core/dataset/forms.py:148
544
+ #: udata/core/dataset/forms.py:149
545
545
  msgid "An optional acronym"
546
546
  msgstr "Опциони акроним"
547
547
 
548
- #: udata/core/dataset/forms.py:152
548
+ #: udata/core/dataset/forms.py:153
549
549
  msgid "The details about the dataset (collection process, specifics...)."
550
550
  msgstr "Детаљи о скупу података (процес прикупљања, спецификација…)."
551
551
 
552
- #: udata/core/dataset/forms.py:154
552
+ #: udata/core/dataset/forms.py:156
553
+ msgid "Short description"
554
+ msgstr ""
555
+
556
+ #: udata/core/dataset/forms.py:158
557
+ msgid "A short description of the dataset."
558
+ msgstr ""
559
+
560
+ #: udata/core/dataset/forms.py:160
553
561
  msgid "License"
554
562
  msgstr "Лиценца"
555
563
 
556
- #: udata/core/dataset/forms.py:156
564
+ #: udata/core/dataset/forms.py:162
557
565
  msgid "Update frequency"
558
566
  msgstr "Фреквенција ажурирања"
559
567
 
560
- #: udata/core/dataset/forms.py:161
568
+ #: udata/core/dataset/forms.py:167
561
569
  msgid "The frequency at which data are updated."
562
570
  msgstr "Фреквенција којом се подаци ажурирају."
563
571
 
564
- #: udata/core/dataset/forms.py:163
572
+ #: udata/core/dataset/forms.py:169
565
573
  msgid "Expected frequency date"
566
574
  msgstr "Датум очекиване фреквенције"
567
575
 
568
- #: udata/core/dataset/forms.py:167
576
+ #: udata/core/dataset/forms.py:173
569
577
  msgid "Temporal coverage"
570
578
  msgstr "Временска покривеност"
571
579
 
572
- #: udata/core/dataset/forms.py:167
580
+ #: udata/core/dataset/forms.py:173
573
581
  msgid "The period covered by the data"
574
582
  msgstr "Период покривен подацима"
575
583
 
576
- #: udata/core/dataset/forms.py:170 udata/core/spatial/forms.py:85
584
+ #: udata/core/dataset/forms.py:176 udata/core/spatial/forms.py:85
577
585
  #: udata/core/topic/forms.py:23
578
586
  msgid "Spatial coverage"
579
587
  msgstr "Просторна покривеност"
580
588
 
581
- #: udata/core/dataset/forms.py:170 udata/core/topic/forms.py:23
589
+ #: udata/core/dataset/forms.py:176 udata/core/topic/forms.py:23
582
590
  msgid "The geographical area covered by the data."
583
591
  msgstr "Географска област покривена подацима."
584
592
 
585
- #: udata/core/dataset/forms.py:172 udata/core/post/forms.py:26
593
+ #: udata/core/dataset/forms.py:178 udata/core/post/forms.py:26
586
594
  #: udata/core/site/forms.py:13 udata/core/topic/forms.py:26
587
595
  msgid "Tags"
588
596
  msgstr "Ознаке"
589
597
 
590
- #: udata/core/dataset/forms.py:172
598
+ #: udata/core/dataset/forms.py:178
591
599
  msgid "Some taxonomy keywords"
592
600
  msgstr "Неке кључне речи у таксономији"
593
601
 
594
- #: udata/core/dataset/forms.py:174 udata/core/topic/forms.py:27
602
+ #: udata/core/dataset/forms.py:180 udata/core/topic/forms.py:27
595
603
  msgid "Private"
596
604
  msgstr "Приватно"
597
605
 
598
- #: udata/core/dataset/forms.py:175
606
+ #: udata/core/dataset/forms.py:181
599
607
  msgid "Restrict the dataset visibility to you or your organization only."
600
608
  msgstr "Ограничите видљивост скупа података само на себе или своју организацију."
601
609
 
@@ -603,36 +611,36 @@ msgstr "Ограничите видљивост скупа података са
603
611
  msgid "Pivotal data"
604
612
  msgstr "Кључни подаци"
605
613
 
606
- #: udata/core/dataset/models.py:139
614
+ #: udata/core/dataset/models.py:142
607
615
  msgid "A schema must contains a name or an URL when a version is provided."
608
616
  msgstr ""
609
617
 
610
- #: udata/core/dataset/models.py:171 udata/tests/api/test_datasets_api.py:1137
611
- #: udata/tests/api/test_datasets_api.py:1148
618
+ #: udata/core/dataset/models.py:174 udata/tests/api/test_datasets_api.py:1133
619
+ #: udata/tests/api/test_datasets_api.py:1144
612
620
  #, python-brace-format
613
621
  msgid "Schema name \"{schema}\" is not an allowed value. Allowed values: {values}"
614
622
  msgstr "Име шеме \"{schema}\" није дозвољена вредност. Дозвољене вредности: {values}"
615
623
 
616
- #: udata/core/dataset/models.py:190 udata/tests/api/test_datasets_api.py:1160
624
+ #: udata/core/dataset/models.py:193 udata/tests/api/test_datasets_api.py:1156
617
625
  #, python-brace-format
618
626
  msgid "Version \"{version}\" is not an allowed value for the schema \"{name}\". Allowed versions: {values}"
619
627
  msgstr ""
620
628
 
621
- #: udata/core/dataset/models.py:467 udata/core/dataset/rdf.py:567
629
+ #: udata/core/dataset/models.py:470 udata/core/dataset/rdf.py:567
622
630
  #: udata/tests/dataset/test_dataset_rdf.py:709
623
631
  #: udata/tests/dataset/test_dataset_rdf.py:722
624
632
  msgid "Nameless resource"
625
633
  msgstr "Ресурс без имена"
626
634
 
627
- #: udata/core/dataset/models.py:568
635
+ #: udata/core/dataset/models.py:572
628
636
  msgid "Future date of update"
629
637
  msgstr "Будући датум ажурирања"
630
638
 
631
- #: udata/core/dataset/models.py:600
639
+ #: udata/core/dataset/models.py:604
632
640
  msgid "Last update of the dataset resources"
633
641
  msgstr ""
634
642
 
635
- #: udata/core/dataset/models.py:653
643
+ #: udata/core/dataset/models.py:659
636
644
  msgid "dataset"
637
645
  msgstr "скуп података"
638
646
 
@@ -720,17 +728,17 @@ msgid "Refused"
720
728
  msgstr "Одбијено"
721
729
 
722
730
  #: udata/core/organization/forms.py:25
723
- #: udata/tests/api/test_organizations_api.py:159
731
+ #: udata/tests/api/test_organizations_api.py:164
724
732
  msgid "A siret number is made of 14 digits"
725
733
  msgstr ""
726
734
 
727
735
  #: udata/core/organization/forms.py:36
728
- #: udata/tests/api/test_organizations_api.py:171
736
+ #: udata/tests/api/test_organizations_api.py:176
729
737
  msgid "A siret number is only made of digits"
730
738
  msgstr ""
731
739
 
732
740
  #: udata/core/organization/forms.py:39
733
- #: udata/tests/api/test_organizations_api.py:165
741
+ #: udata/tests/api/test_organizations_api.py:170
734
742
  msgid "Invalid Siret number"
735
743
  msgstr ""
736
744
 
@@ -940,7 +948,7 @@ msgstr "Визуелизација"
940
948
  msgid "Connected device"
941
949
  msgstr "Повезани уређај"
942
950
 
943
- #: udata/core/reuse/constants.py:15 udata/tests/reuse/test_reuse_model.py:108
951
+ #: udata/core/reuse/constants.py:15 udata/tests/reuse/test_reuse_model.py:110
944
952
  msgid "Health"
945
953
  msgstr "Здравље"
946
954
 
@@ -1317,11 +1325,11 @@ msgstr "Прескочено"
1317
1325
  msgid "Archived"
1318
1326
  msgstr "Архивирано"
1319
1327
 
1320
- #: udata/harvest/backends/dcat.py:338
1328
+ #: udata/harvest/backends/dcat.py:414
1321
1329
  msgid "Remote URL prefix"
1322
1330
  msgstr ""
1323
1331
 
1324
- #: udata/harvest/backends/dcat.py:341
1332
+ #: udata/harvest/backends/dcat.py:417
1325
1333
  msgid "A prefix used to build the remote URL of the harvested items."
1326
1334
  msgstr ""
1327
1335
 
@@ -6,10 +6,10 @@
6
6
  #, fuzzy
7
7
  msgid ""
8
8
  msgstr ""
9
- "Project-Id-Version: udata 10.8.2.dev0\n"
9
+ "Project-Id-Version: udata 10.8.3.dev0\n"
10
10
  "Report-Msgid-Bugs-To: i18n@opendata.team\n"
11
- "POT-Creation-Date: 2025-07-28 16:59+0200\n"
12
- "PO-Revision-Date: 2025-07-28 16:59+0200\n"
11
+ "POT-Creation-Date: 2025-08-20 12:14+0200\n"
12
+ "PO-Revision-Date: 2025-08-20 12:14+0200\n"
13
13
  "Last-Translator: Open Data Team <i18n@opendata.team>\n"
14
14
  "Language: en\n"
15
15
  "Language-Team: Open Data Team <i18n@opendata.team>\n"
@@ -52,7 +52,7 @@ msgstr ""
52
52
  msgid "Invalid URL \"{url}\": {reason}"
53
53
  msgstr ""
54
54
 
55
- #: udata/tests/api/test_datasets_api.py:1129 udata/tests/test_model.py:403
55
+ #: udata/tests/api/test_datasets_api.py:1125 udata/tests/test_model.py:403
56
56
  #: udata/uris.py:57
57
57
  #, python-brace-format
58
58
  msgid "Invalid URL \"{url}\""
@@ -241,8 +241,8 @@ msgstr ""
241
241
  msgid "The organization web contact form"
242
242
  msgstr ""
243
243
 
244
- #: udata/core/contact_point/forms.py:20 udata/core/dataset/forms.py:116
245
- #: udata/core/dataset/forms.py:179 udata/core/discussions/forms.py:13
244
+ #: udata/core/contact_point/forms.py:20 udata/core/dataset/forms.py:117
245
+ #: udata/core/dataset/forms.py:185 udata/core/discussions/forms.py:13
246
246
  #: udata/core/discussions/forms.py:29 udata/core/topic/forms.py:14
247
247
  #: udata/harvest/forms.py:87
248
248
  msgid "Publish as"
@@ -292,12 +292,12 @@ msgstr ""
292
292
  msgid "dataservice"
293
293
  msgstr ""
294
294
 
295
- #: udata/core/dataservices/models.py:241 udata/core/dataset/models.py:589
295
+ #: udata/core/dataservices/models.py:241 udata/core/dataset/models.py:593
296
296
  #: udata/mongo/datetime_fields.py:60
297
297
  msgid "Creation date"
298
298
  msgstr ""
299
299
 
300
- #: udata/core/dataservices/models.py:247 udata/core/dataset/models.py:594
300
+ #: udata/core/dataservices/models.py:247 udata/core/dataset/models.py:598
301
301
  #: udata/mongo/datetime_fields.py:66
302
302
  msgid "Last modification date"
303
303
  msgstr ""
@@ -462,23 +462,23 @@ msgstr ""
462
462
  msgid "Remote file"
463
463
  msgstr ""
464
464
 
465
- #: udata/core/dataset/forms.py:33
465
+ #: udata/core/dataset/forms.py:34
466
466
  msgid "Checksum value"
467
467
  msgstr ""
468
468
 
469
- #: udata/core/dataset/forms.py:44
469
+ #: udata/core/dataset/forms.py:45
470
470
  msgid "URL of the schema"
471
471
  msgstr ""
472
472
 
473
- #: udata/core/dataset/forms.py:45
473
+ #: udata/core/dataset/forms.py:46
474
474
  msgid "Name of the schema"
475
475
  msgstr ""
476
476
 
477
- #: udata/core/dataset/forms.py:46
477
+ #: udata/core/dataset/forms.py:47
478
478
  msgid "Version of the schema"
479
479
  msgstr ""
480
480
 
481
- #: udata/core/dataset/forms.py:65 udata/core/dataset/forms.py:146
481
+ #: udata/core/dataset/forms.py:66 udata/core/dataset/forms.py:147
482
482
  #: udata/core/discussions/forms.py:14 udata/core/discussions/forms.py:25
483
483
  #: udata/core/site/forms.py:12 udata/templates/mail/discussion_closed.html:26
484
484
  #: udata/templates/mail/new_discussion.html:25
@@ -486,119 +486,127 @@ msgstr ""
486
486
  msgid "Title"
487
487
  msgstr ""
488
488
 
489
- #: udata/core/dataset/forms.py:68 udata/core/dataset/forms.py:150
489
+ #: udata/core/dataset/forms.py:69 udata/core/dataset/forms.py:151
490
490
  #: udata/core/jobs/forms.py:28 udata/core/organization/forms.py:50
491
491
  #: udata/core/topic/forms.py:17 udata/harvest/forms.py:80
492
492
  msgid "Description"
493
493
  msgstr ""
494
494
 
495
- #: udata/core/dataset/forms.py:71
495
+ #: udata/core/dataset/forms.py:72
496
496
  msgid "File type"
497
497
  msgstr ""
498
498
 
499
- #: udata/core/dataset/forms.py:75
499
+ #: udata/core/dataset/forms.py:76
500
500
  msgid "Whether the resource is an uploaded file, a remote file or an API"
501
501
  msgstr ""
502
502
 
503
- #: udata/core/dataset/forms.py:78
503
+ #: udata/core/dataset/forms.py:79
504
504
  msgid "Type"
505
505
  msgstr ""
506
506
 
507
- #: udata/core/dataset/forms.py:82
507
+ #: udata/core/dataset/forms.py:83
508
508
  msgid "Resource type (documentation, API...)"
509
509
  msgstr ""
510
510
 
511
- #: udata/core/dataset/forms.py:84 udata/harvest/forms.py:82
511
+ #: udata/core/dataset/forms.py:85 udata/harvest/forms.py:82
512
512
  msgid "URL"
513
513
  msgstr ""
514
514
 
515
- #: udata/core/dataset/forms.py:86
515
+ #: udata/core/dataset/forms.py:87
516
516
  msgid "Format"
517
517
  msgstr ""
518
518
 
519
- #: udata/core/dataset/forms.py:91
519
+ #: udata/core/dataset/forms.py:92
520
520
  msgid "Mime type"
521
521
  msgstr ""
522
522
 
523
- #: udata/core/dataset/forms.py:92
523
+ #: udata/core/dataset/forms.py:93
524
524
  msgid "The mime type associated to the extension. (ex: text/plain)"
525
525
  msgstr ""
526
526
 
527
- #: udata/core/dataset/forms.py:95
527
+ #: udata/core/dataset/forms.py:96
528
528
  msgid "Size"
529
529
  msgstr ""
530
530
 
531
- #: udata/core/dataset/forms.py:95
531
+ #: udata/core/dataset/forms.py:96
532
532
  msgid "The file size in bytes"
533
533
  msgstr ""
534
534
 
535
- #: udata/core/dataset/forms.py:114
535
+ #: udata/core/dataset/forms.py:115
536
536
  msgid "Related dataset"
537
537
  msgstr ""
538
538
 
539
- #: udata/core/dataset/forms.py:138 udata/tests/api/test_datasets_api.py:1041
539
+ #: udata/core/dataset/forms.py:139 udata/tests/api/test_datasets_api.py:1037
540
540
  msgid "Wrong contact point id or contact point ownership mismatch"
541
541
  msgstr ""
542
542
 
543
- #: udata/core/dataset/forms.py:148 udata/core/organization/forms.py:48
543
+ #: udata/core/dataset/forms.py:149 udata/core/organization/forms.py:48
544
544
  msgid "Acronym"
545
545
  msgstr ""
546
546
 
547
- #: udata/core/dataset/forms.py:148
547
+ #: udata/core/dataset/forms.py:149
548
548
  msgid "An optional acronym"
549
549
  msgstr ""
550
550
 
551
- #: udata/core/dataset/forms.py:152
551
+ #: udata/core/dataset/forms.py:153
552
552
  msgid "The details about the dataset (collection process, specifics...)."
553
553
  msgstr ""
554
554
 
555
- #: udata/core/dataset/forms.py:154
555
+ #: udata/core/dataset/forms.py:156
556
+ msgid "Short description"
557
+ msgstr ""
558
+
559
+ #: udata/core/dataset/forms.py:158
560
+ msgid "A short description of the dataset."
561
+ msgstr ""
562
+
563
+ #: udata/core/dataset/forms.py:160
556
564
  msgid "License"
557
565
  msgstr ""
558
566
 
559
- #: udata/core/dataset/forms.py:156
567
+ #: udata/core/dataset/forms.py:162
560
568
  msgid "Update frequency"
561
569
  msgstr ""
562
570
 
563
- #: udata/core/dataset/forms.py:161
571
+ #: udata/core/dataset/forms.py:167
564
572
  msgid "The frequency at which data are updated."
565
573
  msgstr ""
566
574
 
567
- #: udata/core/dataset/forms.py:163
575
+ #: udata/core/dataset/forms.py:169
568
576
  msgid "Expected frequency date"
569
577
  msgstr ""
570
578
 
571
- #: udata/core/dataset/forms.py:167
579
+ #: udata/core/dataset/forms.py:173
572
580
  msgid "Temporal coverage"
573
581
  msgstr ""
574
582
 
575
- #: udata/core/dataset/forms.py:167
583
+ #: udata/core/dataset/forms.py:173
576
584
  msgid "The period covered by the data"
577
585
  msgstr ""
578
586
 
579
- #: udata/core/dataset/forms.py:170 udata/core/spatial/forms.py:85
587
+ #: udata/core/dataset/forms.py:176 udata/core/spatial/forms.py:85
580
588
  #: udata/core/topic/forms.py:23
581
589
  msgid "Spatial coverage"
582
590
  msgstr ""
583
591
 
584
- #: udata/core/dataset/forms.py:170 udata/core/topic/forms.py:23
592
+ #: udata/core/dataset/forms.py:176 udata/core/topic/forms.py:23
585
593
  msgid "The geographical area covered by the data."
586
594
  msgstr ""
587
595
 
588
- #: udata/core/dataset/forms.py:172 udata/core/post/forms.py:26
596
+ #: udata/core/dataset/forms.py:178 udata/core/post/forms.py:26
589
597
  #: udata/core/site/forms.py:13 udata/core/topic/forms.py:26
590
598
  msgid "Tags"
591
599
  msgstr ""
592
600
 
593
- #: udata/core/dataset/forms.py:172
601
+ #: udata/core/dataset/forms.py:178
594
602
  msgid "Some taxonomy keywords"
595
603
  msgstr ""
596
604
 
597
- #: udata/core/dataset/forms.py:174 udata/core/topic/forms.py:27
605
+ #: udata/core/dataset/forms.py:180 udata/core/topic/forms.py:27
598
606
  msgid "Private"
599
607
  msgstr ""
600
608
 
601
- #: udata/core/dataset/forms.py:175
609
+ #: udata/core/dataset/forms.py:181
602
610
  msgid "Restrict the dataset visibility to you or your organization only."
603
611
  msgstr ""
604
612
 
@@ -606,38 +614,38 @@ msgstr ""
606
614
  msgid "Pivotal data"
607
615
  msgstr ""
608
616
 
609
- #: udata/core/dataset/models.py:139
617
+ #: udata/core/dataset/models.py:142
610
618
  msgid "A schema must contains a name or an URL when a version is provided."
611
619
  msgstr ""
612
620
 
613
- #: udata/core/dataset/models.py:171 udata/tests/api/test_datasets_api.py:1137
614
- #: udata/tests/api/test_datasets_api.py:1148
621
+ #: udata/core/dataset/models.py:174 udata/tests/api/test_datasets_api.py:1133
622
+ #: udata/tests/api/test_datasets_api.py:1144
615
623
  #, python-brace-format
616
624
  msgid "Schema name \"{schema}\" is not an allowed value. Allowed values: {values}"
617
625
  msgstr ""
618
626
 
619
- #: udata/core/dataset/models.py:190 udata/tests/api/test_datasets_api.py:1160
627
+ #: udata/core/dataset/models.py:193 udata/tests/api/test_datasets_api.py:1156
620
628
  #, python-brace-format
621
629
  msgid ""
622
630
  "Version \"{version}\" is not an allowed value for the schema \"{name}\". "
623
631
  "Allowed versions: {values}"
624
632
  msgstr ""
625
633
 
626
- #: udata/core/dataset/models.py:467 udata/core/dataset/rdf.py:567
634
+ #: udata/core/dataset/models.py:470 udata/core/dataset/rdf.py:567
627
635
  #: udata/tests/dataset/test_dataset_rdf.py:709
628
636
  #: udata/tests/dataset/test_dataset_rdf.py:722
629
637
  msgid "Nameless resource"
630
638
  msgstr ""
631
639
 
632
- #: udata/core/dataset/models.py:568
640
+ #: udata/core/dataset/models.py:572
633
641
  msgid "Future date of update"
634
642
  msgstr ""
635
643
 
636
- #: udata/core/dataset/models.py:600
644
+ #: udata/core/dataset/models.py:604
637
645
  msgid "Last update of the dataset resources"
638
646
  msgstr ""
639
647
 
640
- #: udata/core/dataset/models.py:653
648
+ #: udata/core/dataset/models.py:659
641
649
  msgid "dataset"
642
650
  msgstr ""
643
651
 
@@ -725,17 +733,17 @@ msgid "Refused"
725
733
  msgstr ""
726
734
 
727
735
  #: udata/core/organization/forms.py:25
728
- #: udata/tests/api/test_organizations_api.py:159
736
+ #: udata/tests/api/test_organizations_api.py:164
729
737
  msgid "A siret number is made of 14 digits"
730
738
  msgstr ""
731
739
 
732
740
  #: udata/core/organization/forms.py:36
733
- #: udata/tests/api/test_organizations_api.py:171
741
+ #: udata/tests/api/test_organizations_api.py:176
734
742
  msgid "A siret number is only made of digits"
735
743
  msgstr ""
736
744
 
737
745
  #: udata/core/organization/forms.py:39
738
- #: udata/tests/api/test_organizations_api.py:165
746
+ #: udata/tests/api/test_organizations_api.py:170
739
747
  msgid "Invalid Siret number"
740
748
  msgstr ""
741
749
 
@@ -945,7 +953,7 @@ msgstr ""
945
953
  msgid "Connected device"
946
954
  msgstr ""
947
955
 
948
- #: udata/core/reuse/constants.py:15 udata/tests/reuse/test_reuse_model.py:108
956
+ #: udata/core/reuse/constants.py:15 udata/tests/reuse/test_reuse_model.py:110
949
957
  msgid "Health"
950
958
  msgstr ""
951
959
 
@@ -1322,11 +1330,11 @@ msgstr ""
1322
1330
  msgid "Archived"
1323
1331
  msgstr ""
1324
1332
 
1325
- #: udata/harvest/backends/dcat.py:338
1333
+ #: udata/harvest/backends/dcat.py:414
1326
1334
  msgid "Remote URL prefix"
1327
1335
  msgstr ""
1328
1336
 
1329
- #: udata/harvest/backends/dcat.py:341
1337
+ #: udata/harvest/backends/dcat.py:417
1330
1338
  msgid "A prefix used to build the remote URL of the harvested items."
1331
1339
  msgstr ""
1332
1340
 
@@ -1784,4 +1792,3 @@ msgstr ""
1784
1792
  #: udata/tests/search/test_adapter.py:33
1785
1793
  msgid "Heavily reused"
1786
1794
  msgstr ""
1787
-
udata/utils.py CHANGED
@@ -37,6 +37,22 @@ def multi_to_dict(multi):
37
37
  )
38
38
 
39
39
 
40
+ def get_field_value_from_path(document, field_path: str):
41
+ # The field_path is a pattern of dot-separated nested field as returned
42
+ # by mongoengine.base.document._get_changed_fields
43
+ # Inspired from mongoengine.base.document._clear_changed_fields iteration
44
+ doc_field = document
45
+ for part in field_path.split("."):
46
+ if isinstance(doc_field, list) and part.isdigit():
47
+ doc_field = doc_field[int(part)]
48
+ elif isinstance(doc_field, dict):
49
+ doc_field = doc_field.get(part, None)
50
+ else:
51
+ field_name = doc_field._reverse_db_field_map.get(part, part)
52
+ doc_field = getattr(doc_field, field_name, None)
53
+ return doc_field
54
+
55
+
40
56
  FIRST_CAP_RE = re.compile("(.)([A-Z][a-z]+)")
41
57
  ALL_CAP_RE = re.compile("([a-z0-9])([A-Z])")
42
58
  UUID_LENGTH = 36