mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
[enh] Retrieve value for current locale and use it for app description
This commit is contained in:
parent
e3f27e01e0
commit
27a3415964
2 changed files with 25 additions and 9 deletions
23
app.py
23
app.py
|
@ -211,7 +211,7 @@ def app_info(app, raw=False):
|
|||
else:
|
||||
return {
|
||||
'name': app_info['manifest']['name'],
|
||||
'description': app_info['manifest']['description']['en'],
|
||||
'description': _value_for_locale(app_info['manifest']['description']),
|
||||
# FIXME: Temporarly allow undefined license
|
||||
'license': app_info['manifest'].get('license',
|
||||
m18n.n('license_undefined')),
|
||||
|
@ -1112,6 +1112,27 @@ def _is_installed(app):
|
|||
return False
|
||||
|
||||
|
||||
def _value_for_locale(values):
|
||||
"""
|
||||
Return proper value for current locale
|
||||
|
||||
Keyword arguments:
|
||||
values -- A dict of values associated to their locale
|
||||
|
||||
"""
|
||||
if not isinstance(values, dict):
|
||||
return values
|
||||
|
||||
for lang in [m18n.locale, m18n.default_locale]:
|
||||
try:
|
||||
return values[lang]
|
||||
except KeyError:
|
||||
continue
|
||||
|
||||
# Fallback to first value
|
||||
return values.values()[0]
|
||||
|
||||
|
||||
def is_true(arg):
|
||||
"""
|
||||
Convert a string into a boolean
|
||||
|
|
11
hook.py
11
hook.py
|
@ -129,6 +129,8 @@ def hook_exec(file, args=None):
|
|||
args -- Arguments to pass to the script
|
||||
|
||||
"""
|
||||
from yunohost.app import _value_for_locale
|
||||
|
||||
if isinstance(args, list):
|
||||
arg_list = args
|
||||
else:
|
||||
|
@ -146,14 +148,7 @@ def hook_exec(file, args=None):
|
|||
else:
|
||||
if os.isatty(1) and 'ask' in arg:
|
||||
# Retrieve proper ask string
|
||||
ask_string = None
|
||||
for lang in [m18n.locale, m18n.default_locale]:
|
||||
if lang in arg['ask']:
|
||||
ask_string = arg['ask'][lang]
|
||||
break
|
||||
if not ask_string:
|
||||
# Fallback to en
|
||||
ask_string = arg['ask']['en']
|
||||
ask_string = _value_for_locale(arg['ask'])
|
||||
|
||||
# Append extra strings
|
||||
if 'choices' in arg:
|
||||
|
|
Loading…
Add table
Reference in a new issue