aboutsummaryrefslogtreecommitdiffstats
path: root/templating/templating.py
diff options
context:
space:
mode:
authorroot <root@colazero.tele.tg18.gathering.org>2018-03-23 16:57:01 +0100
committerroot <root@colazero.tele.tg18.gathering.org>2018-03-23 16:57:01 +0100
commitd6a5794527b555dca86be61c757d24bb86930dd3 (patch)
tree76f1905638841de85d9c70e096a7ce3bc65c887e /templating/templating.py
parent22d72afb561091aeaee6a62fb2afbf61dc8bcd7a (diff)
Update templating
Diffstat (limited to 'templating/templating.py')
-rwxr-xr-xtemplating/templating.py23
1 files changed, 22 insertions, 1 deletions
diff --git a/templating/templating.py b/templating/templating.py
index 60b2616..3a29d7b 100755
--- a/templating/templating.py
+++ b/templating/templating.py
@@ -3,6 +3,7 @@
import requests,traceback
from jinja2 import Template,Environment,FileSystemLoader,TemplateNotFound
import json
+import netaddr
import http.server
from enum import Enum
@@ -19,7 +20,27 @@ def updateData():
for a in endpoints:
objects[a] = getEndpoint(a)
-env = Environment(loader=FileSystemLoader(['templates/','/opt/gondul/data/templates', '/opt/gondul/web/templates']),lstrip_blocks=True, trim_blocks=True)
+def netmask(ip):
+ return netaddr.IPNetwork(ip).netmask
+def networkId(ip):
+ return netaddr.IPNetwork(ip).ip
+def getFirstDhcpIp(ip):
+ return netaddr.IPNetwork(ip)[3]
+def getLastDhcpIp(ip):
+ return netaddr.IPNetwork(ip)[-1]
+def getDistro(src):
+ return src.split(":")[0]
+def getPort(src):
+ return src.split(":")[1]
+
+env = Environment(loader=FileSystemLoader(['templates/','/opt/gondul/data/templates', '/opt/gondul/web/templates']), trim_blocks=True)
+
+env.filters["netmask"] = netmask
+env.filters["networkId"] = networkId
+env.filters["getFirstDhcpIp"] = getFirstDhcpIp
+env.filters["getLastDhcpIp"] = getLastDhcpIp
+env.filters["agentDistro"] = getDistro
+env.filters["agentPort"] = getPort
class Mode(Enum):
Get = 1