summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--render.py2
-rw-r--r--templates/host.html2
-rw-r--r--utils.py9
3 files changed, 12 insertions, 1 deletions
diff --git a/render.py b/render.py
index 47c187f..6e49a21 100644
--- a/render.py
+++ b/render.py
@@ -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 %}
diff --git a/utils.py b/utils.py
index 1ba7137..1a222c8 100644
--- a/utils.py
+++ b/utils.py
@@ -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)
+]