""" * Version: 0.1.0.0.0 * Purposes: * Sync down required diagrams from diagram cloud pool. """ import sys, os, re def get_referenced_diagram() -> set: referenced_diagram = [] folder_path = "./student-guide/view" for d in sorted( [ folder_path + "/" + o for o in os.listdir(folder_path) if o not in [".DS_Store"] ] ): for c in sorted([d + "/" + x for x in os.listdir(d) if x not in [".DS_Store"]]): for m in sorted( [c + "/" + v for v in os.listdir(c) if v not in [".DS_Store"]] ): if m.endswith(".md") and not "^" in m: md = open(m, "r") all_lines = md.readlines() for line in all_lines: if re.match("^!\[.*\)", line.strip("\n")): object_key = ( re.sub("^!\[.*\]", "", line.strip("\n")) .replace("./student-guide/diagram/", "") .strip("(") .strip(")") ) referenced_diagram += [object_key] return set(referenced_diagram) if __name__ == "__main__": rd = get_referenced_diagram() for o in rd: print("Syncing down s3://tidb-diagram-v2/" + o + " to ./student-guide/diagram/") os.system("aws s3 sync s3://tidb-diagram-v2/" + o + " ./student-guide/diagram/")