pvl.dns-process: include zone itself in --include-trace
authorTero Marttila <tero.marttila@aalto.fi>
Tue, 03 Mar 2015 12:42:26 +0200
changeset 717 e37b0a857a5d
parent 716 4fecd0d1cf23
child 718 f1c352644c2a
pvl.dns-process: include zone itself in --include-trace
bin/pvl.dns-process
pvl/dns/process.py
--- a/bin/pvl.dns-process	Tue Mar 03 12:14:22 2015 +0200
+++ b/bin/pvl.dns-process	Tue Mar 03 12:42:26 2015 +0200
@@ -30,18 +30,20 @@
     options, args = pvl.args.parse(parser, argv)
     
     # process
-    zone = list(pvl.dns.process.apply_zone(options, args))
+    if options.include_trace:
+        include_trace = [ ]
+    else:
+        include_trace = None
+
+    zone = list(pvl.dns.process.apply_zone(options, args,
+            include_trace   = include_trace,
+    ))
 
     if options.serial:
         log.info("Set zone serial: %s", options.serial)
 
         zone = list(pvl.dns.process.zone_serial(zone, options.serial))
 
-    if options.include_trace:
-        include_trace = [ ]
-    else:
-        include_trace = None
-
     if options.include_path:
         log.info("Set zone include path: %s", options.include_path)
 
--- a/pvl/dns/process.py	Tue Mar 03 12:14:22 2015 +0200
+++ b/pvl/dns/process.py	Tue Mar 03 12:42:26 2015 +0200
@@ -68,9 +68,13 @@
         file.write(unicode(item))
         file.write('\n')
 
-def apply_zone (options, args):
+def apply_zone (options, args,
+        include_trace=None,
+):
     """
         ZoneLine.load() in given zones.
+            
+            include_trace           - append included paths to given list
 
         Yields ZoneDirective/ZoneRecord items.
     """
@@ -78,6 +82,9 @@
     for file in pvl.args.apply_files(args, 'r', options.input_charset) :
         log.info("%s: reading zone", file.name)
 
+        if include_trace is not None:
+            include_trace.append(file.name)
+
         for item in zone.ZoneLine.load(file):
             yield item