diff options
-rw-r--r-- | render.py | 2 | ||||
-rw-r--r-- | templates/host.html | 2 | ||||
-rw-r--r-- | utils.py | 9 |
3 files changed, 12 insertions, 1 deletions
@@ -5,6 +5,7 @@ import os import jinja2 import optparse from utils import filters +from utils import tests class Renderer: def __init__(self, output_dir): @@ -14,6 +15,7 @@ class Renderer: self.env = jinja2.Environment( loader = jinja2.FileSystemLoader(template_dir)) self.env.filters.update(filters) + self.env.tests.update(tests) self.output_dir = output_dir self.templates = {} diff --git a/templates/host.html b/templates/host.html index d59c05d..09c4f9d 100644 --- a/templates/host.html +++ b/templates/host.html @@ -33,7 +33,7 @@ {% if vserver_host %} <dt>vserver_host</dt><dd>{{vserver_host}}</dd> {% endif %} - {% if maintainers is defined %} + {% if maintainers is iterable %} <dt>maintainers</dt> <dd> {% for maintainer in maintainers %} @@ -1,4 +1,5 @@ #!/usr/bin/python2 +import collections def get_os_name(name): try: return name.split(' ')[0].lower() @@ -7,8 +8,16 @@ def get_os_name(name): def select_with_attribute(iterable, attribute, result=True): return [value for value in iterable if (attribute in value) == result] +def is_iterable(obj): + if isinstance(obj, collections.Iterable): + return True + return False filters = [ ('select_with_attribute', select_with_attribute), ('get_os_name', get_os_name) ] + +tests = [ + ('iterable', is_iterable) +] |