in cstar/command.py [0:0]
def _parse(command_name, filename, definition):
"""Parses a command"""
cluster_parallel = None
dc_parallel = None
description = None
strategy = "topology"
arguments = []
truth_lookup = {"true": True, "false": False}
for line in definition.split('\n'):
if not line or line[0] != "#":
break
match = _property_re.match(line)
if match:
name = match.group(1)
value = match.group(2)
if name == "cluster-parallel":
cluster_parallel = truth_lookup[value.lower()]
elif name == "dc-parallel":
dc_parallel = truth_lookup[value.lower()]
elif name == "description":
description = value
elif name == "strategy":
strategy = value
elif name == "argument":
arguments.append(Argument(**json.loads(value)))
else:
warn("Ignoring unknown property %s while parsing %s" % (name, filename))
return Command(name=command_name, file=filename,
cluster_parallel=cluster_parallel,
dc_parallel=dc_parallel,
description=description,
strategy=strategy,
arguments=arguments)