diff --git a/.ci/generateIndex.py b/.ci/generateIndex.py index 1175daef65c8146421a6b670db09742bac9ae67b..162523568ff4c0aaef151d55b378371c089a6042 100644 --- a/.ci/generateIndex.py +++ b/.ci/generateIndex.py @@ -42,16 +42,39 @@ def build_section_start(title, shortcut): def build_section_end(): return "\t\t</ul>\n\t</div>" -def remove_header(localroot, root, filename): - nfirstlines = [] +def save_legacy_from(localroot, root, filename): + legacy_from = [] + os.chdir(root) + + # count the number of lines + count = 0 + headerCheck = False + legacy_from_flag = False + with open(filename, 'r') as f: + for line in f: + count += 1 + if line[0:12] == "legacy_from:": + legacy_from_flag = True + #legacy_from_line_start = count - #cwd = os.getcwd() + if legacy_from_flag and line[0:12]: + legacy_from.append(line) + if legacy_from_flag and line[0:3] == "---": + #legacy_from_line_end = count + legacy_from_flag = False + + print(legacy_from) + + # change back to the local root os.chdir(localroot) - #print("Local root folder:" + os.getcwd()) + + return legacy_from + +def remove_header(localroot, root, filename): + nfirstlines = [] os.chdir(root) - #print("Local folder:" + os.getcwd()) # count the number of lines count = 0 @@ -66,7 +89,7 @@ def remove_header(localroot, root, filename): n = count # remove the header - if count > n and headerCheck: + if headerCheck: with open(filename) as f, open("tmp"+filename, "w") as out: for _ in range(n): nfirstlines.append(next(f)) @@ -79,7 +102,6 @@ def remove_header(localroot, root, filename): # change back to the local root os.chdir(localroot) - #print("exit folder:" + os.getcwd()) # loop through the entire internal tree localroot = os.getcwd() @@ -138,6 +160,9 @@ for folder in cardDirs: if file[0] != "_": print(" > Generating header for: " + fileName) + # save legacy from + legacy_from = save_legacy_from(localroot, root, file) + # remove the previous header if "handbook-annexes" in fileName or "handbook-additional" in fileName: remove_header(localroot, root, file) @@ -170,7 +195,11 @@ for folder in cardDirs: header += " - /cards/" + root_handbook(shortcut) + "\n" header += " - /" + folder + "/cards/" + root_handbook(shortcut) + "\n" - header += "---" + if len(legacy_from) > 0: + for item in legacy_from: + header += str(item) + else: + header += "---" # add autogenerated links to whitelist whiteList += permalink + "\n"