from applets.welcome import bp from flask import Flask, request, session, redirect, \ url_for, render_template, flash, Blueprint # we use this neat little trick to get config data from the main app from flask import current_app import gettext import dmm.lsblk as lsblk # Set up Gettext def set_language(LANG): """ Sets language for this applet """ translations = gettext.translation("welcome", './applets/welcome/locales', fallback=True, languages=[LANG]) translations.install() _ = translations.gettext set_language('en') @bp.route('/welcome',methods=['GET', 'POST', 'PUT']) def welcome_index(): """ The page you'd get if you access the root of this app in a browser. """ if request.method == 'POST': if "lang" in request.form.keys(): current_app.config['CONFIG']['global_settings']['language'] = request.form["lang"] LANG = current_app.config['CONFIG']['global_settings']['language'] set_language(LANG) FORMLANG = request.form["lang"] if "keyboard" in request.form.keys(): print(request.form["keyboard"]) if "timezone" in request.form.keys(): print(request.form["timezone"]) lang = current_app.config['CONFIG']['global_settings']['language'] blkid = lsblk.list_scsi_devices() string_dict = build_stringlist() return render_template('welcome.html', string_dict=string_dict, selected_lang=lang) def build_stringlist(): """ Return all the strings that is used in this applet." """ string_dict = {} string_dict['welcome_text'] = _("Welcome! This setup program will install Debian on to your system.") string_dict['confirm_text'] = _("Please confirm the following details:") string_dict['language_text'] = _("Language:") string_dict['keylayout_text'] = _("Keyboard Layout:") string_dict['timezone_text'] = _("Time Zone:") lang_dict = {} lang_dict['af'] = _("Afrikaans") lang_dict['en'] = _("English (International)") lang_dict['en-us'] = _("English (United States)") lang_dict['en-uk'] = _("English (United Kingdom)") lang_dict['en-za'] = _("English (South Africa)") string_dict['lang_list'] = lang_dict return string_dict