def make_command(self, value):
cmd = self.config.get('cmd')
if value is None:
return cmd,
elif not cmd and isinstance(value, Sequence):
return value
elif not cmd and isinstance(value, str):
return value,
elif isinstance(cmd, list) and isinstance(value, str):
return cmd + [value]
elif isinstance(cmd, list) and isinstance(value, Sequence):
result = list(cmd)
result.extend(value)
return result
elif isinstance(cmd, list) and isinstance(value, Mapping):
return [i.format_map(value) for i in cmd]
elif isinstance(cmd, str) and isinstance(value, str):
return self.config.cmd + ' ' + value,
elif isinstance(cmd, str) and isinstance(value, Mapping):
return self.config.cmd.format_map(value),
elif isinstance(cmd, str) and isinstance(value, Sequence):
return self.config.cmd.format(*value),
else:
raise ValueError(value)
评论列表
文章目录