def _settings_prompt(): settings = _get_remote_settings() if settings: show = confirm('Settings file found on remote, show its contents?', default=True) if show: for k, v in settings.items(): print k + ' = ' + v # The secret key is never changed if it is available, other settings # can be overwritten env.secret_key = settings['ROTD_SECRET_KEY'] keep = confirm('Keep settings?', default=True) if keep: settings_map = (('db_name', 'ROTD_DB_NAME'), ('db_user', 'ROTD_DB_USER'), ('db_pass', 'ROTD_DB_PASSWORD'), ('email_host', 'ROTD_EMAIL_HOST'), ('email_port', 'ROTD_EMAIL_PORT'), ('email_user', 'ROTD_EMAIL_HOST_USER'), ('email_pass', 'ROTD_EMAIL_HOST_PASSWORD'), ('contact_email', 'ROTD_CONTACT_EMAIL')) for e, s in settings_map: env[e] = settings[s] return env.db_name = prompt('Database name: ', default='rotd') env.db_user = prompt('Database user: '******'rotd') env.db_pass = getpass('Database password: '******'Confirm database password: '******'Email host: ', default='localhost') env.email_port = prompt('Email port: ', default='587') env.email_user = prompt('Robot email address: ', default='noreply@{}'.format(env.host)) env.email_pass = getpass('Email password: '******'Confirm email password: '******'Contact form destination mail: ', default='contact@{}'.format(env.host))
def _settings_prompt(env): settings = _get_remote_settings(env) if settings: show = confirm('Settings file found on remote, show its contents?', default=True) if show: for k, v in settings.items(): print(str(k) + ' = ' + str(v)) # The secret key is never changed if it is available, other # settings can be overwritten env.secret_key = settings['PROJMAN_SECRET_KEY'] # Ask the user if they want to keep the old settings keep = confirm('Keep settings?', default=True) if keep: for e, s in settings_map: if s in settings.keys(): env[e] = settings[s] # Always make sure that some secret key is set env.secret_key = _secret_key(env) # Each setting is checked whether it is set, this is done so that the # user can keep the settings on the server while also needing to # enter new settings whenever those are added. Otherwise the user # would have to enter all the settings again if 'db_name' not in env.keys(): env.db_name = prompt('Database name: ', default='projman') if 'db_user' not in env.keys(): env.db_user = prompt('Database user: '******'projman') if 'db_pass' not in env.keys(): env.db_pass = _password_prompt('Database') if 'email_host' not in env.keys(): env.email_host = prompt('Email host: ', default='localhost') if 'email_port' not in env.keys(): env.email_port = prompt('Email port: ', default='587') if 'email_user' not in env.keys(): env.email_user = prompt('Robot email address: ') if 'email_pass' not in env.keys(): env.email_pass = _password_prompt('Email')