mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
Hydrate manifest with choices
This commit is contained in:
parent
740eaa43ae
commit
9486931674
2 changed files with 16 additions and 0 deletions
|
@ -57,6 +57,7 @@ from yunohost.utils.config import (
|
|||
ask_questions_and_parse_answers,
|
||||
DomainQuestion,
|
||||
PathQuestion,
|
||||
hydrate_questions_with_choices,
|
||||
)
|
||||
from yunohost.utils.i18n import _value_for_locale
|
||||
from yunohost.utils.error import YunohostError, YunohostValidationError
|
||||
|
@ -678,6 +679,9 @@ def app_manifest(app):
|
|||
|
||||
shutil.rmtree(extracted_app_folder)
|
||||
|
||||
raw_questions = manifest.get("arguments", {}).get("install", [])
|
||||
manifest['arguments']['install'] = hydrate_questions_with_choices(raw_questions)
|
||||
|
||||
return manifest
|
||||
|
||||
|
||||
|
|
|
@ -1396,3 +1396,15 @@ def ask_questions_and_parse_answers(
|
|||
out.append(question)
|
||||
|
||||
return out
|
||||
|
||||
def hydrate_questions_with_choices(raw_questions: List) -> List:
|
||||
out = []
|
||||
|
||||
for raw_question in raw_questions:
|
||||
question = ARGUMENTS_TYPE_PARSERS[raw_question.get("type", "string")](raw_question)
|
||||
if question.choices:
|
||||
raw_question["choices"] = question.choices
|
||||
raw_question["default"] = question.default
|
||||
out.append(raw_question)
|
||||
|
||||
return out
|
||||
|
|
Loading…
Add table
Reference in a new issue