import os import click from dragonion_server.common import console from dragonion_server.utils.config import db class ServiceRemoveCommand(click.Command): def __init__(self): super().__init__( name="remove", callback=self.callback, params=[ click.Option( ("--name", "-n"), required=True, prompt=True, type=str, help="Name of service to write to", ) ], ) @staticmethod def callback(name: str): try: del db.services[name] if os.path.isfile(f"{name}.auth"): os.remove(f"{name}.auth") print(f"Removed service {name}") except KeyError: print(f'Service "{name}" does not exist in this storage') except Exception as e: assert e console.print_exception(show_locals=True)