diff options
| author | Patrick Williams <patrick@stwcx.xyz> | 2016-10-14 18:41:27 -0500 |
|---|---|---|
| committer | Patrick Williams <patrick@stwcx.xyz> | 2016-10-16 18:17:20 -0500 |
| commit | 52dd41ed17c37d554eaaa5ab7b0f7873e049426a (patch) | |
| tree | 90f25134c224d8fd1232c1683e0c69ec1fe7f569 | |
| parent | 3a2cc9c78dfaee7c0a5096494b841c92cc5bacfd (diff) | |
| download | sdbusplus-52dd41ed17c37d554eaaa5ab7b0f7873e049426a.tar.gz sdbusplus-52dd41ed17c37d554eaaa5ab7b0f7873e049426a.zip | |
sdbus++: Refactor markdown into generic renderer
Change-Id: If5b1270511d9d6bfb0c9430a71d45126257793a9
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
| -rw-r--r-- | tools/sdbusplus/interface.py | 6 | ||||
| -rw-r--r-- | tools/sdbusplus/method.py | 6 | ||||
| -rw-r--r-- | tools/sdbusplus/property.py | 6 | ||||
| -rw-r--r-- | tools/sdbusplus/renderer.py | 7 | ||||
| -rw-r--r-- | tools/sdbusplus/signal.py | 6 |
5 files changed, 19 insertions, 12 deletions
diff --git a/tools/sdbusplus/interface.py b/tools/sdbusplus/interface.py index 9034f8e..0cdb1a0 100644 --- a/tools/sdbusplus/interface.py +++ b/tools/sdbusplus/interface.py @@ -4,8 +4,9 @@ from .namedelement import NamedElement from .property import Property from .method import Method from .signal import Signal +from .renderer import Renderer -class Interface(NamedElement): +class Interface(NamedElement, Renderer): @staticmethod def load(name, rootdir='.'): filename = os.path.join(rootdir, @@ -28,5 +29,4 @@ class Interface(NamedElement): super(Interface, self).__init__(**kwargs) def markdown(self, loader): - template = loader.get_template("interface.mako.md") - return template.render(interface=self, loader=loader) + return self.render(loader, "interface.mako.md", interface=self) diff --git a/tools/sdbusplus/method.py b/tools/sdbusplus/method.py index b4142cb..f8e2efd 100644 --- a/tools/sdbusplus/method.py +++ b/tools/sdbusplus/method.py @@ -1,7 +1,8 @@ from .property import Property from .namedelement import NamedElement +from .renderer import Renderer -class Method(NamedElement): +class Method(NamedElement, Renderer): def __init__(self, **kwargs): self.parameters = [ Property(**p) for p in kwargs.pop('parameters', []) ] @@ -12,5 +13,4 @@ class Method(NamedElement): super(Method, self).__init__(**kwargs) def markdown(self, loader): - template = loader.get_template("method.mako.md") - return template.render(method=self, loader=loader) + return self.render(loader, "method.mako.md", method=self) diff --git a/tools/sdbusplus/property.py b/tools/sdbusplus/property.py index 5b25869..869eef6 100644 --- a/tools/sdbusplus/property.py +++ b/tools/sdbusplus/property.py @@ -1,6 +1,7 @@ from .namedelement import NamedElement +from .renderer import Renderer -class Property(NamedElement): +class Property(NamedElement, Renderer): def __init__(self, **kwargs): self.typeName = kwargs.pop('type', None) self.defaultValue = kwargs.pop('default', None) @@ -8,5 +9,4 @@ class Property(NamedElement): super(Property, self).__init__(**kwargs) def markdown(self, loader): - template = loader.get_template("property.mako.md") - return template.render(property=self, loader=loader).strip() + return self.render(loader, "property.mako.md", property=self).strip() diff --git a/tools/sdbusplus/renderer.py b/tools/sdbusplus/renderer.py new file mode 100644 index 0000000..24e83c8 --- /dev/null +++ b/tools/sdbusplus/renderer.py @@ -0,0 +1,7 @@ +class Renderer(object): + def __init__(self, **kwargs): + super(Renderer, self).__init__(**kwargs) + + def render(self, loader, template, **kwargs): + t = loader.get_template(template) + return t.render(loader=loader, **kwargs) diff --git a/tools/sdbusplus/signal.py b/tools/sdbusplus/signal.py index 3afe759..42dcdce 100644 --- a/tools/sdbusplus/signal.py +++ b/tools/sdbusplus/signal.py @@ -1,7 +1,8 @@ from .property import Property from .namedelement import NamedElement +from .renderer import Renderer -class Signal(NamedElement): +class Signal(NamedElement, Renderer): def __init__(self, **kwargs): self.properties = [ Property(**p) for p in kwargs.pop('properties', []) ] @@ -9,5 +10,4 @@ class Signal(NamedElement): super(Signal, self).__init__(**kwargs) def markdown(self, loader): - template = loader.get_template("signal.mako.md") - return template.render(signal=self, loader=loader) + return self.render(loader, "signal.mako.md", signal=self) |

