summaryrefslogtreecommitdiff
path: root/archaeological_finds/serializers.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2021-03-19 11:17:58 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2021-03-19 11:17:58 +0100
commit33e342679b59fa48607c5acdc1fe826b666a1a5f (patch)
tree31b6b0a838b83efce2437d956a4f8d1a54f0aae6 /archaeological_finds/serializers.py
parent0b3d9bb13c3a7d9bab959e8a734d2ba89e48d359 (diff)
downloadIshtar-33e342679b59fa48607c5acdc1fe826b666a1a5f.tar.bz2
Ishtar-33e342679b59fa48607c5acdc1fe826b666a1a5f.zip
Format - black: finds
Diffstat (limited to 'archaeological_finds/serializers.py')
-rw-r--r--archaeological_finds/serializers.py92
1 files changed, 48 insertions, 44 deletions
diff --git a/archaeological_finds/serializers.py b/archaeological_finds/serializers.py
index e130a0ef8..54e9108b3 100644
--- a/archaeological_finds/serializers.py
+++ b/archaeological_finds/serializers.py
@@ -1,13 +1,10 @@
from django.db.models import Q
-from ishtar_common.serializers_utils import generic_get_results, \
- archive_serialization
+from ishtar_common.serializers_utils import generic_get_results, archive_serialization
from archaeological_finds import models
-FIND_MODEL_LIST = [
- models.BaseFind, models.Find
-]
+FIND_MODEL_LIST = [models.BaseFind, models.Find]
# TODO: associated documents, property, findbasket, treatments
@@ -17,12 +14,10 @@ def generate_warehouse_queryset(ids):
for container_key in ("container", "container_ref"):
for warehouse_key in ("location", "responsible"):
- q_f = Q(**
- {"{}__{}__id__in".format(
- container_key, warehouse_key): ids})
- q_bf = Q(**
- {"find__{}__{}__id__in".format(
- container_key, warehouse_key): ids})
+ q_f = Q(**{"{}__{}__id__in".format(container_key, warehouse_key): ids})
+ q_bf = Q(
+ **{"find__{}__{}__id__in".format(container_key, warehouse_key): ids}
+ )
if not q_find:
q_find = q_f
q_basefind = q_bf
@@ -31,30 +26,36 @@ def generate_warehouse_queryset(ids):
q_basefind |= q_bf
result_queryset = {
- models.BaseFind.__name__:
- models.BaseFind.objects.filter(q_basefind),
- models.Find.__name__:
- models.Find.objects.filter(q_find),
+ models.BaseFind.__name__: models.BaseFind.objects.filter(q_basefind),
+ models.Find.__name__: models.Find.objects.filter(q_find),
}
return result_queryset
-def find_serialization(archive=False, return_empty_types=False,
- archive_name=None, operation_queryset=None,
- site_queryset=None, cr_queryset=None,
- find_queryset=None, warehouse_queryset=None,
- get_queryset=False, no_geo=True,
- put_locks=False, lock_user=None):
+def find_serialization(
+ archive=False,
+ return_empty_types=False,
+ archive_name=None,
+ operation_queryset=None,
+ site_queryset=None,
+ cr_queryset=None,
+ find_queryset=None,
+ warehouse_queryset=None,
+ get_queryset=False,
+ no_geo=True,
+ put_locks=False,
+ lock_user=None,
+):
result_queryset = {}
if operation_queryset:
operation_ids = operation_queryset.values_list("id", flat=True)
result_queryset = {
- models.BaseFind.__name__:
- models.BaseFind.objects.filter(
- context_record__operation_id__in=operation_ids),
- models.Find.__name__:
- models.Find.objects.filter(
- base_finds__context_record__operation_id__in=operation_ids),
+ models.BaseFind.__name__: models.BaseFind.objects.filter(
+ context_record__operation_id__in=operation_ids
+ ),
+ models.Find.__name__: models.Find.objects.filter(
+ base_finds__context_record__operation_id__in=operation_ids
+ ),
}
elif site_queryset:
sites = site_queryset.values_list("id", flat=True)
@@ -62,28 +63,27 @@ def find_serialization(archive=False, return_empty_types=False,
"base_finds__context_record__operation__archaeological_sites__id__in": sites
}
result_queryset = {
- models.BaseFind.__name__:
- models.BaseFind.objects.filter(
- context_record__operation__archaeological_sites__id__in=sites
- ),
- models.Find.__name__:
- models.Find.objects.filter(**f_q),
+ models.BaseFind.__name__: models.BaseFind.objects.filter(
+ context_record__operation__archaeological_sites__id__in=sites
+ ),
+ models.Find.__name__: models.Find.objects.filter(**f_q),
}
elif cr_queryset:
cr_ids = cr_queryset.values_list("id", flat=True)
result_queryset = {
- models.BaseFind.__name__:
- models.BaseFind.objects.filter(
- context_record__in=cr_ids),
- models.Find.__name__:
- models.Find.objects.filter(
- base_finds__context_record__in=cr_ids),
+ models.BaseFind.__name__: models.BaseFind.objects.filter(
+ context_record__in=cr_ids
+ ),
+ models.Find.__name__: models.Find.objects.filter(
+ base_finds__context_record__in=cr_ids
+ ),
}
elif find_queryset:
find_ids = find_queryset.values_list("id", flat=True)
result_queryset = {
models.BaseFind.__name__: models.BaseFind.objects.filter(
- find__id__in=find_ids),
+ find__id__in=find_ids
+ ),
models.Find.__name__: find_queryset,
}
elif warehouse_queryset:
@@ -93,8 +93,9 @@ def find_serialization(archive=False, return_empty_types=False,
if get_queryset:
return result_queryset
- result = generic_get_results(FIND_MODEL_LIST, "finds",
- result_queryset=result_queryset, no_geo=no_geo)
+ result = generic_get_results(
+ FIND_MODEL_LIST, "finds", result_queryset=result_queryset, no_geo=no_geo
+ )
if put_locks:
for model in FIND_MODEL_LIST:
if not hasattr(model, "locked"):
@@ -105,7 +106,10 @@ def find_serialization(archive=False, return_empty_types=False,
q.update(locked=True, lock_user=lock_user)
full_archive = archive_serialization(
- result, archive_dir="operations", archive=archive,
- return_empty_types=return_empty_types, archive_name=archive_name,
+ result,
+ archive_dir="operations",
+ archive=archive,
+ return_empty_types=return_empty_types,
+ archive_name=archive_name,
)
return full_archive