[fix] Remove remaining dependencies to helpers

This commit is contained in:
Jérôme Lebleu 2014-05-15 13:06:43 +02:00
parent ffcacf28f8
commit 60c6150877
3 changed files with 48 additions and 12 deletions

View file

@ -35,7 +35,6 @@ import socket
import urlparse
import errno
from moulinette.helpers import win_msg, random_password, is_true, validate
from moulinette.core import MoulinetteError
repo_path = '/var/cache/yunohost/repo'
@ -826,7 +825,6 @@ def app_checkurl(auth, url, app=None):
path = path + '/'
apps_map = app_map(raw=True)
validate(r'^([a-zA-Z0-9]{1}([a-zA-Z0-9\-]*[a-zA-Z0-9])*)(\.[a-zA-Z0-9]{1}([a-zA-Z0-9\-]*[a-zA-Z0-9])*)*(\.[a-zA-Z]{1}([a-zA-Z0-9\-]*[a-zA-Z0-9])*)$', domain)
if domain not in domain_list(auth)['domains']:
raise MoulinetteError(errno.EINVAL, m18n.n('domain_unknown'))
@ -1149,3 +1147,35 @@ def _is_installed(app):
continue
return False
def is_true(arg):
"""
Convert a string into a boolean
Keyword arguments:
arg -- The string to convert
Returns:
Boolean
"""
true_list = ['yes', 'Yes', 'true', 'True' ]
for string in true_list:
if arg == string:
return True
return False
def random_password(length=8):
"""
Generate a random string
Keyword arguments:
length -- The string length to generate
"""
import string, random
char_set = string.ascii_uppercase + string.digits + string.ascii_lowercase
return ''.join(random.sample(char_set, length))

View file

@ -29,7 +29,6 @@ import re
import json
import errno
from moulinette.helpers import colorize
from moulinette.core import MoulinetteError
hook_folder = '/usr/share/yunohost/hooks/'
@ -147,13 +146,23 @@ def hook_exec(file, args=None):
arg_list.append(args[arg['name']])
else:
if os.isatty(1) and 'ask' in arg:
ask_string = arg['ask']['en'] #TODO: I18n
if 'choices' in arg:
ask_string = ask_string +' ('+ '|'.join(arg['choices']) +')'
if 'default' in arg:
ask_string = ask_string +' (default: '+ arg['default'] +')'
# 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']
input_string = raw_input(colorize(ask_string + ': ', 'cyan'))
# Append extra strings
if 'choices' in arg:
ask_string += ' (%s)' % '|'.join(arg['choices'])
if 'default' in arg:
ask_string += ' (default: %s)' % arg['default']
input_string = msignals.prompt(ask_string)
if input_string == '' and 'default' in arg:
input_string = arg['default']

View file

@ -34,7 +34,6 @@ import errno
import apt
import apt.progress
from moulinette.helpers import validate
from moulinette.core import MoulinetteError
apps_setting_path= '/etc/yunohost/apps/'
@ -118,8 +117,6 @@ def tools_maindomain(auth, old_domain=None, new_domain=None, dyndns=False):
if not new_domain:
return { 'current_main_domain': old_domain }
validate(r'^([a-zA-Z0-9]{1}([a-zA-Z0-9\-]*[a-zA-Z0-9])*)(\.[a-zA-Z0-9]{1}([a-zA-Z0-9\-]*[a-zA-Z0-9])*)*(\.[a-zA-Z]{1}([a-zA-Z0-9\-]*[a-zA-Z0-9])*)$', old_domain)
config_files = [
'/etc/postfix/main.cf',
'/etc/metronome/metronome.cfg.lua',