From 29e86ff4778cb80f62091d185eefc82d32285ffc Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Fri, 19 Mar 2021 11:09:10 +0100 Subject: Format - black: context_records --- archaeological_context_records/serializers.py | 146 ++++++++++++++------------ 1 file changed, 80 insertions(+), 66 deletions(-) (limited to 'archaeological_context_records/serializers.py') diff --git a/archaeological_context_records/serializers.py b/archaeological_context_records/serializers.py index a41e2bd40..2bccc63f7 100644 --- a/archaeological_context_records/serializers.py +++ b/archaeological_context_records/serializers.py @@ -1,16 +1,14 @@ 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_context_records import models from archaeological_finds.models import Find -from archaeological_finds.serializers import generate_warehouse_queryset \ - as finds_generate_warehouse_queryset +from archaeological_finds.serializers import ( + generate_warehouse_queryset as finds_generate_warehouse_queryset, +) -CR_MODEL_LIST = [ - models.Dating, models.ContextRecord, models.RecordRelations -] +CR_MODEL_LIST = [models.Dating, models.ContextRecord, models.RecordRelations] # TODO: associated documents @@ -22,14 +20,23 @@ def generate_warehouse_queryset(ids): for container_key in ("container", "container_ref"): for warehouse_key in ("location", "responsible"): - q_c = Q(** - {"{}__{}__{}__id__in".format( - base_query_key, container_key, warehouse_key): ids}) - q_r = Q(** - {"left_record__{}__{}__{}__id__in".format( - base_query_key, container_key, warehouse_key): ids, - "right_record__{}__{}__{}__id__in".format( - base_query_key, container_key, warehouse_key): ids}) + q_c = Q( + **{ + "{}__{}__{}__id__in".format( + base_query_key, container_key, warehouse_key + ): ids + } + ) + q_r = Q( + **{ + "left_record__{}__{}__{}__id__in".format( + base_query_key, container_key, warehouse_key + ): ids, + "right_record__{}__{}__{}__id__in".format( + base_query_key, container_key, warehouse_key + ): ids, + } + ) if not q_cr: q_cr = q_c q_record_relation = q_r @@ -38,82 +45,86 @@ def generate_warehouse_queryset(ids): q_record_relation |= q_r result_queryset = { - models.ContextRecord.__name__: models.ContextRecord.objects.filter( - q_cr), - models.RecordRelations.__name__: - models.RecordRelations.objects.filter(q_r) + models.ContextRecord.__name__: models.ContextRecord.objects.filter(q_cr), + models.RecordRelations.__name__: models.RecordRelations.objects.filter(q_r), } return result_queryset -def cr_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 cr_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 = {} find_ids, cr_ids = None, None if operation_queryset: operation_ids = operation_queryset.values_list("id", flat=True) result_queryset = { - models.ContextRecord.__name__: - models.ContextRecord.objects.filter( - operation_id__in=operation_ids), - models.RecordRelations.__name__: - models.RecordRelations.objects.filter( - left_record__operation_id__in=operation_ids, - right_record__operation_id__in=operation_ids, - ), + models.ContextRecord.__name__: models.ContextRecord.objects.filter( + operation_id__in=operation_ids + ), + models.RecordRelations.__name__: models.RecordRelations.objects.filter( + left_record__operation_id__in=operation_ids, + right_record__operation_id__in=operation_ids, + ), } cr_ids = list( - result_queryset[models.ContextRecord.__name__].values_list( - "id", flat=True)) + result_queryset[models.ContextRecord.__name__].values_list("id", flat=True) + ) find_ids = list( Find.objects.filter( base_finds__context_record__operation_id__in=operation_ids - ).values_list("id", flat=True)) + ).values_list("id", flat=True) + ) elif site_queryset: site_ids = site_queryset.values_list("id", flat=True) result_queryset = { - models.ContextRecord.__name__: - models.ContextRecord.objects.filter( - operation__archaeological_sites__id__in=site_ids), - models.RecordRelations.__name__: - models.RecordRelations.objects.filter( - left_record__operation__archaeological_sites__id__in=site_ids, - right_record__operation__archaeological_sites__id__in=site_ids, - ) + models.ContextRecord.__name__: models.ContextRecord.objects.filter( + operation__archaeological_sites__id__in=site_ids + ), + models.RecordRelations.__name__: models.RecordRelations.objects.filter( + left_record__operation__archaeological_sites__id__in=site_ids, + right_record__operation__archaeological_sites__id__in=site_ids, + ), } f_q = { "base_finds__context_record__operation__archaeological_sites__id__in": site_ids } - find_ids = list( - Find.objects.filter(**f_q).values_list("id", flat=True)) + find_ids = list(Find.objects.filter(**f_q).values_list("id", flat=True)) elif cr_queryset: cr_ids = cr_queryset.values_list("id", flat=True) result_queryset = { models.ContextRecord.__name__: cr_queryset, - models.RecordRelations.__name__: - models.RecordRelations.objects.filter( - left_record_id__in=cr_ids, - right_record_id__in=cr_ids, - ) + models.RecordRelations.__name__: models.RecordRelations.objects.filter( + left_record_id__in=cr_ids, + right_record_id__in=cr_ids, + ), } find_ids = list( - Find.objects.filter( - base_finds__context_record__in=cr_ids).values_list( - "id", flat=True)) + Find.objects.filter(base_finds__context_record__in=cr_ids).values_list( + "id", flat=True + ) + ) elif find_queryset: find_ids = find_queryset.values_list("id", flat=True) result_queryset = { models.ContextRecord.__name__: models.ContextRecord.objects.filter( base_finds__find__id__in=find_ids, ), - models.RecordRelations.__name__: - models.RecordRelations.objects.filter( - left_record__base_finds__find__id__in=find_ids, - right_record__base_finds__find__id__in=find_ids, - ) + models.RecordRelations.__name__: models.RecordRelations.objects.filter( + left_record__base_finds__find__id__in=find_ids, + right_record__base_finds__find__id__in=find_ids, + ), } elif warehouse_queryset: warehouse_ids = warehouse_queryset.values_list("id", flat=True) @@ -123,18 +134,18 @@ def cr_serialization(archive=False, return_empty_types=False, if result_queryset: cr_ids = list( - result_queryset[models.ContextRecord.__name__].values_list( - "id", flat=True)) + result_queryset[models.ContextRecord.__name__].values_list("id", flat=True) + ) result_queryset[models.Dating.__name__] = models.Dating.objects.filter( - Q(context_records__id__in=cr_ids) | - Q(find__id__in=list(find_ids)) + Q(context_records__id__in=cr_ids) | Q(find__id__in=list(find_ids)) ) if get_queryset: return result_queryset - result = generic_get_results(CR_MODEL_LIST, "context_records", - result_queryset=result_queryset, no_geo=no_geo) + result = generic_get_results( + CR_MODEL_LIST, "context_records", result_queryset=result_queryset, no_geo=no_geo + ) if put_locks: for model in CR_MODEL_LIST: if not hasattr(model, "locked"): @@ -145,7 +156,10 @@ def cr_serialization(archive=False, return_empty_types=False, q.update(locked=True, lock_user=lock_user) full_archive = archive_serialization( - result, archive_dir="context_records", archive=archive, - return_empty_types=return_empty_types, archive_name=archive_name, + result, + archive_dir="context_records", + archive=archive, + return_empty_types=return_empty_types, + archive_name=archive_name, ) return full_archive -- cgit v1.2.3