#!/usr/bin/env python3
# -*- coding: utf-8 -*-

# Fenrir TTY screen reader
# By Chrys, Storm Dragon, and contributors.


from fenrirscreenreader.core.i18n import _


class command:
    def __init__(self):
        pass

    def initialize(self, environment):
        self.env = environment

    def shutdown(self):
        pass

    def get_description(self):
        return "No description found"

    def run(self):
        if (
            self.env["input"]["old_caps_lock"]
            == self.env["input"]["new_caps_lock"]
        ):
            return
        current_input = self.env["input"]["curr_input"]
        previous_input = self.env["input"]["prev_input"]
        relevant_input = current_input or previous_input
        if "KEY_CAPSLOCK" not in relevant_input:
            return
        if self.env["input"]["new_caps_lock"]:
            self.env["runtime"]["OutputManager"].present_text(
                _("Capslock on"), interrupt=True
            )
        else:
            self.env["runtime"]["OutputManager"].present_text(
                _("Capslock off"), interrupt=True
            )

    def set_callback(self, callback):
        pass
