X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=make-secnet-sites;h=b4cd9afb80ac404c03b6f3575718cbf0863e3005;hb=5ab085cead58ae5eebb9bc8743439782444833bd;hp=d7a849468cd9c7823cb1d781abdd05ade47b15e6;hpb=e84c081039387230c524f9f34903afacaab4219b;p=secnet.git diff --git a/make-secnet-sites b/make-secnet-sites index d7a8494..b4cd9af 100755 --- a/make-secnet-sites +++ b/make-secnet-sites @@ -105,19 +105,19 @@ class Tainted: assert(self._ok is not True) self._ok=False complain('bad parameter: %s: %s' % (what, why)) - return self + return False def _max_ok(self,what,maxlen): if len(self._s) > maxlen: - self._bad(what,'too long (max %d)' % maxlen) - return self + return self._bad(what,'too long (max %d)' % maxlen) + return True def _re_ok(self,bad,what,maxlen=None): if maxlen is None: maxlen=max[what] self._max_ok(what,maxlen) - if self._ok is False: return self + if self._ok is False: return False if bad.search(self._s): return self._bad(what,'bad syntax') - return self + return True def _rtnval(self, is_ok, ifgood, ifbad=''): if is_ok: @@ -214,6 +214,7 @@ def parse_args(): global group global user global of + global prefix global key_prefix ap = argparse.ArgumentParser(description='process secnet sites files') @@ -228,6 +229,7 @@ def parse_args(): av = ap.parse_args() #print(repr(av), file=sys.stderr) service = 1 if av.userv else 0 + prefix = '' if av.prefix is None else av.prefix[0] key_prefix = av.conf_key_prefix if service: if len(av.arg)!=4: @@ -417,7 +419,7 @@ class level: def prop_out(self,n): return self.allow_properties[n](n,str(self.properties[n])) def output_props(self,w,ind): - for i in self.properties.keys(): + for i in sorted(self.properties.keys()): if self.allow_properties[i]: self.indent(w,ind) w.write("%s"%self.prop_out(i)) @@ -430,7 +432,8 @@ class level: w.write("%s {\n"%(self.kname())) self.output_props(w,ind+2) if self.depth==1: w.write("\n"); - for c in self.children.values(): + for k in sorted(self.children.keys()): + c=self.children[k] c.output_data(w,path+(c,)) self.indent(w,ind) w.write("};\n") @@ -553,7 +556,6 @@ root=level([UntaintedRoot(x) for x in ['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"