summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-10-15 12:00:00 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-10-24 12:06:09 +0200
commitdddba4f6f64680a047d99292f8acf65ae57238cf (patch)
tree481c7b3883b0b701bb98c558bdf69a69db9c6606
parentac587280a094cae232bc35b8875e3b93878390f1 (diff)
downloadIshtar-dddba4f6f64680a047d99292f8acf65ae57238cf.tar.bz2
Ishtar-dddba4f6f64680a047d99292f8acf65ae57238cf.zip
Command - reassociate similar images: add an option to delete document with missing images
-rw-r--r--ishtar_common/management/commands/reassociate_similar_images.py19
1 files changed, 18 insertions, 1 deletions
diff --git a/ishtar_common/management/commands/reassociate_similar_images.py b/ishtar_common/management/commands/reassociate_similar_images.py
index 992e7f5ea..f6d432327 100644
--- a/ishtar_common/management/commands/reassociate_similar_images.py
+++ b/ishtar_common/management/commands/reassociate_similar_images.py
@@ -38,12 +38,16 @@ class Command(BaseCommand):
'--ignore-reference', dest='ignore-reference', action='store_true',
help='Ignore the reference on diff between models.')
parser.add_argument(
+ '--delete-missing', dest='delete-missing', action='store_true',
+ default=False, help='Delete document with missing images.')
+ parser.add_argument(
'--quiet', dest='quiet', action='store_true',
help='Quiet output.')
def handle(self, *args, **options):
quiet = options['quiet']
ignore_ref = options['ignore-reference']
+ delete_missing = options['delete-missing']
merged_title = options['merged-title']
output_path = options['output-path']
@@ -69,8 +73,21 @@ class Command(BaseCommand):
if hexdigest not in hashes:
hashes[hexdigest] = []
hashes[hexdigest].append(doc.pk)
+ nb_missing_images = len(missing_images)
if not quiet:
- out.write("\n* {} missing images\n".format(len(missing_images)))
+ out.write("\n* {} missing images\n".format(nb_missing_images))
+
+ if missing_images and delete_missing:
+ for nb, idx in enumerate(missing_images):
+ if not quiet:
+ out.write(
+ "\r* delete document with missing images: {} %".format(
+ int(float(nb + 1) / nb_missing_images * 100)))
+ out.flush()
+ doc = Document.objects.get(pk=idx)
+ doc.delete()
+ if not quiet:
+ out.write("\n")
attributes = [
'title', 'associated_file', 'internal_reference', 'source_type',