diff options
author | Christian Poessinger <christian@poessinger.com> | 2020-04-12 21:07:53 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-12 21:07:53 +0200 |
commit | 8978c7eaf4b1a89712242c8626a217024aae2f2b (patch) | |
tree | 1248cd48ca5571d5d2098574ab932692767b5d2b /src/conf_mode/dhcp_server.py | |
parent | ad489280ba7f4511016883c24a6d0b06b6659df8 (diff) | |
parent | 1fbaa2c59d0c0f43acad10db99d66b92fc520888 (diff) | |
download | vyos-1x-8978c7eaf4b1a89712242c8626a217024aae2f2b.tar.gz vyos-1x-8978c7eaf4b1a89712242c8626a217024aae2f2b.zip |
Merge pull request #332 from thomas-mangin/T2230
template: T2230: use render to generate templates
Diffstat (limited to 'src/conf_mode/dhcp_server.py')
-rwxr-xr-x | src/conf_mode/dhcp_server.py | 23 |
1 files changed, 4 insertions, 19 deletions
diff --git a/src/conf_mode/dhcp_server.py b/src/conf_mode/dhcp_server.py index 553247b88..13304bf19 100755 --- a/src/conf_mode/dhcp_server.py +++ b/src/conf_mode/dhcp_server.py @@ -17,16 +17,15 @@ import os from ipaddress import ip_address, ip_network -from jinja2 import FileSystemLoader, Environment from socket import inet_ntoa from struct import pack from sys import exit from vyos.config import Config -from vyos.defaults import directories as vyos_data_dir from vyos.validate import is_subnet_connected from vyos import ConfigError from vyos.util import call +from vyos.template import render config_file = r'/etc/dhcp/dhcpd.conf' @@ -604,25 +603,11 @@ def generate(dhcp): print('Warning: DHCP server will be deactivated because it is disabled') return None - # Prepare Jinja2 template loader from files - tmpl_path = os.path.join(vyos_data_dir['data'], 'templates', 'dhcp-server') - fs_loader = FileSystemLoader(tmpl_path) - env = Environment(loader=fs_loader) - - tmpl = env.get_template('dhcpd.conf.tmpl') - config_text = tmpl.render(dhcp) # Please see: https://phabricator.vyos.net/T1129 for quoting of the raw parameters # we can pass to ISC DHCPd - config_text = config_text.replace(""",'"') - - with open(config_file, 'w') as f: - f.write(config_text) - - tmpl = env.get_template('daemon.tmpl') - config_text = tmpl.render(dhcp) - with open(daemon_config_file, 'w') as f: - f.write(config_text) - + render(config_file, 'dhcp-server/dhcpd.conf.tmpl', dhcp, + formater=lambda _: _.replace(""", '"')) + render(daemon_config_file, 'dhcp-server/daemon.tmpl', dhcp) return None def apply(dhcp): |