App, lib, cmds: Remove unreachable code
Remove dead code paths detected by the new warn_unreachable mypy rule. These include: - Removed always-false isinstance checks (ssh/util.py, templates.py) - Removed unreachable return statements after raise (FileContext.py) - Removed unreachable None checks for typed variables (Result.py, ExecContext.py, CmdGetAuthInfo.py) - Simplified __uri function by removing impossible None check (CopyContext.py) - Changed assert False to explicit error (Cmd.py) - Removed unreachable None case from match (App.py) - Removed redundant outer case _: pass (pkg_relations.py) - Restructured stdin write to avoid unreachable warning (AsyncSSH.py) Assisted-by: unsloth/Qwen3.6-35B-A3B-GGUF:IQ4_NL and pi.dev 0.81.1 Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
a1d192b048
commit
c16e054aaa
11 changed files with 7 additions and 25 deletions
|
|
@ -85,7 +85,7 @@ class App(Base):
|
|||
return path
|
||||
case 'relative':
|
||||
return os.path.relpath(path)
|
||||
case None | 'absolute':
|
||||
case 'absolute':
|
||||
return os.path.abspath(path)
|
||||
case _:
|
||||
m = re.search(r'^make:(\S+)$', fmt)
|
||||
|
|
|
|||
|
|
@ -90,8 +90,6 @@ class CmdGetAuthInfo(Cmd): # export
|
|||
for key, val in result.items():
|
||||
if not getattr(args, key, None):
|
||||
continue
|
||||
if val is None:
|
||||
continue
|
||||
if args.only_values:
|
||||
print(val)
|
||||
continue
|
||||
|
|
|
|||
|
|
@ -161,8 +161,6 @@ def pkg_relations(
|
|||
expanded_dep[1] = '>>'
|
||||
case _:
|
||||
pass
|
||||
case _:
|
||||
pass
|
||||
dep_str = ' '.join(expanded_dep)
|
||||
if quote:
|
||||
dep_str = '"' + dep_str + '"'
|
||||
|
|
|
|||
|
|
@ -66,10 +66,7 @@ def merge_values(*values: RenderValues) -> ListDict:
|
|||
rhs_dict = render_values_to_list_dict(rhs)
|
||||
for key, val in rhs_dict.items():
|
||||
entry = ret.setdefault(key, [])
|
||||
if isinstance(val, list):
|
||||
entry += val
|
||||
else:
|
||||
entry.append(val)
|
||||
entry += val
|
||||
return ret
|
||||
|
||||
def format_list_dict(
|
||||
|
|
|
|||
|
|
@ -88,8 +88,7 @@ class AbstractCmd(abc.ABC):
|
|||
self, cmds: Cmd | list[Cmd] | Types[Any] | list[Types[Any]]
|
||||
) -> None:
|
||||
if isinstance(cmds, Cmd):
|
||||
assert False
|
||||
return
|
||||
raise NotImplementedError('Single Cmd should be handled elsewhere')
|
||||
if isinstance(cmds, list):
|
||||
for cmd in cmds:
|
||||
self.add_subcommands(cmd)
|
||||
|
|
|
|||
|
|
@ -12,9 +12,7 @@ class CopyContext:
|
|||
chroot = False
|
||||
) -> None:
|
||||
|
||||
def __uri(ctx: FileContext | Uri | str) -> Uri | str | None:
|
||||
if ctx is None:
|
||||
return None
|
||||
def __uri(ctx: FileContext | Uri | str) -> Uri | str:
|
||||
if isinstance(ctx, Uri):
|
||||
return ctx
|
||||
if isinstance(ctx, str):
|
||||
|
|
|
|||
|
|
@ -150,9 +150,7 @@ class ExecContext(Base):
|
|||
interactive = sys.stdin.isatty()
|
||||
else:
|
||||
interactive = False
|
||||
if cmd_input is None:
|
||||
cmd_input_bytes = None
|
||||
elif isinstance(cmd_input, str):
|
||||
if isinstance(cmd_input, str):
|
||||
cmd_input_bytes = cmd_input.encode(sys.stdout.encoding or 'utf-8')
|
||||
else:
|
||||
cmd_input_bytes = cmd_input
|
||||
|
|
|
|||
|
|
@ -297,7 +297,6 @@ class FileContext(abc.ABC):
|
|||
except Exception as e:
|
||||
log(ERR, f'{self.log_name}: Failed to stat({path}) ({str(e)})')
|
||||
raise
|
||||
return False
|
||||
|
||||
async def is_dir(self, path: str, follow_symlinks = True) -> bool:
|
||||
return await self._is_dir(self._chroot(path), follow_symlinks = follow_symlinks)
|
||||
|
|
|
|||
|
|
@ -159,8 +159,6 @@ class Result:
|
|||
if self.status == 0:
|
||||
return False
|
||||
err = self.stderr_str
|
||||
if err is None:
|
||||
return False
|
||||
import re
|
||||
return re.search(pattern, err) is not None
|
||||
|
||||
|
|
|
|||
|
|
@ -210,9 +210,8 @@ class AsyncSSH(Base):
|
|||
except (BrokenPipeError, OSError):
|
||||
pass
|
||||
return
|
||||
if proc.stdin is None:
|
||||
return
|
||||
proc.stdin.write(data)
|
||||
if proc.stdin is not None:
|
||||
proc.stdin.write(data)
|
||||
await proc.stdin.drain()
|
||||
|
||||
async def _pump_stdout() -> None:
|
||||
|
|
|
|||
|
|
@ -42,8 +42,6 @@ def join_cmd(
|
|||
"""
|
||||
ret: list[str] = []
|
||||
for token in cmd:
|
||||
if not isinstance(token, str):
|
||||
token = str(token)
|
||||
if token in operators:
|
||||
ret.append(token)
|
||||
else:
|
||||
|
|
|
|||
Loading…
Reference in a new issue