Module connpy.cli.context_handler
Classes
class ContextHandler (app)-
Expand source code
class ContextHandler: def __init__(self, app): self.app = app self.service = self.app.services.context def dispatch(self, args): try: if args.add: if len(args.add) < 2: printer.error("--add requires name and at least one regex") return self.service.add_context(args.add[0], args.add[1:]) printer.success(f"Context '{args.add[0]}' added successfully.") elif args.rm: if not args.context_name: printer.error("--rm requires a context name") return self.service.delete_context(args.context_name) printer.success(f"Context '{args.context_name}' deleted successfully.") elif args.ls: contexts = self.service.list_contexts() for ctx in contexts: if ctx["active"]: printer.success(f"{ctx['name']} (active)") else: printer.custom(" ", ctx["name"]) elif args.set: if not args.context_name: printer.error("--set requires a context name") return self.service.set_active_context(args.context_name) printer.success(f"Context set to: {args.context_name}") elif args.show: if not args.context_name: printer.error("--show requires a context name") return contexts = self.service.contexts if args.context_name not in contexts: printer.error(f"Context '{args.context_name}' does not exist") return yaml_output = yaml.dump(contexts[args.context_name], sort_keys=False, default_flow_style=False) printer.custom(args.context_name, "") print(yaml_output) elif args.edit: if len(args.edit) < 2: printer.error("--edit requires name and at least one regex") return self.service.update_context(args.edit[0], args.edit[1:]) printer.success(f"Context '{args.edit[0]}' modified successfully.") else: # Default behavior if no flags: show list self.dispatch_ls(args) except ValueError as e: printer.error(str(e)) except ConnpyError as e: printer.error(str(e)) sys.exit(1) def dispatch_ls(self, args): contexts = self.service.list_contexts() for ctx in contexts: if ctx["active"]: printer.success(f"{ctx['name']} (active)") else: printer.custom(" ", ctx["name"])Methods
def dispatch(self, args)-
Expand source code
def dispatch(self, args): try: if args.add: if len(args.add) < 2: printer.error("--add requires name and at least one regex") return self.service.add_context(args.add[0], args.add[1:]) printer.success(f"Context '{args.add[0]}' added successfully.") elif args.rm: if not args.context_name: printer.error("--rm requires a context name") return self.service.delete_context(args.context_name) printer.success(f"Context '{args.context_name}' deleted successfully.") elif args.ls: contexts = self.service.list_contexts() for ctx in contexts: if ctx["active"]: printer.success(f"{ctx['name']} (active)") else: printer.custom(" ", ctx["name"]) elif args.set: if not args.context_name: printer.error("--set requires a context name") return self.service.set_active_context(args.context_name) printer.success(f"Context set to: {args.context_name}") elif args.show: if not args.context_name: printer.error("--show requires a context name") return contexts = self.service.contexts if args.context_name not in contexts: printer.error(f"Context '{args.context_name}' does not exist") return yaml_output = yaml.dump(contexts[args.context_name], sort_keys=False, default_flow_style=False) printer.custom(args.context_name, "") print(yaml_output) elif args.edit: if len(args.edit) < 2: printer.error("--edit requires name and at least one regex") return self.service.update_context(args.edit[0], args.edit[1:]) printer.success(f"Context '{args.edit[0]}' modified successfully.") else: # Default behavior if no flags: show list self.dispatch_ls(args) except ValueError as e: printer.error(str(e)) except ConnpyError as e: printer.error(str(e)) sys.exit(1) def dispatch_ls(self, args)-
Expand source code
def dispatch_ls(self, args): contexts = self.service.list_contexts() for ctx in contexts: if ctx["active"]: printer.success(f"{ctx['name']} (active)") else: printer.custom(" ", ctx["name"])