[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