udata 10.0.6.dev33079__py2.py3-none-any.whl → 10.0.6.dev33111__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,8 +1,7 @@
1
1
  from celery.utils.log import get_task_logger
2
2
 
3
3
  from udata.core.dataservices.models import Dataservice
4
-
5
- # from udata.harvest.models import HarvestJob
4
+ from udata.harvest.models import HarvestJob
6
5
  from udata.models import Discussion, Follow, Transfer
7
6
  from udata.tasks import job
8
7
 
@@ -18,8 +17,7 @@ def purge_dataservices(self):
18
17
  # Remove discussions
19
18
  Discussion.objects(subject=dataservice).delete()
20
19
  # Remove HarvestItem references
21
- # TODO: uncomment when adding dataservice harvest
22
- # HarvestJob.objects(items__dataservice=dataservice).update(set__items__S__dataservice=None)
20
+ HarvestJob.objects(items__dataservice=dataservice).update(set__items__S__dataservice=None)
23
21
  # Remove associated Transfers
24
22
  Transfer.objects(subject=dataservice).delete()
25
23
  # Remove dataservice
@@ -48,6 +48,11 @@ def purge_datasets(self):
48
48
  datasets = topic.datasets
49
49
  datasets.remove(dataset)
50
50
  topic.update(datasets=datasets)
51
+ # Remove dataservices related dataset
52
+ for dataservice in Dataservice.objects(datasets=dataset):
53
+ datasets = dataservice.datasets
54
+ datasets.remove(dataset)
55
+ dataservice.update(datasets=datasets)
51
56
  # Remove HarvestItem references
52
57
  HarvestJob.objects(items__dataset=dataset).update(set__items__S__dataset=None)
53
58
  # Remove associated Transfers
udata/harvest/tasks.py CHANGED
@@ -13,8 +13,9 @@ def harvest(self, ident):
13
13
  log.info('Launching harvest job for source "%s"', ident)
14
14
 
15
15
  source = HarvestSource.get(ident)
16
- if source.deleted:
17
- return # Ignore deleted sources
16
+ if source.deleted or not source.active:
17
+ log.info('Ignoring inactive or deleted source "%s"', ident)
18
+ return # Ignore deleted and inactive sources
18
19
  Backend = backends.get(current_app, source.backend)
19
20
  backend = Backend(source)
20
21
 
@@ -3,6 +3,8 @@ import pytest
3
3
  from udata.core.dataservices import tasks
4
4
  from udata.core.dataservices.models import Dataservice
5
5
  from udata.core.user.factories import UserFactory
6
+ from udata.harvest.models import HarvestItem, HarvestJob
7
+ from udata.harvest.tests.factories import HarvestJobFactory
6
8
  from udata.models import Discussion, Follow, Message, Transfer
7
9
  from udata.utils import faker
8
10
 
@@ -34,9 +36,12 @@ def test_purge_dataservices():
34
36
 
35
37
  follower = Follow.objects.create(follower=user, following=dataservices[0])
36
38
 
39
+ HarvestJobFactory(items=[HarvestItem(dataservice=dataservices[0])])
40
+
37
41
  tasks.purge_dataservices()
38
42
 
39
43
  assert Dataservice.objects.count() == 1
40
44
  assert Transfer.objects.filter(id=transfer.id).count() == 0
41
45
  assert Discussion.objects.filter(id=discussion.id).count() == 0
42
46
  assert Follow.objects.filter(id=follower.id).count() == 0
47
+ assert HarvestJob.objects.filter(items__dataservice=dataservices[0].id).count() == 0
@@ -1,17 +1,20 @@
1
1
  import pytest
2
2
 
3
- from udata.core.dataset import tasks
4
-
5
3
  # Those imports seem mandatory for the csv adapters to be registered.
6
4
  # This might be because of the decorator mechanism.
5
+ from udata.core.dataservices.models import Dataservice
6
+ from udata.core.dataset import tasks
7
7
  from udata.core.dataset.csv import DatasetCsvAdapter, ResourcesCsvAdapter # noqa
8
8
  from udata.core.dataset.factories import CommunityResourceFactory, DatasetFactory
9
+ from udata.core.discussions.factories import DiscussionFactory
9
10
  from udata.core.organization.csv import OrganizationCsvAdapter # noqa
10
11
  from udata.core.reuse.csv import ReuseCsvAdapter # noqa
11
12
  from udata.core.tags.csv import TagCsvAdapter # noqa
12
13
  from udata.core.user.factories import UserFactory
13
14
  from udata.harvest.csv import HarvestSourceCsvAdapter # noqa
14
- from udata.models import CommunityResource, Dataset, Topic, Transfer
15
+ from udata.harvest.models import HarvestItem, HarvestJob
16
+ from udata.harvest.tests.factories import HarvestJobFactory
17
+ from udata.models import CommunityResource, Dataset, Discussion, Follow, Topic, Transfer
15
18
 
16
19
  pytestmark = pytest.mark.usefixtures("clean_db")
17
20
 
@@ -32,6 +35,14 @@ def test_purge_datasets():
32
35
  comment="comment",
33
36
  )
34
37
 
38
+ discussion = DiscussionFactory(subject=datasets[0])
39
+
40
+ follower = Follow.objects.create(follower=user, following=datasets[0])
41
+
42
+ HarvestJobFactory(items=[HarvestItem(dataset=datasets[0])])
43
+
44
+ Dataservice.objects.create(title="test", datasets=datasets)
45
+
35
46
  tasks.purge_datasets()
36
47
 
37
48
  assert Transfer.objects.filter(id=transfer.id).count() == 0
@@ -39,6 +50,11 @@ def test_purge_datasets():
39
50
  topic = Topic.objects(name="test topic").first()
40
51
  assert topic.datasets[0] == datasets[1]
41
52
 
53
+ assert Discussion.objects.filter(id=discussion.id).count() == 0
54
+ assert Follow.objects.filter(id=follower.id).count() == 0
55
+ assert HarvestJob.objects.filter(items__dataset=datasets[0].id).count() == 0
56
+ assert Dataservice.objects.filter(datasets=datasets[0].id).count() == 0
57
+
42
58
 
43
59
  def test_purge_datasets_community():
44
60
  dataset = Dataset.objects.create(title="delete me", deleted="2016-01-01")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: udata
3
- Version: 10.0.6.dev33079
3
+ Version: 10.0.6.dev33111
4
4
  Summary: Open data portal
5
5
  Home-page: https://github.com/opendatateam/udata
6
6
  Author: Opendata Team
@@ -140,10 +140,13 @@ It is collectively taken care of by members of the
140
140
 
141
141
  ## Current (in progress)
142
142
 
143
+ - Ignore inactive sources at harvest time [#3226](https://github.com/opendatateam/udata/pull/3226)
144
+ - If some harvest sources were marked inactive by mistake, they won't get executed anymore
143
145
  - Organization url is now a URLField and should be a valid URL [#3227](https://github.com/opendatateam/udata/pull/3227)
144
146
  - Fix the `parse-url` command [#3225](https://github.com/opendatateam/udata/pull/3225)
145
147
  - Add `with_drafts` argument to posts API [#3229](https://github.com/opendatateam/udata/pull/3229)
146
148
  - Fix failing dataset save in update reuses metrics [#3230](https://github.com/opendatateam/udata/pull/3230)
149
+ - Update purge tasks [#3167](https://github.com/opendatateam/udata/pull/3167)
147
150
 
148
151
  ## 10.0.5 (2024-12-09)
149
152
 
@@ -88,7 +88,7 @@ udata/core/dataservices/models.py,sha256=lTcC0BqnF7bbFi1S2CZ8Qnk1Fk3TjWoHrvheFB5
88
88
  udata/core/dataservices/permissions.py,sha256=98zM_R4v2ZtRubflB7ajaVQz-DVc-pZBMgtKUYy34oI,169
89
89
  udata/core/dataservices/rdf.py,sha256=9dWSqONCD5m9HmAU_ndmEmG3F1IuRUOW6MWTmk2GEEI,6792
90
90
  udata/core/dataservices/search.py,sha256=htjh3sq3tDuD2qwgRgZsW6ClrHLF6hMwYO4nfBO0Hr4,4171
91
- udata/core/dataservices/tasks.py,sha256=a43x1oKNF-EYmzM3O-8GQPJvZsgJmQiXOZx8Qti3M4E,960
91
+ udata/core/dataservices/tasks.py,sha256=d2tG1l6u8-eUKUYBOgnCsQLbLmLgJXU-DOzZWhhL6Qg,897
92
92
  udata/core/dataset/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
93
93
  udata/core/dataset/actions.py,sha256=mX6xox0PiMrbcAPZ3VZsI26rfM-ciYfEXxN6sqqImKA,1222
94
94
  udata/core/dataset/activities.py,sha256=v8k1jwhdx62Z2ARZq8Q-x86OWSsBK99hRloPl74OCgA,1502
@@ -108,7 +108,7 @@ udata/core/dataset/preview.py,sha256=IwCqiNTjjXbtA_SSKF52pwnzKKEz0GyYM95QNn2Dkog
108
108
  udata/core/dataset/rdf.py,sha256=TGpwjsFF9hpiC3fxcF7Rej97bJjlzRy2vXbisn-a90A,28271
109
109
  udata/core/dataset/search.py,sha256=E7LqHBnq3sMefvmLwTpiw-Ovem2a3NJswHesRjctboE,5627
110
110
  udata/core/dataset/signals.py,sha256=WN4sV-lJlNsRkhcnhoy0SYJvCoYmK_5QFYZd1u-h4gs,161
111
- udata/core/dataset/tasks.py,sha256=-8gasOP2mRu7PYUgxSglkgIW36Vo10eetiaN3pXdAFE,9766
111
+ udata/core/dataset/tasks.py,sha256=jG6U7cwGywhLK-MqUrvbZ1WLl_NLApiThtxmsckGzP8,10009
112
112
  udata/core/discussions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
113
113
  udata/core/discussions/actions.py,sha256=kjdBLDIeu0yWTSxQGgOpN1WoxUqbMygn4SiBk_S9T5I,1051
114
114
  udata/core/discussions/api.py,sha256=5yMdKeWp0c9H2ipy5bXoMf82r3ULMIARhvuIdM-XJp0,9446
@@ -289,7 +289,7 @@ udata/harvest/forms.py,sha256=eDDyrK0VuYgCsYo0HY0P6--RDVpWBCuTwktjFiwPQhw,4252
289
289
  udata/harvest/models.py,sha256=QBDcdu3N5QILolmiisx9RN5xzfD9tPC06cXO8z5XF4A,6113
290
290
  udata/harvest/notifications.py,sha256=8WkHtD68v6rfZC6jCmAuuuRp4NN6q71ZkksZU5m9oJc,867
291
291
  udata/harvest/signals.py,sha256=3AhFHMPIFH5vz01NX5ycR_RWH14MXFWnCT6__LSa-QI,1338
292
- udata/harvest/tasks.py,sha256=uu2bbsZyrh1iya-ar9M5QNGUzDm9loYhaAypdj41_F4,1616
292
+ udata/harvest/tasks.py,sha256=ddJtvE0s-kAYt27-rKH6n8U8vKD8qKczlJtdBJzMUns,1718
293
293
  udata/harvest/backends/__init__.py,sha256=QjoFfBJfpw_xgk5YYWI1SgKJOMEmTMlxSfW79GNkSTI,459
294
294
  udata/harvest/backends/base.py,sha256=gq39-0SN3DSXfXIv4qjhIkEmPkV-2g6z53V0FikooSs,16413
295
295
  udata/harvest/backends/dcat.py,sha256=wbznPWCS9UJzpCWPAnmeUhUCREJg-yoQAHtEfr88RqU,15963
@@ -637,7 +637,7 @@ udata/tests/data/image.jpg,sha256=hdmpaCjOhmAAfNGuTqWKEjv7IC4GXJx-nP_rT274hc8,33
637
637
  udata/tests/data/image.png,sha256=GAqXz7w_u7CapODIUF45UpVddmqelnGQkcrwKZq3448,266488
638
638
  udata/tests/dataservice/test_csv_adapter.py,sha256=HSnw7HTtzSj0UItKzSvKp3PbwGEni4LGpQ5T63w50MQ,1867
639
639
  udata/tests/dataservice/test_dataservice_rdf.py,sha256=VLFgdclFoIhmctfMEgTxvuNlRxcI1yDkZWE-lbEYGdQ,2984
640
- udata/tests/dataservice/test_dataservice_tasks.py,sha256=n1yTRpyv5DTkX1H0WaxC-T2xxDyN-Sk3bjUiv0C0Bww,1335
640
+ udata/tests/dataservice/test_dataservice_tasks.py,sha256=9XUoYLb_p3dzmgLfswaXjMG2civP0i1kzzP4VdJWE0k,1614
641
641
  udata/tests/dataset/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
642
642
  udata/tests/dataset/test_csv_adapter.py,sha256=CSAHEur5-183fRsD_cBgsHnLuohn0DOb9zkVT1q0PNo,3866
643
643
  udata/tests/dataset/test_dataset_actions.py,sha256=bgDjVYjOvu3sX_FCTCzf2snZYSprsqor2nAhIVuokSs,722
@@ -645,7 +645,7 @@ udata/tests/dataset/test_dataset_commands.py,sha256=zMPJG2wYwKBee2zI65kmboxf59Zq
645
645
  udata/tests/dataset/test_dataset_events.py,sha256=hlrpoOiBbnX_COUI9Pzdqlp45GZZDqu5piwupbnPiTI,3601
646
646
  udata/tests/dataset/test_dataset_model.py,sha256=VPF17L5sMpKcFo7JNKmgXnKGAgzy1Ejo470avn3bdcQ,30874
647
647
  udata/tests/dataset/test_dataset_rdf.py,sha256=TuKomK0SWqO8R1hQkV8iA3w4YvReO0vVHPfBqKP_oaU,36750
648
- udata/tests/dataset/test_dataset_tasks.py,sha256=rSafDjCiOyEb2_tVUDN4wqGylF6Yf9VNB769SLmxlwI,2283
648
+ udata/tests/dataset/test_dataset_tasks.py,sha256=n1W2Pg0ez02d66zQG3N93kh7dpR2yLMRDqUI6PnPaI0,3088
649
649
  udata/tests/dataset/test_resource_preview.py,sha256=fp9mSL7unhyM66GR0gwhgX3OGQ4TJt7G9xU-CjsL3HI,3908
650
650
  udata/tests/features/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
651
651
  udata/tests/features/territories/__init__.py,sha256=gMD73RL-ymcWvGPDPM0aPxz7WAfd1VEDL8YHRI7HT0Q,956
@@ -710,9 +710,9 @@ udata/translations/pt/LC_MESSAGES/udata.mo,sha256=18Y5YtzVKInDejw-R-45HNzsB3OVwJ
710
710
  udata/translations/pt/LC_MESSAGES/udata.po,sha256=6IQvFk0NTDV5Jq-kLkkzpioWfrMaLDa1oQSevKFbxKQ,44943
711
711
  udata/translations/sr/LC_MESSAGES/udata.mo,sha256=LWzCNS68hS2lbeo1bncZw4ZKqV2Dk_JUC-4SiF3o994,28163
712
712
  udata/translations/sr/LC_MESSAGES/udata.po,sha256=X1ieIsJDmk_A_YiblpmUBzWWrVHta9F8yzCZLrjeW-Y,51435
713
- udata-10.0.6.dev33079.dist-info/LICENSE,sha256=V8j_M8nAz8PvAOZQocyRDX7keai8UJ9skgmnwqETmdY,34520
714
- udata-10.0.6.dev33079.dist-info/METADATA,sha256=7lwAKUC5GkDPXlisMKYZRCMY5fb_u-2T0FzoS_cKmhE,137645
715
- udata-10.0.6.dev33079.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
716
- udata-10.0.6.dev33079.dist-info/entry_points.txt,sha256=3SKiqVy4HUqxf6iWspgMqH8d88Htk6KoLbG1BU-UddQ,451
717
- udata-10.0.6.dev33079.dist-info/top_level.txt,sha256=39OCg-VWFWOq4gCKnjKNu-s3OwFlZIu_dVH8Gl6ndHw,12
718
- udata-10.0.6.dev33079.dist-info/RECORD,,
713
+ udata-10.0.6.dev33111.dist-info/LICENSE,sha256=V8j_M8nAz8PvAOZQocyRDX7keai8UJ9skgmnwqETmdY,34520
714
+ udata-10.0.6.dev33111.dist-info/METADATA,sha256=jNpE_i0DJk2-zjpIJXA0Tv8uu3cv8aYqygdH5Jh68ZY,137917
715
+ udata-10.0.6.dev33111.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
716
+ udata-10.0.6.dev33111.dist-info/entry_points.txt,sha256=3SKiqVy4HUqxf6iWspgMqH8d88Htk6KoLbG1BU-UddQ,451
717
+ udata-10.0.6.dev33111.dist-info/top_level.txt,sha256=39OCg-VWFWOq4gCKnjKNu-s3OwFlZIu_dVH8Gl6ndHw,12
718
+ udata-10.0.6.dev33111.dist-info/RECORD,,