From 8caa7efb948af3df9f21e232c915aa4ebdf2591b Mon Sep 17 00:00:00 2001 From: klemek Date: Wed, 29 Apr 2020 12:24:52 +0200 Subject: [PATCH] new stream util + non valued arg -> True/False --- meme_otron/utils.py | 19 +++++++++++++++++-- tests/unit/meme_otron/test_utils.py | 3 ++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/meme_otron/utils.py b/meme_otron/utils.py index 310b75c..db99a67 100644 --- a/meme_otron/utils.py +++ b/meme_otron/utils.py @@ -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 - return None + 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 diff --git a/tests/unit/meme_otron/test_utils.py b/tests/unit/meme_otron/test_utils.py index eed3961..cf2982b 100644 --- a/tests/unit/meme_otron/test_utils.py +++ b/tests/unit/meme_otron/test_utils.py @@ -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))