Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 8 additions & 5 deletions pymobiledevice3/services/crash_reports.py
Original file line number Diff line number Diff line change
Expand Up @@ -329,17 +329,20 @@ def _setup_shell_commands(self):
self._register_arg_parse_alias("parse-latest", self._do_parse_latest)
self._register_arg_parse_alias("clear", self._do_clear)

def _run_manager(self, awaitable):
return self.afc._runner.run(awaitable)

def _do_parse(self, filename: Annotated[str, Arg(completer=path_completer)]) -> None:
"""
Parse and print a crash report by filename.

:param filename: Path to the crash report file
"""
print(XSH.ctx["_shell"]._async_runner.run(XSH.ctx["_manager"].parse(filename)))
print(self._run_manager(XSH.ctx["_manager"].parse(filename)))

def _do_parse_latest(
self,
path: Annotated[str, Arg(completer=path_completer)] = "/",
path: Annotated[str, Arg(nargs="?", completer=path_completer)] = "/",
match: Annotated[Optional[list[str]], Arg("--match", "-m", action="append")] = None,
match_insensitive: Annotated[
Optional[list[str]],
Expand All @@ -348,7 +351,7 @@ def _do_parse_latest(
count: Annotated[int, Arg("--count", "-n")] = 1,
) -> None:
"""Parse latest top-level crash report(s) under a path, ordered by newest first"""
latest_reports = XSH.ctx["_shell"]._async_runner.run(
latest_reports = self._run_manager(
XSH.ctx["_manager"].parse_latest(
path=path,
match=match or [],
Expand All @@ -359,6 +362,6 @@ def _do_parse_latest(
for report in latest_reports:
print(report)

def _do_clear(self, path: Annotated[str, Arg(completer=path_completer)] = "/") -> None:
def _do_clear(self, path: Annotated[str, Arg(nargs="?", completer=path_completer)] = "/") -> None:
"""Clear crash reports from the device under a path."""
XSH.ctx["_shell"]._async_runner.run(XSH.ctx["_manager"].clear(path))
self._run_manager(XSH.ctx["_manager"].clear(path))
Loading