aboutsummaryrefslogtreecommitdiffstats
path: root/mitmproxy/utils
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2019-11-12 02:59:01 +0100
committerMaximilian Hils <git@maximilianhils.com>2019-11-12 04:38:13 +0100
commitbdc15cbe0c0cd5175af1b58078d65d400cca71d1 (patch)
treeeb65d9f2e2c7c7d934a6d7bca53a24341d0b5a43 /mitmproxy/utils
parentf97996126f7a7606f8601f0318f0a70a4e818c6c (diff)
downloadmitmproxy-bdc15cbe0c0cd5175af1b58078d65d400cca71d1.tar.gz
mitmproxy-bdc15cbe0c0cd5175af1b58078d65d400cca71d1.tar.bz2
mitmproxy-bdc15cbe0c0cd5175af1b58078d65d400cca71d1.zip
update mypy
Diffstat (limited to 'mitmproxy/utils')
-rw-r--r--mitmproxy/utils/sliding_window.py4
-rw-r--r--mitmproxy/utils/strutils.py15
2 files changed, 10 insertions, 9 deletions
diff --git a/mitmproxy/utils/sliding_window.py b/mitmproxy/utils/sliding_window.py
index 0a65f5e4..cb31756d 100644
--- a/mitmproxy/utils/sliding_window.py
+++ b/mitmproxy/utils/sliding_window.py
@@ -1,5 +1,5 @@
import itertools
-from typing import TypeVar, Iterable, Iterator, Tuple, Optional
+from typing import TypeVar, Iterable, Iterator, Tuple, Optional, List
T = TypeVar('T')
@@ -18,7 +18,7 @@ def window(iterator: Iterable[T], behind: int = 0, ahead: int = 0) -> Iterator[T
2 3 None
"""
# TODO: move into utils
- iters = list(itertools.tee(iterator, behind + 1 + ahead))
+ iters: List[Iterator[Optional[T]]] = list(itertools.tee(iterator, behind + 1 + ahead))
for i in range(behind):
iters[i] = itertools.chain((behind - i) * [None], iters[i])
for i in range(ahead):
diff --git a/mitmproxy/utils/strutils.py b/mitmproxy/utils/strutils.py
index 388c765f..6e399d8f 100644
--- a/mitmproxy/utils/strutils.py
+++ b/mitmproxy/utils/strutils.py
@@ -1,10 +1,10 @@
+import codecs
import io
import re
-import codecs
-from typing import AnyStr, Optional, cast, Iterable
+from typing import Iterable, Optional, Union, cast
-def always_bytes(str_or_bytes: Optional[AnyStr], *encode_args) -> Optional[bytes]:
+def always_bytes(str_or_bytes: Union[str, bytes, None], *encode_args) -> Optional[bytes]:
if isinstance(str_or_bytes, bytes) or str_or_bytes is None:
return cast(Optional[bytes], str_or_bytes)
elif isinstance(str_or_bytes, str):
@@ -13,13 +13,15 @@ def always_bytes(str_or_bytes: Optional[AnyStr], *encode_args) -> Optional[bytes
raise TypeError("Expected str or bytes, but got {}.".format(type(str_or_bytes).__name__))
-def always_str(str_or_bytes: Optional[AnyStr], *decode_args) -> Optional[str]:
+def always_str(str_or_bytes: Union[str, bytes, None], *decode_args) -> Optional[str]:
"""
Returns,
str_or_bytes unmodified, if
"""
- if isinstance(str_or_bytes, str) or str_or_bytes is None:
- return cast(Optional[str], str_or_bytes)
+ if str_or_bytes is None:
+ return None
+ if isinstance(str_or_bytes, str):
+ return cast(str, str_or_bytes)
elif isinstance(str_or_bytes, bytes):
return str_or_bytes.decode(*decode_args)
else:
@@ -39,7 +41,6 @@ _control_char_trans_newline = _control_char_trans.copy()
for x in ("\r", "\n", "\t"):
del _control_char_trans_newline[ord(x)]
-
_control_char_trans = str.maketrans(_control_char_trans)
_control_char_trans_newline = str.maketrans(_control_char_trans_newline)