def collect_missing_options(options_dict): options_dict['secret_key'] = generate_random_key() if options_dict['database_engine'] == '2':#sqlite while True: value = console.simple_dialog( 'Please enter database file name' ) database_file_name = None if os.path.isfile(value): message = 'file %s exists, use it anyway?' % value if console.get_yes_or_no(message) == 'yes': database_file_name = value elif os.path.isdir(value): print '%s is a directory, choose another name' % value elif value in path_utils.FILES_TO_CREATE: print 'name %s cannot be used for the database name' % value elif value == path_utils.LOG_DIR_NAME: print 'name %s cannot be used for the database name' % value else: database_file_name = value if database_file_name: options_dict['database_name'] = database_file_name return options_dict else:#others for key in ('database_name', 'database_user', 'database_password'): if options_dict[key] is None: key_name = key.replace('_', ' ') value = console.simple_dialog( '\nPlease enter %s' % key_name, required=True ) options_dict[key] = value return options_dict
def check_user_answer_limit(): """Checks if LIMIT_ONE_ANSWER_PER_USER is True, if so, warn the user and give them an option to turn it off temporarily for the import. The import is really messy if we don't allow multiple answers for a user when translating from Zendesk to Askbot. If the user opts to turn this off at the beginning of the import it will be turned on automatically when we're done. """ if not askbot_settings.LIMIT_ONE_ANSWER_PER_USER: return else: print print "*"*64 print "* WARNING" print "*"*64 print "* Your settings are currently limiting users to a single" print "* answer per question. Zendesk doesn't translate well to" print "* this. It's highly recommended you let us switch this" print "* off temporarily while the import proceeds. We'll switch" print "* it back on when we're done." print "*" print "* If you choose not to do this, each additional post on" print "* a forum topic or additional comment on a ticket will be" print "* appended as a comment on to the first answer by the user." print "*" * 64 prompt = "Okay to turn off the LIMIT_ONE_ANSWER_PER_USER setting?" response = console.get_yes_or_no(prompt, 'yes') if response == 'yes': toggle_user_answer_limit_setting(False) print return True print
def collect_missing_options(options_dict): options_dict['secret_key'] = '' if options_dict['no_secret_key'] else generate_random_key() if options_dict['database_engine'] == '2':#sqlite if options_dict['database_name']: return options_dict while True: value = console.simple_dialog( 'Please enter database file name' ) database_file_name = None if os.path.isfile(value): message = 'file %s exists, use it anyway?' % value if console.get_yes_or_no(message) == 'yes': database_file_name = value elif os.path.isdir(value): print('%s is a directory, choose another name' % value) elif value in path_utils.FILES_TO_CREATE: print('name %s cannot be used for the database name' % value) elif value == path_utils.LOG_DIR_NAME: print('name %s cannot be used for the database name' % value) else: database_file_name = value if database_file_name: options_dict['database_name'] = database_file_name return options_dict else:#others db_keys = OrderedDict([ ('database_name', True), ('database_user', True), ('database_password', True), ('database_host', False), ('database_port', False) ]) for key, required in list(db_keys.items()): if options_dict[key] is None: key_name = key.replace('_', ' ') fmt_string = '\nPlease enter %s' if not required: fmt_string += ' (press "Enter" to use the default value)' value = console.simple_dialog( fmt_string % key_name, required=db_keys[key] ) options_dict[key] = value return options_dict
def collect_missing_options(options_dict): options_dict['secret_key'] = generate_random_key() if options_dict['database_engine'] == '2':#sqlite if options_dict['database_name']: return options_dict while True: value = console.simple_dialog( 'Please enter database file name' ) database_file_name = None if os.path.isfile(value): message = 'file %s exists, use it anyway?' % value if console.get_yes_or_no(message) == 'yes': database_file_name = value elif os.path.isdir(value): print('%s is a directory, choose another name' % value) elif value in path_utils.FILES_TO_CREATE: print('name %s cannot be used for the database name' % value) elif value == path_utils.LOG_DIR_NAME: print('name %s cannot be used for the database name' % value) else: database_file_name = value if database_file_name: options_dict['database_name'] = database_file_name return options_dict else:#others db_keys = OrderedDict([ ('database_name', True), ('database_user', True), ('database_password', True), ('database_host', False), ('database_port', False) ]) for key, required in db_keys.items(): if options_dict[key] is None: key_name = key.replace('_', ' ') fmt_string = '\nPlease enter %s' if not required: fmt_string += ' (press "Enter" to use the default value)' value = console.simple_dialog( fmt_string % key_name, required=db_keys[key] ) options_dict[key] = value return options_dict