Support quoting for command arguments

I've encountered a problem when trying to use a passphrase with spaces in `/olm import`.
The arguments were just broken by spaces. shlex has more advanced splitting which allows
taking multi-word arguments in quotes.
This commit is contained in:
Bohdan Horbeshko 2021-06-06 05:05:10 +03:00
parent 2b668080bd
commit f05a55a0af

View file

@ -19,6 +19,7 @@ from __future__ import unicode_literals
import argparse
import os
import re
import shlex
from builtins import str
from future.moves.itertools import zip_longest
from collections import defaultdict
@ -60,7 +61,7 @@ class WeechatCommandParser(object):
@staticmethod
def _run_parser(parser, args):
try:
parsed_args = parser.parse_args(args.split())
parsed_args = parser.parse_args(shlex.split(args))
return parsed_args
except ParseError:
return None