App, AsyncSSH: Allow unused "type: ignore" comments
Some '# type: ignore' comments are needed because they complain about missing but optional third-party packages: argcomplete, paramiko, asyncssh. The next commit will enable warn_unused_ignores, and since nor mypy nor pyright have a way of knowing that this is a tolerable lack of packages, this commit teaches them in advance. Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
64edcec48c
commit
fec0304543
3 changed files with 10 additions and 8 deletions
|
|
@ -150,7 +150,7 @@ class App: # export
|
||||||
cmd_classes: LoadTypes[AbstractCmd] = LoadTypes(
|
cmd_classes: LoadTypes[AbstractCmd] = LoadTypes(
|
||||||
modules if modules else ['__main__'],
|
modules if modules else ['__main__'],
|
||||||
type_name_filter = name_filter,
|
type_name_filter = name_filter,
|
||||||
type_filter = [AbstractCmd], # type: ignore[type-abstract]
|
type_filter = [AbstractCmd],
|
||||||
)
|
)
|
||||||
add_all_parsers = (
|
add_all_parsers = (
|
||||||
'-h' in sys.argv or '--help' in sys.argv or '_ARGCOMPLETE' in os.environ
|
'-h' in sys.argv or '--help' in sys.argv or '_ARGCOMPLETE' in os.environ
|
||||||
|
|
@ -186,17 +186,19 @@ class App: # export
|
||||||
try:
|
try:
|
||||||
# Import argcomplete only here to not require it to be compatible
|
# Import argcomplete only here to not require it to be compatible
|
||||||
# with minimal environments
|
# with minimal environments
|
||||||
from argcomplete.completers import ( # type: ignore[import-not-found]
|
from argcomplete.completers import ( # type: ignore[import-not-found, unused-ignore]
|
||||||
BaseCompleter
|
BaseCompleter
|
||||||
)
|
)
|
||||||
|
|
||||||
class NoopCompleter(BaseCompleter):
|
class NoopCompleter(BaseCompleter):
|
||||||
|
|
||||||
@override
|
@override
|
||||||
def __call__(self, *args, **kwargs):
|
def __call__( # pyright: ignore[reportGeneralTypeIssues]
|
||||||
|
self, *args, **kwargs
|
||||||
|
):
|
||||||
return None
|
return None
|
||||||
|
|
||||||
import argcomplete # type: ignore[import-not-found]
|
import argcomplete # type: ignore[import-not-found, unused-ignore]
|
||||||
|
|
||||||
argcomplete.autocomplete(self.__parser, default_completer = NoopCompleter())
|
argcomplete.autocomplete(self.__parser, default_completer = NoopCompleter())
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import shutil
|
||||||
import signal
|
import signal
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
import asyncssh # type: ignore[import-not-found]
|
import asyncssh # type: ignore[import-not-found, unused-ignore]
|
||||||
|
|
||||||
from ...base import Result
|
from ...base import Result
|
||||||
from ...log import DEBUG, ERR, NOTICE, log
|
from ...log import DEBUG, ERR, NOTICE, log
|
||||||
|
|
|
||||||
|
|
@ -4,9 +4,9 @@ from typing import override, TYPE_CHECKING
|
||||||
|
|
||||||
# Tolerate missing paramiko imports. jw-pkg is designed to work with what it
|
# Tolerate missing paramiko imports. jw-pkg is designed to work with what it
|
||||||
# finds.
|
# finds.
|
||||||
import paramiko # type: ignore[import-untyped,import-not-found] # error: Library stubs not installed for "paramiko"
|
import paramiko # type: ignore[import-untyped,import-not-found, unused-ignore] # error: Library stubs not installed for "paramiko"
|
||||||
import paramiko.agent # type: ignore[import-untyped,import-not-found]
|
import paramiko.agent # type: ignore[import-untyped,import-not-found, unused-ignore]
|
||||||
import paramiko.SCPClient # type: ignore[import-untyped,import-not-found]
|
import paramiko.SCPClient # type: ignore[import-untyped,import-not-found, unused-ignore]
|
||||||
|
|
||||||
from ...base import Result
|
from ...base import Result
|
||||||
from ...log import ERR, log
|
from ...log import ERR, log
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue