Source code for seiscat.self.commands

# -*- coding: utf8 -*-
# SPDX-License-Identifier: GPL-3.0-or-later
"""Dispatcher for seiscat self command group."""
from __future__ import annotations

from .completion import completion_status, install_completion
from .logo import print_logo
from .status import print_self_status
from .update import uninstall_seiscat, update_seiscat


[docs] def run_self_command(args): """Dispatch `seiscat self ...` commands.""" if args.self_action == 'status': print_self_status() return if args.self_action == 'logo': print_logo(compact=args.compact) return if args.self_action == 'update': print(update_seiscat(git=args.git)) return if args.self_action == 'uninstall': print(uninstall_seiscat(yes=args.yes)) return if args.self_action == 'completion': if args.self_completion_action == 'status': comp = completion_status() print( 'Completion: ' f"{'installed' if comp['installed'] else 'missing'} " f"({comp['shell']}: {comp['details']})" ) return if args.self_completion_action == 'install': print(install_completion()) return raise ValueError('Unknown self subcommand')