def __call__(self, parser, namespace, values, option_string=None):
stagename = values[0]
f = os.path.abspath(values[1])
d = os.path.abspath(values[2])
if stagename not in self.stagenames:
raise argparse.ArgumentError(self,
"%s not a valid stage, must be one of %s" %
(stagename, str(self.stagenames)))
if self.dest == 'importpolicy':
setattr(namespace, "doimport", True)
for s in self.stagenames:
if s == stagename:
getattr(namespace, self.dest)[s] = (f, d)
else:
if s not in getattr(namespace, self.dest).iterkeys():
getattr(namespace, self.dest)[s] = self.sdefaults[s]
评论列表
文章目录