X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=secnet.git;a=blobdiff_plain;f=make-secnet-sites;h=c49467a19f687c5f1fb78dfb15ebe44a5790c9ae;hp=9d0c6a6b7b3af0ed5c54b18b94d6ba30719f11dd;hb=26f727b913e16936c8f319fde9d7e06b677345f6;hpb=fbc8bcc6698e847b27b3a43b6d60aa4d98547d62 diff --git a/make-secnet-sites b/make-secnet-sites index 9d0c6a6..c49467a 100755 --- a/make-secnet-sites +++ b/make-secnet-sites @@ -320,6 +320,7 @@ def moan(msg): root=level(['root','root']) # All vpns are children of this node obstack=[root] allow_defs=0 # Level above which new definitions are permitted +prefix='' def set_property(obj,w): "Set a property on a configuration node" @@ -415,20 +416,21 @@ def outputsites(w): w.write("# Command line: %s\n\n"%string.join(sys.argv)) # Raw VPN data section of file - w.write("vpn-data {\n") + w.write(prefix+"vpn-data {\n") for i in root.children.values(): i.output_data(w,2,"") w.write("};\n") # Per-VPN flattened lists - w.write("vpn {\n") + w.write(prefix+"vpn {\n") for i in root.children.values(): - i.output_vpnflat(w,2,"vpn-data") + i.output_vpnflat(w,2,prefix+"vpn-data") w.write("};\n") # Flattened list of sites - w.write("all-sites %s;\n"%string.join(map(lambda x:"vpn/%s/all-sites"% - x,root.children.keys()),",")) + w.write(prefix+"all-sites %s;\n"%string.join( + map(lambda x:"%svpn/%s/all-sites"%(prefix,x), + root.children.keys()),",")) # Are we being invoked from userv? service=0 @@ -471,6 +473,9 @@ else: userinput=sys.stdin.readlines() pfile("user input",userinput) else: + if sys.argv[1]=='-P': + prefix=sys.argv[2] + sys.argv[1:3]=[] if len(sys.argv)>3: print "Too many arguments" sys.exit(1)