mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
update app.py to new config panel
This commit is contained in:
parent
d586ee48e6
commit
da079bcaaf
1 changed files with 15 additions and 10 deletions
25
src/app.py
25
src/app.py
|
@ -29,7 +29,7 @@ import subprocess
|
||||||
import tempfile
|
import tempfile
|
||||||
import copy
|
import copy
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
from typing import List, Tuple, Dict, Any, Iterator, Optional
|
from typing import TYPE_CHECKING, List, Tuple, Dict, Any, Iterator, Optional
|
||||||
from packaging import version
|
from packaging import version
|
||||||
|
|
||||||
from moulinette import Moulinette, m18n
|
from moulinette import Moulinette, m18n
|
||||||
|
@ -48,8 +48,9 @@ from moulinette.utils.filesystem import (
|
||||||
chmod,
|
chmod,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
from yunohost.utils.configpanel import Config
|
||||||
from yunohost.utils.config import (
|
from yunohost.utils.config import (
|
||||||
ConfigPanel,
|
# ConfigPanel,
|
||||||
ask_questions_and_parse_answers,
|
ask_questions_and_parse_answers,
|
||||||
DomainQuestion,
|
DomainQuestion,
|
||||||
PathQuestion,
|
PathQuestion,
|
||||||
|
@ -75,6 +76,9 @@ from yunohost.app_catalog import ( # noqa
|
||||||
APPS_CATALOG_LOGOS,
|
APPS_CATALOG_LOGOS,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
from yunohost.utils.configpanel import ConfigPanel, YunoForm
|
||||||
|
|
||||||
logger = getActionLogger("yunohost.app")
|
logger = getActionLogger("yunohost.app")
|
||||||
|
|
||||||
APPS_SETTING_PATH = "/etc/yunohost/apps/"
|
APPS_SETTING_PATH = "/etc/yunohost/apps/"
|
||||||
|
@ -209,7 +213,8 @@ def app_info(app, full=False, upgradable=False):
|
||||||
for lang, content in content_per_lang.items():
|
for lang, content in content_per_lang.items():
|
||||||
notifications[name][lang] = _hydrate_app_template(content, settings)
|
notifications[name][lang] = _hydrate_app_template(content, settings)
|
||||||
|
|
||||||
ret["is_webapp"] = "domain" in settings and "path" in settings
|
# FIXME when installing an app with no domain option, settings["domain"] == ""
|
||||||
|
ret["is_webapp"] = "domain" in settings and settings["domain"] and "path" in settings
|
||||||
|
|
||||||
if ret["is_webapp"]:
|
if ret["is_webapp"]:
|
||||||
ret["is_default"] = (
|
ret["is_default"] = (
|
||||||
|
@ -1820,20 +1825,20 @@ def app_config_set(
|
||||||
return config_.set(key, value, args, args_file, operation_logger=operation_logger)
|
return config_.set(key, value, args, args_file, operation_logger=operation_logger)
|
||||||
|
|
||||||
|
|
||||||
class AppConfigPanel(ConfigPanel):
|
class AppConfigPanel(Config):
|
||||||
entity_type = "app"
|
entity_type = "app"
|
||||||
save_path_tpl = os.path.join(APPS_SETTING_PATH, "{entity}/settings.yml")
|
save_path_tpl = os.path.join(APPS_SETTING_PATH, "{entity}/settings.yml")
|
||||||
config_path_tpl = os.path.join(APPS_SETTING_PATH, "{entity}/config_panel.toml")
|
config_path_tpl = os.path.join(APPS_SETTING_PATH, "{entity}/config_panel.toml")
|
||||||
|
|
||||||
def _load_current_values(self):
|
def _get_settings_data(self, config: "ConfigPanel") -> dict[str, Any]:
|
||||||
self.values = self._call_config_script("show")
|
return self._call_config_script("show")
|
||||||
|
|
||||||
def _run_action(self, action):
|
def _run_action(self, action: str, settings: "YunoForm"):
|
||||||
env = {key: str(value) for key, value in self.new_values.items()}
|
env = settings.dict(as_env=True)
|
||||||
self._call_config_script(action, env=env)
|
self._call_config_script(action, env=env)
|
||||||
|
|
||||||
def _apply(self):
|
def _apply(self, settings: "YunoForm", exclude=None):
|
||||||
env = {key: str(value) for key, value in self.new_values.items()}
|
env = settings.dict(as_env=True)
|
||||||
return_content = self._call_config_script("apply", env=env)
|
return_content = self._call_config_script("apply", env=env)
|
||||||
|
|
||||||
# If the script returned validation error
|
# If the script returned validation error
|
||||||
|
|
Loading…
Add table
Reference in a new issue