udata 10.8.1.dev36561__py2.py3-none-any.whl → 10.8.1.dev36604__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/dataservices/models.py +3 -1
- udata/core/dataset/models.py +3 -1
- udata/core/reuse/models.py +3 -1
- udata/migrations/2025-07-18-redo-count-discussion.py +26 -0
- udata/static/chunks/{10.471164b2a9fe15614797.js → 10.8ca60413647062717b1e.js} +3 -3
- udata/static/chunks/{10.471164b2a9fe15614797.js.map → 10.8ca60413647062717b1e.js.map} +1 -1
- udata/static/chunks/{11.83535504cd650ea08f65.js → 11.33f00815743ef2ea9e06.js} +3 -3
- udata/static/chunks/{11.83535504cd650ea08f65.js.map → 11.33f00815743ef2ea9e06.js.map} +1 -1
- udata/static/chunks/{13.d9c1735d14038b94c17e.js → 13.f29411b06be1883356a3.js} +2 -2
- udata/static/chunks/{13.d9c1735d14038b94c17e.js.map → 13.f29411b06be1883356a3.js.map} +1 -1
- udata/static/chunks/{17.81c57c0dedf812e43013.js → 17.3bd0340930d4a314ce9c.js} +2 -2
- udata/static/chunks/{17.81c57c0dedf812e43013.js.map → 17.3bd0340930d4a314ce9c.js.map} +1 -1
- udata/static/chunks/{19.df16abde17a42033a7f8.js → 19.8d03c06efcac6884bebe.js} +3 -3
- udata/static/chunks/{19.df16abde17a42033a7f8.js.map → 19.8d03c06efcac6884bebe.js.map} +1 -1
- udata/static/chunks/{8.462bb3029de008497675.js → 8.0b54a9e3084c9636c58f.js} +2 -2
- udata/static/chunks/{8.462bb3029de008497675.js.map → 8.0b54a9e3084c9636c58f.js.map} +1 -1
- udata/static/chunks/{9.07515e5187f475bce828.js → 9.033d7e190ca9e226a5d0.js} +3 -3
- udata/static/chunks/{9.07515e5187f475bce828.js.map → 9.033d7e190ca9e226a5d0.js.map} +1 -1
- udata/static/common.js +1 -1
- udata/static/common.js.map +1 -1
- udata/tests/test_discussions.py +2 -1
- {udata-10.8.1.dev36561.dist-info → udata-10.8.1.dev36604.dist-info}/METADATA +2 -1
- {udata-10.8.1.dev36561.dist-info → udata-10.8.1.dev36604.dist-info}/RECORD +27 -26
- {udata-10.8.1.dev36561.dist-info → udata-10.8.1.dev36604.dist-info}/LICENSE +0 -0
- {udata-10.8.1.dev36561.dist-info → udata-10.8.1.dev36604.dist-info}/WHEEL +0 -0
- {udata-10.8.1.dev36561.dist-info → udata-10.8.1.dev36604.dist-info}/entry_points.txt +0 -0
- {udata-10.8.1.dev36561.dist-info → udata-10.8.1.dev36604.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
|
|
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):
|
udata/core/dataset/models.py
CHANGED
|
@@ -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
|
|
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):
|
udata/core/reuse/models.py
CHANGED
|
@@ -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
|
|
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}")
|