def parse_command_args(response: 'Response') -> typing.Tuple[str, str]:
"""
:param response:
The response object to modify with status or error data
:return:
A tuple where the first element if the name of the command
to execute, and the second is a string representing the arguments
to apply to that command.
"""
cmd = None
parts = None
name = None
args = None
request_args = arguments.from_request()
try:
cmd = request_args.get('command', '')
parts = [x.strip() for x in cmd.split(' ', 1)]
name = parts[0].lower()
args = request_args.get('args', '')
if not isinstance(args, str):
args = ' '.join(args)
args += ' {}'.format(parts[1] if len(parts) > 1 else '').strip()
except Exception as err:
response.fail(
code='INVALID_COMMAND',
message='Unable to parse command',
cmd=cmd if cmd else '',
parts=parts,
name=name,
args=args,
error=err,
mime_type='{}'.format(request.mimetype),
request_data='{}'.format(request.data),
request_args=request_args
)
return name, args
评论列表
文章目录