示例#1
0
def get_settings(content, app):
    fname = '/tmp/app.settings'
    with open(fname, 'wb') as fd:
        fd.write(content)
    populate = get_action('dev-populate-appcenter')
    populate.call(component_id=app.component_id,
                  ini=app.get_ini_file(),
                  settings='/tmp/app.settings')

    app = Apps().find(app.id)
    settings = app.get_settings()

    return settings
示例#2
0
def get_default_values(app):
    from univention.appcenter.ini_parser import IniSectionAttribute
    from univention.appcenter.settings import BoolSetting, FileSetting, IntSetting, ListSetting, PasswordFileSetting, PasswordSetting, StatusSetting, StringSetting, UDMListSetting
    for kls in [
            StringSetting, IntSetting, BoolSetting, ListSetting,
            UDMListSetting, FileSetting, PasswordFileSetting, PasswordSetting,
            StatusSetting
    ]:
        if 'default_for_testing' not in kls._attrs:
            attr = IniSectionAttribute()
            attr.name = 'default_for_testing'
            kls._attrs['default_for_testing'] = attr
    app = FindApps().find(app)
    app = FindApps().find_candidate(app) or app
    ret = {}
    for setting in app.get_settings():
        value = setting.default_for_testing
        if value is not None:
            ret[setting.name] = setting.sanitize_value(app, value)
    return ret