From fc6ff8cb5d72f971c9e7080885d14394d5c4eace Mon Sep 17 00:00:00 2001 From: Alexis Filipozzi <alexis.filipozzi@gmail.com> Date: Thu, 16 Jun 2016 20:36:55 +0200 Subject: [PATCH] add recursion level attribute to correct style link --- formatter.py | 5 +++-- main.py | 11 ++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/formatter.py b/formatter.py index 9bb84b9..55c2a16 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 bd203ad..92ab54d 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: -- GitLab