diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-03-19 11:05:22 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-03-19 11:05:22 +0100 |
commit | e2d6c50f231f636fed362be37e7bf3319fc5d6b8 (patch) | |
tree | 5d7fde3628825aebeeef3d85d2dfcf09a52116de /ishtar_common/tasks.py | |
parent | e6af0225df8f539308bc3fd8c9dbc967bba5a807 (diff) | |
download | Ishtar-e2d6c50f231f636fed362be37e7bf3319fc5d6b8.tar.bz2 Ishtar-e2d6c50f231f636fed362be37e7bf3319fc5d6b8.zip |
Format - black: ishtar_common
Diffstat (limited to 'ishtar_common/tasks.py')
-rw-r--r-- | ishtar_common/tasks.py | 124 |
1 files changed, 72 insertions, 52 deletions
diff --git a/ishtar_common/tasks.py b/ishtar_common/tasks.py index 96db07b1b..03b8a6338 100644 --- a/ishtar_common/tasks.py +++ b/ishtar_common/tasks.py @@ -45,7 +45,7 @@ from archaeological_warehouse.views import get_warehouse @task() def trigger_error(): - return 1/0 + return 1 / 0 @task() @@ -54,18 +54,20 @@ def launch_import(import_task_id): import_task = ImportTask.objects.get(pk=import_task_id) except ImportTask.DoesNotExist: return - if import_task.state != 'S': + if import_task.state != "S": return import_task.launch_date = datetime.datetime.now() - import_task.state = 'P' + import_task.state = "P" import_task.save() - restore_serialized(import_task.source.path, - import_task.import_user, - delete_existing=import_task.delete_before, - release_locks=import_task.releasing_locks) + restore_serialized( + import_task.source.path, + import_task.import_user, + delete_existing=import_task.delete_before, + release_locks=import_task.releasing_locks, + ) import_task.finished_date = datetime.datetime.now() - import_task.state = 'F' + import_task.state = "F" import_task.save() @@ -75,18 +77,27 @@ def launch_export(export_task_id): export_task = ExportTask.objects.get(pk=export_task_id) except ExportTask.DoesNotExist: return - if export_task.state != 'S': + if export_task.state != "S": return export_task.launch_date = datetime.datetime.now() - export_task.state = 'P' + export_task.state = "P" export_task.save() - kwargs = {"info": {}, - "put_locks": export_task.put_locks, - "lock_user": export_task.lock_user} - - for fltr_key in ("export_types", "export_conf", "export_importers", - "export_geo", "export_dir", "export_docs", "export_items"): + kwargs = { + "info": {}, + "put_locks": export_task.put_locks, + "lock_user": export_task.lock_user, + } + + for fltr_key in ( + "export_types", + "export_conf", + "export_importers", + "export_geo", + "export_dir", + "export_docs", + "export_items", + ): kwargs["info"][fltr_key] = getattr(export_task, fltr_key) kwargs[fltr_key] = getattr(export_task, fltr_key) @@ -96,62 +107,68 @@ def launch_export(export_task_id): if export_task.filter_type == "O": kwargs["info"]["query"]["model"] = "Operation" ids = list( - get_operation( - None, query=query, return_query=True).values_list( - "id", flat=True)) + get_operation(None, query=query, return_query=True).values_list( + "id", flat=True + ) + ) if not ids: - export_task.state = 'F' + export_task.state = "F" export_task.result_info = str(_("No data to export")) export_task.save() return - kwargs["operation_queryset"] = Operation.objects.filter( - pk__in=ids) + kwargs["operation_queryset"] = Operation.objects.filter(pk__in=ids) elif export_task.filter_type == "S": kwargs["info"]["query"]["model"] = "ArchaeologicalSite" - ids = list(get_site( - None, query=query, return_query=True).values_list( - "id", flat=True)) + ids = list( + get_site(None, query=query, return_query=True).values_list( + "id", flat=True + ) + ) if not ids: - export_task.state = 'F' + export_task.state = "F" export_task.result_info = str(_("No data to export")) export_task.save() return - kwargs["site_queryset"] = ArchaeologicalSite.objects.filter( - pk__in=ids) + kwargs["site_queryset"] = ArchaeologicalSite.objects.filter(pk__in=ids) elif export_task.filter_type == "CR": kwargs["info"]["query"]["model"] = "ArchaeologicalSite" - ids = list(get_contextrecord( - None, query=query, return_query=True).values_list( - "id", flat=True)) + ids = list( + get_contextrecord(None, query=query, return_query=True).values_list( + "id", flat=True + ) + ) if not ids: - export_task.state = 'F' + export_task.state = "F" export_task.result_info = str(_("No data to export")) export_task.save() return kwargs["cr_queryset"] = ContextRecord.objects.filter(pk__in=ids) elif export_task.filter_type == "F": kwargs["info"]["query"]["model"] = "Find" - ids = list(get_find( - None, query=query, return_query=True - ).values_list("id", flat=True)) + ids = list( + get_find(None, query=query, return_query=True).values_list( + "id", flat=True + ) + ) if not ids: - export_task.state = 'F' + export_task.state = "F" export_task.result_info = str(_("No data to export")) export_task.save() return kwargs["find_queryset"] = Find.objects.filter(pk__in=ids) elif export_task.filter_type == "W": kwargs["info"]["query"]["model"] = "Warehouse" - ids = list(get_warehouse( - None, query=query, return_query=True - ).values_list("id", flat=True)) + ids = list( + get_warehouse(None, query=query, return_query=True).values_list( + "id", flat=True + ) + ) if not ids: - export_task.state = 'F' + export_task.state = "F" export_task.result_info = str(_("No data to export")) export_task.save() return - kwargs["warehouse_queryset"] = Warehouse.objects.filter( - pk__in=ids) + kwargs["warehouse_queryset"] = Warehouse.objects.filter(pk__in=ids) kwargs["info"]["geo"] = export_task.geo if not export_task.geo: kwargs["no_geo"] = True @@ -160,7 +177,7 @@ def launch_export(export_task_id): export_task.result.save(archive_name.split(os.sep)[-1], File(result)) os.remove(archive_name) export_task.finished_date = datetime.datetime.now() - export_task.state = 'F' + export_task.state = "F" export_task.result_info = str(_("Export finished")) export_task.save() @@ -168,6 +185,7 @@ def launch_export(export_task_id): def load_towns(): # TODO: remove? from geodjangofla.models import Commune + q = None for dpt_number in settings.ISHTAR_DPTS: query = Q(insee_com__istartswith=dpt_number) @@ -183,10 +201,10 @@ def load_towns(): for town in q.all(): surface = town.superficie or 0 surface = surface * 10000 - defaults = {'name':town.nom_comm, 'surface':surface, - 'center':town.centroid} - town, created = Town.objects.get_or_create(numero_insee=town.insee_com, - defaults=defaults) + defaults = {"name": town.nom_comm, "surface": surface, "center": town.centroid} + town, created = Town.objects.get_or_create( + numero_insee=town.insee_com, defaults=defaults + ) if created: nb += 1 else: @@ -196,6 +214,7 @@ def load_towns(): town.save() return nb, updated + def update_towns(): # TODO: remove? nb, updated = 0, 0 @@ -203,15 +222,16 @@ def update_towns(): q = Town.objects.filter(numero_insee__isnull=False) total = q.count() for idx, town in enumerate(q.all()): - sys.stdout.write('\rProcessing... %s/%d' % ( - str(idx+1).zfill(len(str(total))), total)) + sys.stdout.write( + "\rProcessing... %s/%d" % (str(idx + 1).zfill(len(str(total))), total) + ) if len(town.numero_insee) < 2: continue dpt_code = town.numero_insee[:2] - if dpt_code.startswith('9') and int(dpt_code) > 95: + if dpt_code.startswith("9") and int(dpt_code) > 95: dpt_code = town.numero_insee[:3] if dpt_code not in dpts: - sys.stdout.write('Missing department with INSEE code: %s' % dpt_code) + sys.stdout.write("Missing department with INSEE code: %s" % dpt_code) continue if town.departement == dpts[dpt_code]: continue @@ -221,5 +241,5 @@ def update_towns(): nb += 1 town.departement = dpts[dpt_code] town.save() - sys.stdout.write('\n') + sys.stdout.write("\n") return nb, updated |