From 718bd354c4881d9dfb4fb44fc3ba1ef1375fdc82 Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Thu, 7 Jan 2021 01:01:02 -0800 Subject: [PATCH 1/4] Fix type errors stemming from getattr Fixes #9888 I applied the following patch to typeshed and ran self check: ``` +@overload +def getattr(__o: Any, name: str, __default: None) -> Optional[Any]: ... +@overload def getattr(__o: Any, name: str, __default: Any = ...) -> Any: ... ``` --- mypy/moduleinspect.py | 2 +- mypy/stubdoc.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mypy/moduleinspect.py b/mypy/moduleinspect.py index d54746260123..6e443cdc7523 100644 --- a/mypy/moduleinspect.py +++ b/mypy/moduleinspect.py @@ -45,7 +45,7 @@ def get_package_properties(package_id: str) -> ModuleProperties: package = importlib.import_module(package_id) except BaseException as e: raise InspectError(str(e)) from e - name = getattr(package, '__name__', None) + name = getattr(package, '__name__') file = getattr(package, '__file__', None) path = getattr(package, '__path__', None) # type: Optional[List[str]] if not isinstance(path, list): diff --git a/mypy/stubdoc.py b/mypy/stubdoc.py index 1baaaecfbdc8..040f44b29cba 100644 --- a/mypy/stubdoc.py +++ b/mypy/stubdoc.py @@ -202,7 +202,7 @@ def args_kwargs(signature: FunctionSig) -> bool: return list(sorted(self.signatures, key=lambda x: 1 if args_kwargs(x) else 0)) -def infer_sig_from_docstring(docstr: str, name: str) -> Optional[List[FunctionSig]]: +def infer_sig_from_docstring(docstr: Optional[str], name: str) -> Optional[List[FunctionSig]]: """Convert function signature to list of TypedFunctionSig Look for function signatures of function in docstring. Signature is a string of From 2ac5ce19d3c60b1841d3a59d7ea64fc583c8fc5a Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Thu, 7 Jan 2021 01:26:43 -0800 Subject: [PATCH 2/4] fix flake8 error --- mypy/moduleinspect.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mypy/moduleinspect.py b/mypy/moduleinspect.py index 6e443cdc7523..838a32fa987c 100644 --- a/mypy/moduleinspect.py +++ b/mypy/moduleinspect.py @@ -45,7 +45,7 @@ def get_package_properties(package_id: str) -> ModuleProperties: package = importlib.import_module(package_id) except BaseException as e: raise InspectError(str(e)) from e - name = getattr(package, '__name__') + name = package.__name__ file = getattr(package, '__file__', None) path = getattr(package, '__path__', None) # type: Optional[List[str]] if not isinstance(path, list): From 4225a840b4aa50d00359df44d667ab1d7e290991 Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Thu, 7 Jan 2021 12:28:34 -0800 Subject: [PATCH 3/4] fallback to package_id --- mypy/moduleinspect.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mypy/moduleinspect.py b/mypy/moduleinspect.py index 838a32fa987c..8238232b0b8b 100644 --- a/mypy/moduleinspect.py +++ b/mypy/moduleinspect.py @@ -45,7 +45,7 @@ def get_package_properties(package_id: str) -> ModuleProperties: package = importlib.import_module(package_id) except BaseException as e: raise InspectError(str(e)) from e - name = package.__name__ + name = getattr(package, '__name__', package_id) file = getattr(package, '__file__', None) path = getattr(package, '__path__', None) # type: Optional[List[str]] if not isinstance(path, list): From 21dc0014b526600bb331ac87f5cea73f356e3640 Mon Sep 17 00:00:00 2001 From: hauntsaninja <> Date: Thu, 7 Jan 2021 23:51:20 -0800 Subject: [PATCH 4/4] fix trailing whitespace --- mypy/moduleinspect.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mypy/moduleinspect.py b/mypy/moduleinspect.py index 8238232b0b8b..94491de4d804 100644 --- a/mypy/moduleinspect.py +++ b/mypy/moduleinspect.py @@ -45,7 +45,7 @@ def get_package_properties(package_id: str) -> ModuleProperties: package = importlib.import_module(package_id) except BaseException as e: raise InspectError(str(e)) from e - name = getattr(package, '__name__', package_id) + name = getattr(package, '__name__', package_id) file = getattr(package, '__file__', None) path = getattr(package, '__path__', None) # type: Optional[List[str]] if not isinstance(path, list):