Coverage for frappe_manager / commands / services / shell.py: 80%
10 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-07-02 18:13 +0530
« prev ^ index » next coverage.py v7.13.5, created at 2026-07-02 18:13 +0530
1from typing import Annotated
3import typer
4from typer_examples import example
6from frappe_manager.services_manager import ServicesEnum
7from frappe_manager.services_manager.services import ServicesManager
10@example(
11 "Shell global-db",
12 "global-db",
13 detail="Opens a shell into the global-db service for maintenance tasks.",
14)
15@example(
16 "Shell global-nginx-proxy",
17 "global-nginx-proxy",
18 detail="Opens a shell into the nginx proxy container used for routing bench domains.",
19)
20def shell_services(
21 ctx: typer.Context,
22 service_name: Annotated[ServicesEnum, typer.Argument(help="Name of the service.")],
23 user: Annotated[str | None, typer.Option(help="Connect as this user.")] = None,
24):
25 """
26 Open shell for the specificed global service.
27 """
28 services_manager: ServicesManager = ctx.obj["services"]
29 services_manager.shell(service_name.value, user)