--- a/pvl/hosts.py Mon Mar 17 15:52:42 2014 +0200
+++ b/pvl/hosts.py Mon Mar 17 17:19:30 2014 +0200
@@ -100,6 +100,7 @@
@classmethod
def build (cls, options, host, domain,
ip=None, ip6=None, owner=None, boot=None, alias=None, alias4=None, alias6=None, forward=None, reverse=None,
+ down=None,
**extra) :
"""
Return a Host from a config section's scalars.
@@ -167,6 +168,11 @@
# omit
reverse = False
+ if down :
+ down = True
+ else :
+ down = None
+
return cls(host,
domain = domain,
ip = ipaddr.IPv4Address(ip) if ip else None,
@@ -179,6 +185,7 @@
boot = boot,
forward = forward,
reverse = reverse,
+ down = down,
**extensions
)
@@ -192,6 +199,7 @@
boot=None,
alias4=None, alias6=None,
forward=None, reverse=None,
+ down=None,
**extensions
) :
"""
@@ -206,6 +214,7 @@
alias6 - list (CNAME -> AAAA)
forward - generate forward records, or CNAME into given zone
reverse - generate reverse records, or CNAME into given zone
+ down - not online
"""
self.host = host
@@ -220,6 +229,7 @@
self.boot = boot
self.forward = forward
self.reverse = reverse
+ self.down = down
self.extensions = extensions
@@ -310,14 +320,18 @@
Load Hosts from a file.
"""
-
- config = configobj.ConfigObj(file,
- encoding = options.hosts_charset,
- )
# use file basename as default
path = file.name
name = os.path.basename(path)
+
+ try :
+ config = configobj.ConfigObj(file,
+ encoding = options.hosts_charset,
+ )
+ except configobj.ParseError as ex :
+ raise HostConfigError("%s:%d: %s" % (path, ex.line_number, ex))
+
return apply_hosts_config(options, path, name, config, parent=parent)