Spaces:
Paused
Paused
| import os | |
| import sys | |
| import gradio as gr | |
| import json | |
| from assets.i18n.i18n import I18nAuto | |
| from assets.discord_presence import RPCManager | |
| now_dir = os.getcwd() | |
| sys.path.append(now_dir) | |
| i18n = I18nAuto() | |
| config_file = os.path.join(now_dir, "assets", "config.json") | |
| def load_config_presence(): | |
| with open(config_file, "r", encoding="utf8") as file: | |
| config = json.load(file) | |
| return config["discord_presence"] | |
| def save_config(value): | |
| with open(config_file, "r", encoding="utf8") as file: | |
| config = json.load(file) | |
| config["discord_presence"] = value | |
| with open(config_file, "w", encoding="utf8") as file: | |
| json.dump(config, file, indent=2) | |
| def presence_tab(): | |
| with gr.Row(): | |
| with gr.Column(): | |
| presence = gr.Checkbox( | |
| label=i18n("Enable Applio integration with Discord presence"), | |
| info=i18n( | |
| "It will activate the possibility of displaying the current Applio activity in Discord." | |
| ), | |
| interactive=True, | |
| value=load_config_presence(), | |
| ) | |
| presence.change( | |
| fn=toggle, | |
| inputs=[presence], | |
| outputs=[], | |
| ) | |
| def toggle(checkbox): | |
| save_config(bool(checkbox)) | |
| if load_config_presence() == True: | |
| try: | |
| RPCManager.start_presence() | |
| except KeyboardInterrupt: | |
| RPCManager.stop_presence() | |
| else: | |
| RPCManager.stop_presence() | |