diff options
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 |
commit | 359a43054add412d143d66b5e41cf1d2058fd4fe (patch) | |
tree | 481c7b3883b0b701bb98c558bdf69a69db9c6606 /ishtar_common/management | |
parent | 8311ee221432efe60636c3a9b4e9ce48713751bf (diff) | |
download | Ishtar-359a43054add412d143d66b5e41cf1d2058fd4fe.tar.bz2 Ishtar-359a43054add412d143d66b5e41cf1d2058fd4fe.zip |
Command - reassociate similar images: add an option to delete document with missing images
Diffstat (limited to 'ishtar_common/management')
-rw-r--r-- | ishtar_common/management/commands/reassociate_similar_images.py | 19 |
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', |