diff --git a/formatter.py b/formatter.py index 9bb84b9a10158a16ee9c4d893b7bda5b5e615ad5..55c2a16ded4caebba65bafb1b15794befed84514 100644 --- a/formatter.py +++ b/formatter.py @@ -4,8 +4,9 @@ import os class Formatter: - def __init__(self, data): + def __init__(self, data, recursion_level): self._data = data + self._recursion_level = recursion_level self._root = None self._body = None self._extra = None @@ -20,7 +21,7 @@ class Formatter: root.append(message) style = etree.Element("style") - style.attrib["inherits"] = "../guide-style.protoxml" + style.attrib["inherits"] = ("../" * self._recursion_level) + "guide-style.protoxml" message.append(style) body = etree.Element("body") diff --git a/main.py b/main.py index bd203ad22cdd85f584fd5263cf2717c33102eb1b..92ab54d34175a99db5571182f7eab09930d7787c 100644 --- a/main.py +++ b/main.py @@ -18,7 +18,7 @@ def main_one_arg(directory): for filename in os.listdir(directory): parse_and_format(directory, filename, destination) -def parse_and_format(dir_path, filename, dest): +def parse_and_format(dir_path, filename, dest, level=1): assert(os.path.exists(os.path.join(dir_path, filename))) path_to_file = os.path.join(dir_path, filename) path_to_dst = os.path.join(dest, filename) @@ -30,13 +30,14 @@ def parse_and_format(dir_path, filename, dest): if not os.path.exists(path_to_dst): os.makedirs(path_to_dst) for sub_file in os.listdir(path_to_file): - parse_and_format(path_to_file, sub_file, path_to_dst) + parse_and_format(path_to_file, sub_file, path_to_dst, level+1) elif os.path.isfile(path_to_file): - parse_format_and_write_file(path_to_file, os.path.join(dest, filename.replace(".html", ".protoxml"))) + parse_format_and_write_file(path_to_file, os.path.join(dest, + filename.replace(".html", ".protoxml")), level) else: print "Unhandled file type (probably symlink) with file " + str(path_to_file) -def parse_format_and_write_file(filename, dest): +def parse_format_and_write_file(filename, dest, level): has_been_parsed = False parser = None formatter = None @@ -49,7 +50,7 @@ def parse_format_and_write_file(filename, dest): print "Error message: " + str(e) if has_been_parsed: try: - formatter = Formatter(parser.get_data()) + formatter = Formatter(parser.get_data(), level) formatter.format() formatter.write_to_file(dest) except Exception as e: