diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2022-03-14 14:51:43 +0100 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2022-12-12 12:21:00 +0100 | 
| commit | 4770486294b3c85ec986521abf4fbd8fe64d92ae (patch) | |
| tree | 1a15b0cd2fd8fc980ab66c081e51d3ae6a933b18 /ishtar_common/management/commands/migrate_to_geo_v4.py | |
| parent | 4286395e83bc27f853f0919c988a716dc2b6a345 (diff) | |
| download | Ishtar-4770486294b3c85ec986521abf4fbd8fe64d92ae.tar.bz2 Ishtar-4770486294b3c85ec986521abf4fbd8fe64d92ae.zip  | |
Geodata redesign: container, warehouse  migration
Diffstat (limited to 'ishtar_common/management/commands/migrate_to_geo_v4.py')
| -rw-r--r-- | ishtar_common/management/commands/migrate_to_geo_v4.py | 32 | 
1 files changed, 25 insertions, 7 deletions
diff --git a/ishtar_common/management/commands/migrate_to_geo_v4.py b/ishtar_common/management/commands/migrate_to_geo_v4.py index 2c27eebe9..2a316c2a4 100644 --- a/ishtar_common/management/commands/migrate_to_geo_v4.py +++ b/ishtar_common/management/commands/migrate_to_geo_v4.py @@ -15,6 +15,8 @@ from ishtar_common.utils import ugettext_lazy as _, get_log_time, get_percent, g  from ishtar_common import models_common, models  from archaeological_operations.models import Operation, ArchaeologicalSite  from archaeological_context_records.models import ContextRecord +from archaeological_finds.models import BaseFind +from archaeological_warehouse.models import Warehouse, Container  log_path = os.sep.join([settings.ROOT_PATH, "logs"]) @@ -183,7 +185,7 @@ def migrate(quiet=False, log=True):              "basefind",              "mobilier d'origine",              "du mobilier d'origine", -            ContextRecord, +            BaseFind,          ),      ]      for app, model_slug, model_name, model_full_name, model in model_list: @@ -199,7 +201,7 @@ def migrate(quiet=False, log=True):              defaults={"label": f"Centre {model_full_name}"},          )          ref_time = datetime.datetime.now() -        for idx, obj in enumerate(q.all()[:100]): +        for idx, obj in enumerate(q.all()):              if not quiet:                  write_output(model_name, idx, nb, ref_time)              obj._no_move = True @@ -268,11 +270,27 @@ def migrate(quiet=False, log=True):                      changed.append(                          ["geovectordata", data.name, data.pk, f"Point {model_name}"]                      ) -    if not quiet and nb: -        sys.stdout.write( -            f"\r[{get_log_time()}] {model_name.capitalize()} migrated" + " " * 20 + "\n" -        ) -        sys.stdout.flush() +        if not quiet and nb: +            sys.stdout.write( +                f"\r[{get_log_time()}] {model_name.capitalize()} migrated" +                + " " * 20 +                + "\n" +            ) +            sys.stdout.flush() +    model_list = [Warehouse, Container] +    for model in model_list: +        ref_time = datetime.datetime.now() +        q = model.objects.exclude(main_geodata__isnull=False) +        nb = q.count() +        for idx, obj in enumerate(q.all()): +            if not quiet: +                write_output(model.__name__, idx, nb, ref_time) +            obj.save() +        if not quiet and nb: +            sys.stdout.write( +                f"\r[{get_log_time()}] {model.__name__.capitalize()} migrated" + " " * 20 + "\n" +            ) +            sys.stdout.flush()      if log and changed:          filename = f"geo_migration-created-{get_log_time().replace(':', '')}.csv"  | 
