diff options
Diffstat (limited to 'ishtar_common/management/commands')
| -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', | 
