udata 10.8.1.dev36561__py2.py3-none-any.whl → 10.8.1.dev36640__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 (27) hide show
  1. udata/core/dataservices/models.py +3 -1
  2. udata/core/dataset/models.py +3 -1
  3. udata/core/reuse/models.py +3 -1
  4. udata/migrations/2025-07-18-redo-count-discussion.py +26 -0
  5. udata/static/chunks/{10.471164b2a9fe15614797.js → 10.8ca60413647062717b1e.js} +3 -3
  6. udata/static/chunks/{10.471164b2a9fe15614797.js.map → 10.8ca60413647062717b1e.js.map} +1 -1
  7. udata/static/chunks/{11.83535504cd650ea08f65.js → 11.b6f741fcc366abfad9c4.js} +3 -3
  8. udata/static/chunks/{11.83535504cd650ea08f65.js.map → 11.b6f741fcc366abfad9c4.js.map} +1 -1
  9. udata/static/chunks/{13.d9c1735d14038b94c17e.js → 13.2d06442dd9a05d9777b5.js} +2 -2
  10. udata/static/chunks/{13.d9c1735d14038b94c17e.js.map → 13.2d06442dd9a05d9777b5.js.map} +1 -1
  11. udata/static/chunks/{17.81c57c0dedf812e43013.js → 17.e8e4caaad5cb0cc0bacc.js} +2 -2
  12. udata/static/chunks/{17.81c57c0dedf812e43013.js.map → 17.e8e4caaad5cb0cc0bacc.js.map} +1 -1
  13. udata/static/chunks/{19.df16abde17a42033a7f8.js → 19.f03a102365af4315f9db.js} +3 -3
  14. udata/static/chunks/{19.df16abde17a42033a7f8.js.map → 19.f03a102365af4315f9db.js.map} +1 -1
  15. udata/static/chunks/{8.462bb3029de008497675.js → 8.778091d55cd8ea39af6b.js} +2 -2
  16. udata/static/chunks/{8.462bb3029de008497675.js.map → 8.778091d55cd8ea39af6b.js.map} +1 -1
  17. udata/static/chunks/{9.07515e5187f475bce828.js → 9.033d7e190ca9e226a5d0.js} +3 -3
  18. udata/static/chunks/{9.07515e5187f475bce828.js.map → 9.033d7e190ca9e226a5d0.js.map} +1 -1
  19. udata/static/common.js +1 -1
  20. udata/static/common.js.map +1 -1
  21. udata/tests/test_discussions.py +2 -1
  22. {udata-10.8.1.dev36561.dist-info → udata-10.8.1.dev36640.dist-info}/METADATA +2 -2
  23. {udata-10.8.1.dev36561.dist-info → udata-10.8.1.dev36640.dist-info}/RECORD +27 -26
  24. {udata-10.8.1.dev36561.dist-info → udata-10.8.1.dev36640.dist-info}/LICENSE +0 -0
  25. {udata-10.8.1.dev36561.dist-info → udata-10.8.1.dev36640.dist-info}/WHEEL +0 -0
  26. {udata-10.8.1.dev36561.dist-info → udata-10.8.1.dev36640.dist-info}/entry_points.txt +0 -0
  27. {udata-10.8.1.dev36561.dist-info → udata-10.8.1.dev36640.dist-info}/top_level.txt +0 -0
@@ -288,6 +288,7 @@ class Dataservice(Auditable, WithMetrics, Linkable, Owned, db.Document):
288
288
 
289
289
  __metrics_keys__ = [
290
290
  "discussions",
291
+ "discussions_open",
291
292
  "followers",
292
293
  "followers_by_months",
293
294
  "views",
@@ -310,7 +311,8 @@ class Dataservice(Auditable, WithMetrics, Linkable, Owned, db.Document):
310
311
  }
311
312
 
312
313
  def count_discussions(self):
313
- self.metrics["discussions"] = Discussion.objects(subject=self, closed=None).count()
314
+ self.metrics["discussions"] = Discussion.objects(subject=self).count()
315
+ self.metrics["discussions_open"] = Discussion.objects(subject=self, closed=None).count()
314
316
  self.save(signal_kwargs={"ignores": ["post_save"]})
315
317
 
316
318
  def count_followers(self):
@@ -611,6 +611,7 @@ class Dataset(Auditable, WithMetrics, DatasetBadgeMixin, Owned, Linkable, db.Doc
611
611
 
612
612
  __metrics_keys__ = [
613
613
  "discussions",
614
+ "discussions_open",
614
615
  "reuses",
615
616
  "reuses_by_months",
616
617
  "followers",
@@ -1086,7 +1087,8 @@ class Dataset(Auditable, WithMetrics, DatasetBadgeMixin, Owned, Linkable, db.Doc
1086
1087
  def count_discussions(self):
1087
1088
  from udata.models import Discussion
1088
1089
 
1089
- self.metrics["discussions"] = Discussion.objects(subject=self, closed=None).count()
1090
+ self.metrics["discussions"] = Discussion.objects(subject=self).count()
1091
+ self.metrics["discussions_open"] = Discussion.objects(subject=self, closed=None).count()
1090
1092
  self.save(signal_kwargs={"ignores": ["post_save"]})
1091
1093
 
1092
1094
  def count_reuses(self):
@@ -151,6 +151,7 @@ class Reuse(db.Datetimed, Auditable, WithMetrics, ReuseBadgeMixin, Linkable, Own
151
151
 
152
152
  __metrics_keys__ = [
153
153
  "discussions",
154
+ "discussions_open",
154
155
  "datasets",
155
156
  "followers",
156
157
  "followers_by_months",
@@ -287,7 +288,8 @@ class Reuse(db.Datetimed, Auditable, WithMetrics, ReuseBadgeMixin, Linkable, Own
287
288
  def count_discussions(self):
288
289
  from udata.models import Discussion
289
290
 
290
- self.metrics["discussions"] = Discussion.objects(subject=self, closed=None).count()
291
+ self.metrics["discussions"] = Discussion.objects(subject=self).count()
292
+ self.metrics["discussions_open"] = Discussion.objects(subject=self, closed=None).count()
291
293
  self.save(signal_kwargs={"ignores": ["post_save"]})
292
294
 
293
295
  def count_followers(self):
@@ -0,0 +1,26 @@
1
+ """
2
+ This migration does a `count_discussions` on all objets with discussions.
3
+ It follows the change of `metrics.discussions` to track all discussions and not onyl the opened ones.
4
+ """
5
+
6
+ import logging
7
+
8
+ import click
9
+
10
+ from udata.core.discussions.models import Discussion
11
+ from udata.mongo import db as udata_db
12
+
13
+ log = logging.getLogger(__name__)
14
+
15
+
16
+ def migrate(db):
17
+ objects_with_discussions = Discussion.objects.aggregate(
18
+ [{"$group": {"_id": "$subject._ref", "_cls": {"$first": "$subject._cls"}}}]
19
+ )
20
+ with click.progressbar(objects_with_discussions) as objects_with_discussions:
21
+ for object in objects_with_discussions:
22
+ related_to = udata_db.resolve_model(object["_cls"]).objects.get(pk=object["_id"].id)
23
+ try:
24
+ related_to.count_discussions()
25
+ except Exception as err:
26
+ log.error(f"Cannot count discussions for {object['_cls']} {object['_id'].id} {err}")