diff options
Diffstat (limited to 'iredis/bottom.py')
-rw-r--r-- | iredis/bottom.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/iredis/bottom.py b/iredis/bottom.py new file mode 100644 index 0000000..17c3af3 --- /dev/null +++ b/iredis/bottom.py @@ -0,0 +1,35 @@ +import logging +from .commands import commands_summary +from .utils import command_syntax + +BUTTOM_TEXT = "Ctrl-D to exit;" +logger = logging.getLogger(__name__) + + +class BottomToolbar: + CHAR = "⣾⣷⣯⣟⡿⢿⣻⣽" + + def __init__(self, command_holder): + self.index = 0 + # BottomToolbar can only read this variable + self.command_holder = command_holder + + def get_animation_char(self): + animation = self.CHAR[self.index] + + self.index += 1 + if self.index == len(self.CHAR): + self.index = 0 + return animation + + def render(self): + text = BUTTOM_TEXT + # add command help if valid + if self.command_holder.command: + try: + command_info = commands_summary[self.command_holder.command] + text = command_syntax(self.command_holder.command, command_info) + except KeyError as e: + logger.exception(e) + + return text |