OlympIA / plugins /common.py
johannoriel's picture
Change "reset database" button location for more security
a497607
raw
history blame
1.72 kB
from global_vars import t, translations
from app import Plugin
import streamlit as st
import torch
from plugins.scansite import ScansitePlugin
# Ajout des traductions spécifiques à ce plugin
translations["en"].update({
"work_directory": "Work Directory",
"page_title": "News watcher",
"reset_database": "Reset database",
})
translations["fr"].update({
"work_directory": "Répertoire de travail",
"page_title": "Outil de veille",
"reset_database": "Réinitialiser la base de données",
})
class CommonPlugin(Plugin):
def __init__(self, name, plugin_manager):
super().__init__(name, plugin_manager)
self.scansite_plugin = ScansitePlugin('scansite', plugin_manager)
def get_config_fields(self):
return {
"work_directory": {
"type": "text",
"label": t("work_directory"),
"default": "/home/joriel/Vidéos"
},
"language": {
"type": "select",
"label": t("preferred_language"),
"options": [("fr", "Français"), ("en", "Anglais")],
"default": "fr"
},
}
def get_tabs(self):
return [{"name": "Commun", "plugin": "common"}]
def run(self, config):
st.header("Common Plugin")
st.write(f"{t('work_directory')}: {config['common']['work_directory']}")
torch.cuda.empty_cache()
st.write("CUDA memory reset")
if st.button(t("reset_database")):
self.scansite_plugin.reset_database()
st.success(t("database_reset_success"))
def remove_quotes(s):
if s.startswith('"') and s.endswith('"'):
return s[1:-1]
return s