3 \�me U � @ s d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZm Z d dl mZmZm Z d dlmZ eje�Zdddd d dgZdd ddddddgZddddddddddddd d!d"d#d$d%d&d'd(d)d*gZd+d,� Zd-d.� Zd>d0d1�Zd2d3� Zd4d5� Zd6d7� ZG d8d9� d9ej�Zd?d:d;�Zd@d<d=�ZdS )A� N)�Optional)�subp�util)�ParserError�renderer�subnet_is_ipv6)�NetworkStatezpre-up�upzpost-up�downzpre-downz post-downZ bridge_ageingZbridge_bridgeprioZ bridge_fdZ bridge_gcinitZbridge_helloZ bridge_maxageZbridge_maxwaitZ bridge_stp�address�netmask� broadcast�network�metric�gatewayZpointtopointZmedia�mtuZhostnameZ leasehoursZ leasetimeZvendorZclientZbootfile�serverZhwaddrZprovider�frameZnetnumZendpointZlocalZttlc C s� g }ddddddddd d g }x�|j � D ]t\}}|dkr8q&|dkrTd|d |d f }|r&||kr&t|t�rtd j|�}d|kr�|jdd�}|jdj||�� q&W t|�S )Nr r r r r Zpointopointr Zscope� dns_search�dns_nameserversz%s/%s�prefix� �_�-z {0} {1})�items� isinstance�list�join�replace�append�format�sorted)�iface�subnet�contentZ valid_map�key�value� r'