new stream util + non valued arg -> True/False
This commit is contained in:
+16
-1
@@ -1,7 +1,7 @@
|
||||
import re
|
||||
import sys
|
||||
import os.path as path
|
||||
from typing import List, Optional, Union, Tuple
|
||||
from typing import List, Optional, Union, Tuple, BinaryIO
|
||||
from Levenshtein import distance
|
||||
|
||||
|
||||
@@ -111,7 +111,10 @@ def read_argument(args: List[str], *names: str, valued: bool = False, delete: bo
|
||||
if delete:
|
||||
del args[i + 1]
|
||||
return v
|
||||
if valued:
|
||||
return None
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
def split_arguments(args: Union[List[str], Tuple[str]], separator: str) -> List[List[str]]:
|
||||
@@ -208,4 +211,16 @@ def safe_index(src: Union[str, list], pattern, start: int = 0):
|
||||
except ValueError:
|
||||
return None
|
||||
|
||||
|
||||
# endregion
|
||||
|
||||
# region stream utils
|
||||
|
||||
|
||||
def read_stream(stream: BinaryIO) -> bytes:
|
||||
output_data = bytearray()
|
||||
for line in stream:
|
||||
output_data += line
|
||||
return output_data
|
||||
|
||||
# endregion
|
||||
|
||||
@@ -97,6 +97,7 @@ class TestUtilsLang(TestCase):
|
||||
self.assertEqual("", utils.sanitize_input(""))
|
||||
self.assertEqual("a b_c", utils.sanitize_input(" A+=¤$ bé_cè:* "))
|
||||
|
||||
|
||||
class TestUtilsArgs(TestCase):
|
||||
def test_parse_arguments(self):
|
||||
self.assertEqual([], utils.parse_arguments(""))
|
||||
@@ -106,7 +107,7 @@ class TestUtilsArgs(TestCase):
|
||||
self.assertEqual(["test1", "", ""], utils.parse_arguments("test1 '' \"\""))
|
||||
|
||||
def test_read_argument(self):
|
||||
self.assertIsNone(utils.read_argument(["test", "-o", "test"], "--output"))
|
||||
self.assertFalse(utils.read_argument(["test", "-o", "test"], "--output"))
|
||||
self.assertTrue(utils.read_argument(["test", "-O", "test"], "--output", "-o"))
|
||||
self.assertIsNone(utils.read_argument(["test", "-o"], "-o", valued=True))
|
||||
self.assertEqual("test1", utils.read_argument(["test", "-o", "test1", "-o", "test2"], "-o", valued=True))
|
||||
|
||||
Reference in New Issue
Block a user