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
commit45180c1f4f2e75b38b57d581f454b170ca68cfe1 (patch)
tree62b31735a99e8e60655e3bbe1bc0956294a4652c /ishtar_common/utils_migrations.py
parentab651277d8f70c9930481b1b578a762c7eedd1b3 (diff)
downloadIshtar-45180c1f4f2e75b38b57d581f454b170ca68cfe1.tar.bz2
Ishtar-45180c1f4f2e75b38b57d581f454b170ca68cfe1.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):