summaryrefslogtreecommitdiff
path: root/ishtar_common/management
diff options
context:
space:
mode:
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
commitfeae86528cba80ae9f0bcb189451ee3fb02d88be (patch)
tree78eaf482caeb100e905665ecd8d26c6437048eee /ishtar_common/management
parent48da8fa6033474e48bcfa5d5d7db395b7f93fbd7 (diff)
downloadIshtar-feae86528cba80ae9f0bcb189451ee3fb02d88be.tar.bz2
Ishtar-feae86528cba80ae9f0bcb189451ee3fb02d88be.zip
media_find_missing_files: try first to fix bad links
Diffstat (limited to 'ishtar_common/management')
-rw-r--r--ishtar_common/management/commands/media_find_missing_files.py12
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):