summaryrefslogtreecommitdiff
path: root/ishtar_common/utils_migrations.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2019-01-27 13:21:12 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2019-01-27 13:21:12 +0100
commitfbf251e26ed9769fb69d6698026fb832dab3062d (patch)
tree62b31735a99e8e60655e3bbe1bc0956294a4652c /ishtar_common/utils_migrations.py
parentdcaf88795c06b151ca32ca9b79b2043c4068f45c (diff)
downloadIshtar-fbf251e26ed9769fb69d6698026fb832dab3062d.tar.bz2
Ishtar-fbf251e26ed9769fb69d6698026fb832dab3062d.zip
Tools to manage media files.
* clean unused * find missing * rename and simplify
Diffstat (limited to 'ishtar_common/utils_migrations.py')
-rw-r--r--ishtar_common/utils_migrations.py19
1 files changed, 15 insertions, 4 deletions
diff --git a/ishtar_common/utils_migrations.py b/ishtar_common/utils_migrations.py
index 431fe5bd7..f51465262 100644
--- a/ishtar_common/utils_migrations.py
+++ b/ishtar_common/utils_migrations.py
@@ -4,6 +4,7 @@ from __future__ import unicode_literals
import datetime
import json
import os
+import sys
from django.core.files import File
from django.db import connection
@@ -102,11 +103,18 @@ def reinit_last_modified(apps, app_name, models):
item.save()
-def migrate_main_image(apps, app_name, model_name):
+def migrate_main_image(apps, app_name, model_name, verbose=False):
model = apps.get_model(app_name, model_name)
- for item in model.objects.filter(
- documents__image__isnull=False).exclude(
- main_image__isnull=False).all():
+ q = model.objects.filter(documents__image__isnull=False).exclude(
+ main_image__isnull=False)
+ ln = q.count()
+ if verbose:
+ sys.stdout.write("\n")
+ for idx, item in enumerate(q.all()):
+ if verbose:
+ sys.stdout.write(" * {}.{}: {}/{}\r".format(app_name, model_name,
+ idx + 1, ln))
+ sys.stdout.flush()
q = item.documents.filter(
image__isnull=False).exclude(image='')
if not q.count():
@@ -114,7 +122,10 @@ def migrate_main_image(apps, app_name, model_name):
# by default get the lowest pk
item.main_image = q.order_by('pk').all()[0]
item.skip_history_when_saving = True
+ item._no_move = True
item.save()
+ if verbose:
+ sys.stdout.write("\n")
def m2m_historization_init(obj):