summaryrefslogtreecommitdiff
path: root/ishtar_common/tasks.py
diff options
context:
space:
mode:
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
commit3039fae5124c00a67283c9b707e4a411149d93b1 (patch)
tree5d7fde3628825aebeeef3d85d2dfcf09a52116de /ishtar_common/tasks.py
parentb38e35ad05ae5b7d1c3d45436921f573bc9e5ba6 (diff)
downloadIshtar-3039fae5124c00a67283c9b707e4a411149d93b1.tar.bz2
Ishtar-3039fae5124c00a67283c9b707e4a411149d93b1.zip
Format - black: ishtar_common
Diffstat (limited to 'ishtar_common/tasks.py')
-rw-r--r--ishtar_common/tasks.py124
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