class OpBase():
# Base case is reading a sites file from self.inputfilee.
# And writing a sites file to self.sitesfile.
+ def positional_args(self, av):
+ if len(av.arg)>3:
+ print("Too many arguments")
+ sys.exit(1)
+ (self.inputfile, self.outputfile) = (av.arg + [None]*2)[0:2]
def read_in(self):
if self.inputfile is None:
self.inputlines = pfile("stdin",sys.stdin.readlines())
class OpConf(OpBase):
opts = ['--conf']
help = 'sites.conf generation mode (default)'
- def positional_args(self, av):
- if len(av.arg)>3:
- print("Too many arguments")
- sys.exit(1)
- (self.inputfile, self.outputfile) = (av.arg + [None]*2)[0:2]
def check_group(self,group,w): pass
def write_out(self):
if self.outputfile is None:
if self.outputfile is not None:
os.rename(tmp_outputfile,self.outputfile)
+class OpFilter(OpBase):
+ opts = ['--filter']
+ help = 'sites file filtering mode'
+ def positional_arXgs(self, av):
+ if len(av.arg)!=1:
+ print("Too many arguments")
+ (self.inputfile,) = (av.arg + [None])[0:1]
+ self.outputfile = None
+ def write_out_heading(self,f):
+ f.write("# --filter --output-version=%d\n"%output_version)
+ def write_out_contents(self,f):
+ for i in self.inputlines: f.write(i)
+
class OpUserv(OpBase):
opts = ['--userv','-u']
help = 'userv service fragment update mode'
fn=(lambda v,ns,*x: setattr(ns,'opmode',how)),
help=how().help)
add_opmode(OpConf)
+ add_opmode(OpFilter)
add_opmode(OpUserv)
ap.add_argument('--conf-key-prefix', action=ActionNoYes,
default=True,