diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-02-19 11:40:03 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-02-28 12:15:24 +0100 |
commit | feae86528cba80ae9f0bcb189451ee3fb02d88be (patch) | |
tree | 78eaf482caeb100e905665ecd8d26c6437048eee /ishtar_common/management/commands | |
parent | 48da8fa6033474e48bcfa5d5d7db395b7f93fbd7 (diff) | |
download | Ishtar-feae86528cba80ae9f0bcb189451ee3fb02d88be.tar.bz2 Ishtar-feae86528cba80ae9f0bcb189451ee3fb02d88be.zip |
media_find_missing_files: try first to fix bad links
Diffstat (limited to 'ishtar_common/management/commands')
-rw-r--r-- | ishtar_common/management/commands/media_find_missing_files.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/ishtar_common/management/commands/media_find_missing_files.py b/ishtar_common/management/commands/media_find_missing_files.py index 73f4e0ccf..13159bfa7 100644 --- a/ishtar_common/management/commands/media_find_missing_files.py +++ b/ishtar_common/management/commands/media_find_missing_files.py @@ -20,8 +20,9 @@ import os.path import sys -from ishtar_common.utils import get_used_media, try_fix_file +from ishtar_common.utils import get_used_media, try_fix_file, get_broken_links +from django.conf import settings from django.core.management.base import BaseCommand @@ -67,6 +68,15 @@ class Command(BaseCommand): self.stdout.write("hard option has no effect if try-fix or " "find-fix are not set.\n") + if try_fix: + # first try to fix broken links + out = None + for l in get_broken_links(settings.MEDIA_ROOT): + if not out: + self.stdout.write("* fixes broken links:\n") + out = True + try_fix_file(l, hard=hard) + missing = [] for media in get_used_media(exclude=exclude, limit=limit): if not os.path.isfile(media): |