diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2026-01-12 16:49:45 +0100 |
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2026-01-12 18:35:23 +0100 |
| commit | caa6d9bdead4783e5eac0a45d5b60ed86d54df45 (patch) | |
| tree | a0179d9af2c8150ce15d4433e7e8122ad8cc5af3 /ishtar_common/views_item.py | |
| parent | e0012a61bef172799dcfa703081fe917596ed978 (diff) | |
| download | Ishtar-caa6d9bdead4783e5eac0a45d5b60ed86d54df45.tar.bz2 Ishtar-caa6d9bdead4783e5eac0a45d5b60ed86d54df45.zip | |
🐛 fix statistic evaluation for last modified and top container
Diffstat (limited to 'ishtar_common/views_item.py')
| -rw-r--r-- | ishtar_common/views_item.py | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py index 7526edcec..0fe65356b 100644 --- a/ishtar_common/views_item.py +++ b/ishtar_common/views_item.py @@ -1843,8 +1843,14 @@ def _get_json_stats_optimized( for stat in (stats_modality_1, stats_modality_2): if not stat: continue - if stat.endswith("__year"): - q = q.annotate(**{stat: ExtractYear(stat[: -len("__year")])}) + if stat.endswith("__FILTERyear"): + q = q.annotate(**{stat: ExtractYear(stat[:-len("__FILTERyear")])}) + elif "__splitpart_" in stat: + st, args = stat.split("__splitpart_") + sep, index = args.split("_") + index = int(index) + stat = f"{st}_modality" + q = q.annotate(**{stat: SplitPart(F(st), Value(sep), index)}) value_keys.append(stat) q = q.values(*value_keys) if stats_sum_variable == "pk": @@ -1886,9 +1892,9 @@ def _get_json_stats( if not stat: value_keys.append(stat) continue - if stat.endswith("__year"): - q = q.annotate(**{stat: ExtractYear(stat[:-len("__year")])}) - if "__splitpart_" in stat: + if stat.endswith("__FILTERyear"): + q = q.annotate(**{stat: ExtractYear(stat[:-len("__FILTERyear")])}) + elif "__splitpart_" in stat: st, args = stat.split("__splitpart_") sep, index = args.split("_") index = int(index) |
