chiark
/
gitweb
/
~ianmdlvl
/
secnet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
make-secnet-sites: output_vpnflat: Change recursive variables
[secnet.git]
/
make-secnet-sites
diff --git
a/make-secnet-sites
b/make-secnet-sites
index 3fc6fcdbe55a069344ed6c8dfe057cbc1bdbfe19..f56ed3f493f784bffe411759f24fc3b6e3eb8bd6 100755
(executable)
--- a/
make-secnet-sites
+++ b/
make-secnet-sites
@@
-435,13
+435,13
@@
class vpnlevel(level):
}
def __init__(self,w):
level.__init__(self,w)
}
def __init__(self,w):
level.__init__(self,w)
- def output_vpnflat(self,w,
ind,
h):
+ def output_vpnflat(self,w,
pat
h):
"Output flattened list of site names for this VPN"
"Output flattened list of site names for this VPN"
+ ind=2*(len(path)+1)
self.indent(w,ind)
w.write("%s {\n"%(self.name))
for i in self.children.keys():
self.indent(w,ind)
w.write("%s {\n"%(self.name))
for i in self.children.keys():
- self.children[i].output_vpnflat(w,ind+2,
- h+"/"+self.name+"/"+i)
+ self.children[i].output_vpnflat(w,path+(self,))
w.write("\n")
self.indent(w,ind+2)
w.write("all-sites %s;\n"%
w.write("\n")
self.indent(w,ind+2)
w.write("all-sites %s;\n"%
@@
-461,13
+461,19
@@
class locationlevel(level):
def __init__(self,w):
level.__init__(self,w)
self.group=w[2].groupname()
def __init__(self,w):
level.__init__(self,w)
self.group=w[2].groupname()
- def output_vpnflat(self,w,ind,h):
+ def output_vpnflat(self,w,path):
+ ind=2*(len(path)+1)
self.indent(w,ind)
self.indent(w,ind)
- # The "
h=
h,self=self" abomination below exists because
+ # The "
path=pat
h,self=self" abomination below exists because
# Python didn't support nested_scopes until version 2.1
# Python didn't support nested_scopes until version 2.1
+ #
+ #"/"+self.name+"/"+i
w.write("%s %s;\n"%(self.name,','.join(
w.write("%s %s;\n"%(self.name,','.join(
- map(lambda x,h=h,self=self:
- h+"/"+x,self.children.keys()))))
+ map(lambda x,path=path,self=self:
+ '/'.join([prefix+"vpn-data"] + list(map(
+ lambda i: i.name,
+ path+(self,x)))),
+ self.children.values()))))
class sitelevel(level):
"Site level (i.e. a leafnode) in the configuration hierarchy"
class sitelevel(level):
"Site level (i.e. a leafnode) in the configuration hierarchy"
@@
-655,7
+661,7
@@
def outputsites(w):
# Per-VPN flattened lists
w.write(prefix+"vpn {\n")
for i in root.children.values():
# Per-VPN flattened lists
w.write(prefix+"vpn {\n")
for i in root.children.values():
- i.output_vpnflat(w,
2,prefix+"vpn-data"
)
+ i.output_vpnflat(w,
()
)
w.write("};\n")
# Flattened list of sites
w.write("};\n")
# Flattened list of sites