]> de.git.xonotic.org Git - xonotic/xonotic.wiki.git/blobdiff - assets/check-and-fix.py
forgot format()
[xonotic/xonotic.wiki.git] / assets / check-and-fix.py
index 2528d04ef3904daf2b5d3a1f0c70500268fd69b1..3c2861d55cf54e59dd3ca1da11635d5255521c9d 100755 (executable)
@@ -68,7 +68,7 @@ LINK_REGEX = compile_regex("""
 """)
 
 
-dry_run = False
+fix = False
 
 
 def strip_header_link(link: str) -> str:
@@ -126,10 +126,10 @@ def fix_dir_structure():
 
         if os.path.exists(fixed):
             print("warning: collision: {}".format(path))
-        elif dry_run:
-            print("would rename {} to {}".format(path, fixed))
-        else:
+        elif fix:
             os.rename(path, fixed)
+        else:
+            print("would rename {} to {}".format(path, fixed))
 
 
 def is_between_files(link: str) -> bool:
@@ -180,15 +180,14 @@ def fix_links():
             changes = []
             replacer = functools.partial(replace_link, changes)
             contents_new = LINK_REGEX.sub(replacer, contents)
-            if dry_run and any(changes):
-                print("would convert these links in {}:".format(path))
-                for change in changes:
-                    print(change)
-
-            if not dry_run and contents != contents_new:
+            if fix and contents != contents_new:
                 f.seek(0)
                 f.write(contents_new)
                 f.truncate()
+            elif not fix and any(changes):
+                print("would convert these links in {}:".format(path))
+                for change in changes:
+                    print(change)
 
 
 def link_to_path(current_file: str, link: str) -> str:
@@ -200,7 +199,7 @@ def link_to_path(current_file: str, link: str) -> str:
     # when not using subdirs, nothing or "." works for all 3
 
     if link.startswith("..") or link.startswith("/"):
-        print("file: {} bad link: {}", link)
+        print("file: {} bad link: {}".format(current_file, link))
 
     # path relative to wiki root, not curent file
     current_dir = dirname(current_file)
@@ -277,7 +276,7 @@ def find_unlinked(all_paths: List[str]):
 
     walk_links(canonical_to_real, is_linked, "Home.md")
 
-    for path, linked in is_linked.items():
+    for path, linked in sorted(is_linked.items()):
         if not linked:
             print("not reachable from Home: {}".format(path))
 
@@ -289,9 +288,9 @@ def check_links():
 
 
 def main():
-    global dry_run
-    if len(sys.argv) > 1 and sys.argv[1] == "--dry-run":
-        dry_run = True
+    global fix
+    if len(sys.argv) > 1 and sys.argv[1] == "--fix":
+        fix = True
 
     # convert file paths - put everything into root
     fix_dir_structure()