str support + tests
This commit is contained in:
parent
a874a6134e
commit
e5c0cd0bf1
2 changed files with 31 additions and 9 deletions
|
|
@ -1,6 +1,7 @@
|
||||||
import hashlib
|
import hashlib
|
||||||
import re
|
import re
|
||||||
import shlex
|
import shlex
|
||||||
|
from typing import Any
|
||||||
from typing import Dict
|
from typing import Dict
|
||||||
from typing import List
|
from typing import List
|
||||||
from typing import Tuple
|
from typing import Tuple
|
||||||
|
|
@ -116,7 +117,7 @@ class DownloadArgsParser:
|
||||||
return largest_consecutive + 1
|
return largest_consecutive + 1
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _argument_name_and_value_to_dict(cls, arg_name: str, arg_value: str) -> Dict:
|
def _argument_name_and_value_to_dict(cls, arg_name: str, arg_value: Any) -> Dict:
|
||||||
"""
|
"""
|
||||||
:param arg_name: Argument name in the form of 'key1.key2.key3'
|
:param arg_name: Argument name in the form of 'key1.key2.key3'
|
||||||
:param arg_value: Argument value
|
:param arg_value: Argument value
|
||||||
|
|
@ -134,6 +135,7 @@ class DownloadArgsParser:
|
||||||
|
|
||||||
next_dict[arg_name_split[-1]] = arg_value
|
next_dict[arg_name_split[-1]] = arg_value
|
||||||
|
|
||||||
|
if isinstance(arg_value, str):
|
||||||
if arg_value == "True":
|
if arg_value == "True":
|
||||||
next_dict[arg_name_split[-1]] = True
|
next_dict[arg_name_split[-1]] = True
|
||||||
elif arg_value == "False":
|
elif arg_value == "False":
|
||||||
|
|
|
||||||
|
|
@ -97,6 +97,26 @@ class TestDownloadArgsParser:
|
||||||
"dl --parameter.not.using.list[0] 'v0'",
|
"dl --parameter.not.using.list[0] 'v0'",
|
||||||
{"parameter": {"not": {"using": {"list[0]": "v0"}}}},
|
{"parameter": {"not": {"using": {"list[0]": "v0"}}}},
|
||||||
),
|
),
|
||||||
|
(
|
||||||
|
None,
|
||||||
|
"dl --a.float.parameter 1.3",
|
||||||
|
{"a": {"float": {"parameter": 1.3}}},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
None,
|
||||||
|
"dl --a.int.parameter 6",
|
||||||
|
{"a": {"int": {"parameter": 6}}},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
None,
|
||||||
|
"dl --a.true.parameter True",
|
||||||
|
{"a": {"true": {"parameter": True}}},
|
||||||
|
),
|
||||||
|
(
|
||||||
|
None,
|
||||||
|
"dl --a.false.parameter False",
|
||||||
|
{"a": {"false": {"parameter": False}}},
|
||||||
|
),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
def test_successful_args(self, config_options_generator, aliases, cmd, expected_sub_dict):
|
def test_successful_args(self, config_options_generator, aliases, cmd, expected_sub_dict):
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue