[svn] commit: r932 - in /branches/each-loadzone/src: bin/loadzone/b10-loadzone.py lib/auth/python/isc/auth/master.py

BIND 10 source code commits bind10-changes at lists.isc.org
Tue Feb 23 16:33:55 UTC 2010


Author: each
Date: Tue Feb 23 16:33:55 2010
New Revision: 932

Log:
per a suggestion from shane, treat the -o option as an initial $ORIGIN
directive, which can be overridden

Modified:
    branches/each-loadzone/src/bin/loadzone/b10-loadzone.py
    branches/each-loadzone/src/lib/auth/python/isc/auth/master.py

Modified: branches/each-loadzone/src/bin/loadzone/b10-loadzone.py
==============================================================================
--- branches/each-loadzone/src/bin/loadzone/b10-loadzone.py (original)
+++ branches/each-loadzone/src/bin/loadzone/b10-loadzone.py Tue Feb 23 16:33:55 2010
@@ -20,7 +20,7 @@
 # usage: print usage note and exit
 #########################################################################
 def usage():
-    print("Usage: %s [-d <database>] <file>" % sys.argv[0])
+    print("Usage: %s [-d <database>] [-o <origin>] <file>" % sys.argv[0])
     exit(1)
 
 #########################################################################
@@ -28,16 +28,20 @@
 #########################################################################
 def main():
     try:
-        opts, args = getopt.getopt(sys.argv[1:], "d:h", ["help"])
+        opts, args = getopt.getopt(sys.argv[1:], "d:o:h", \
+                                                ["dbfile", "origin", "help"])
     except getopt.GetoptError as e:
         print(str(e))
         usage()
         exit(2)
 
     dbfile = '/tmp/zone.sqlite3'
+    initial_origin = '.'
     for o, a in opts:
-        if o == "-d":
+        if o in ("-d", "--dbfile"):
             dbfile = a
+        elif o in ("-o", "--origin"):
+            initial_origin = a;
         elif o in ("-h", "--help"):
             usage()
             sys.exit()
@@ -49,7 +53,7 @@
         usage()
 
     try:
-        zone, zonedata = isc.auth.master.parse(zonefile)
+        zone, zonedata = isc.auth.master.parse(zonefile, initial_origin)
     except Exception as e:
         print("Couldn't open database: " + str(e));
         exit(1)

Modified: branches/each-loadzone/src/lib/auth/python/isc/auth/master.py
==============================================================================
--- branches/each-loadzone/src/lib/auth/python/isc/auth/master.py (original)
+++ branches/each-loadzone/src/lib/auth/python/isc/auth/master.py Tue Feb 23 16:33:55 2010
@@ -331,14 +331,17 @@
 def reset():
     global defttl, origin
     defttl = -1
-    origin='.'
+    origin=''
 
 #########################################################################
 # do_parse: parse a zone master file and return it as an array of
 # tuples
 #########################################################################
-def do_parse(file):
+def do_parse(file, initial_origin = '.'):
     global defttl, origin, defclass
+
+    if not origin:
+        origin = initial_origin
 
     zone = []
     name = ''
@@ -403,8 +406,8 @@
 # returns:
 #   zonename, data
 #########################################################################
-def parse(file):
-    zone = do_parse(file)
+def parse(file, initial_origin = '.'):
+    zone = do_parse(file, initial_origin)
     zonename = ''
     for record in zone:
         if record[3].lower() == 'soa':




More information about the bind10-changes mailing list