mirror of
https://github.com/KrystianD/mikrotik_configurator.git
synced 2025-06-24 11:33:45 +02:00
added ip and network addresses helpers
This commit is contained in:
parent
062862f193
commit
6681a974ff
@ -3,6 +3,7 @@ from textwrap import indent
|
||||
from typing import Dict, List
|
||||
|
||||
from jinja2 import Environment, FileSystemLoader
|
||||
from netaddr import *
|
||||
|
||||
from utils import read_text_file
|
||||
|
||||
@ -82,6 +83,12 @@ def render_file(path: str, include_dirs: List[str], variables: Dict[str, str]):
|
||||
env.globals['rollback_delete_chain'] = rollback_delete_chain
|
||||
env.globals = {**env.globals, **variables}
|
||||
|
||||
env.filters["ipnet"] = lambda x: str(IPNetwork(x))
|
||||
env.filters["network"] = lambda x: str(IPNetwork(x).cidr)
|
||||
env.filters["host"] = lambda x: str(IPNetwork(x).ip)
|
||||
env.filters["netmask"] = lambda x: str(IPNetwork(x).netmask)
|
||||
env.filters["with_host"] = lambda x, host: IPNetwork(x).network + IPAddress(f"0.0.0.{host}")
|
||||
|
||||
content = env.get_template(os.path.basename(path))
|
||||
content = content.render(load_file=load_file)
|
||||
|
||||
|
@ -1,2 +1,3 @@
|
||||
jinja2
|
||||
pyyaml
|
||||
pyyaml
|
||||
netaddr
|
||||
|
Loading…
x
Reference in New Issue
Block a user