feat: configurable main_menu

This commit is contained in:
Vlastimil Urban
2024-11-24 02:17:30 +01:00
parent cef0bae528
commit 02dfc9d71c
2 changed files with 14 additions and 1 deletions

View File

@@ -158,6 +158,7 @@ class Config(object):
self.server = self.configparser.get("stream", "server")
self.skip = self.configparser.getboolean("stream", "skip")
self.sort_by = self.configparser.get("anilist", "sort_by")
self.menu_order = self.configparser.get("general", "menu_order", fallback=None)
self.sub_lang = self.configparser.get("general", "sub_lang")
self.translation_type = self.configparser.get("stream", "translation_type")
self.use_fzf = self.configparser.getboolean("general", "use_fzf")

View File

@@ -4,7 +4,7 @@ import os
import random
from typing import TYPE_CHECKING
from click import clear
from click import clear, option
from InquirerPy import inquirer
from InquirerPy.validator import EmptyInputValidator
from rich import print
@@ -1712,6 +1712,18 @@ def fastanime_main_menu(
f"{'📝 ' if icons else ''}Edit Config": _edit_config,
f"{'' if icons else ''}Exit": exit_app,
}
# Load main menu order if set in config file
if config.menu_order:
menu_order_list = config.menu_order.split(",")
lookup = {key.split(" ", 1)[-1]: key for key in options}
ordered_dict = {
lookup[key]: options[lookup[key]]
for key in menu_order_list
if key in lookup
}
options = ordered_dict
# prompt user to select an action
choices = list(options.keys())
if config.use_fzf: