示例#1
0
def main():
    parser = argparse.ArgumentParser()
    parser.set_defaults(func=lambda _: parser.print_usage())
    subparsers = parser.add_subparsers()

    upgrade_p = subparsers.add_parser(
        'upgrade',
        help='Upgrade the user database',
        formatter_class=argparse.ArgumentDefaultsHelpFormatter)
    upgrade_p.set_defaults(func=upgrade)

    downgrade_p = subparsers.add_parser(
        'downgrade',
        help='Downgrade the user database',
        formatter_class=argparse.ArgumentDefaultsHelpFormatter)
    downgrade_p.set_defaults(func=downgrade)
    args = parser.parse_args()

    config = load_config('main.cfg')

    db_path = config['data_storage']['user_database'][len('sqlite:///'):]

    conn = sqlite3.connect(db_path)
    cur = conn.cursor()

    args.func(cur)

    conn.commit()
    conn.close()
示例#2
0
def test_read_list_from_config(monkeypatch, input_data, expected):
    monkeypatch.setattr('helperFunctions.config.get_config_dir', lambda: '{}/helperFunctions'.format(get_test_data_dir()))
    test_config = load_config('test.cfg')
    test_config.add_section('test_section')
    test_config.set('test_section', 'test_option', input_data)
    result = read_list_from_config(test_config, 'test_section', 'test_option')
    assert result == expected
示例#3
0
def main(distribution):
    xenial = distribution == 'xenial'

    logging.info('Updating package lists')
    apt_update_sources()

    # Non python dependencies
    apt_install_packages('build-essential', 'automake', 'autoconf', 'libtool')

    # python dependencies
    apt_install_packages('python3', 'python3-dev', 'python', 'python-dev', 'python-wheel', 'python-setuptools')

    pip3_install_packages('pytest', 'pytest-cov', 'pytest-pep8')
    if not xenial:
        pip3_install_packages('testresources')

    # make bin dir
    with suppress(FileExistsError):
        os.mkdir('../bin')

    config = load_config('main.cfg')
    data_folder = config.get('unpack', 'data_folder')
    os.makedirs(str(Path(data_folder, 'files')), exist_ok=True)
    os.makedirs(str(Path(data_folder, 'reports')), exist_ok=True)

    return 0
示例#4
0
def test_read_list_from_config__key_not_in_config(monkeypatch):
    monkeypatch.setattr('helperFunctions.config.get_config_dir', lambda: '{}/helperFunctions'.format(get_test_data_dir()))
    test_config = load_config('test.cfg')
    result = read_list_from_config(test_config, 'foo', 'bar')
    assert result == []

    result = read_list_from_config(test_config, 'test', 'bar')
    assert result == []
示例#5
0
 def _set_config(cls):
     cls.config = load_config('main.cfg')
     cls.config.set('data_storage', 'main_database', TMP_DB_NAME)
     cls.config.set('data_storage', 'intercom_database_prefix', TMP_DB_NAME)
     cls.config.set('data_storage', 'statistic_database', TMP_DB_NAME)
     cls.config.set('data_storage', 'firmware_file_storage_directory', TMP_DIR.name)
     cls.config.set('ExpertSettings', 'authentication', 'false')
     cls.config.set('Logging', 'mongoDbLogFile', os.path.join(TMP_DIR.name, 'mongo.log'))
示例#6
0
 def __init__(self, config=None):
     self.matches = []
     if config:
         self.config = config
     else:
         self.config = load_config(CONFIG_FILE)
     self.db_path = self.config['data_storage'][
         'firmware_file_storage_directory']
示例#7
0
def load_users_from_main_config(config: ConfigParser):
    fact_config = load_config('main.cfg')
    config.set('data_storage', 'db_admin_user',
               fact_config['data_storage']['db_admin_user'])
    config.set('data_storage', 'db_admin_pw',
               fact_config['data_storage']['db_admin_pw'])
    config.set('data_storage', 'db_readonly_user',
               fact_config['data_storage']['db_readonly_user'])
    config.set('data_storage', 'db_readonly_pw',
               fact_config['data_storage']['db_readonly_pw'])
示例#8
0
def main():
    args = setup_argparse()
    file_name = os.path.basename(args.config_file)

    config = load_config(file_name)
    frontend = WebFrontEnd(config)

    start_user_management(frontend.app)

    return 0
示例#9
0
 def _set_config(self):
     self.config = load_config('main.cfg')
     self.config.set('data_storage', 'main_database', TMP_DB_NAME)
     self.config.set('data_storage', 'intercom_database_prefix',
                     TMP_DB_NAME)
     self.config.set('data_storage', 'statistic_database', TMP_DB_NAME)
     self.config.set('data_storage', 'firmware_file_storage_directory',
                     TMP_DIR.name)
     self.config.set('Logging', 'mongoDbLogFile',
                     os.path.join(TMP_DIR.name, 'mongo.log'))
示例#10
0
def main():
    args = setup_argparse()

    file_name = Path(args.config_file).name
    config = load_config(file_name)
    frontend = WebFrontEnd(config)

    start_user_management(frontend.app, frontend.user_datastore,
                          frontend.user_db, PromptSession())

    return 0
示例#11
0
def main(distribution):
    logging.info('Updating package lists')
    apt_update_sources()

    # install dependencies
    install_dependencies(DEPENDENCIES['common'])
    install_dependencies(DEPENDENCIES[distribution])

    # make bin dir
    with suppress(FileExistsError):
        os.mkdir('../bin')

    config = load_config('main.cfg')
    data_folder = config.get('unpack', 'data_folder')
    os.makedirs(str(Path(data_folder, 'files')), exist_ok=True)
    os.makedirs(str(Path(data_folder, 'reports')), exist_ok=True)

    return 0
    def init_basic_config(self):
        config = ConfigParser()
        config.add_section(self.PLUGIN_NAME)
        config.set(self.PLUGIN_NAME, 'threads', '1')
        config.add_section('ExpertSettings')
        config.set('ExpertSettings', 'block_delay', '2')
        config.add_section('data_storage')
        faf_config = load_config('main.cfg')
        config.set('data_storage', 'db_admin_user',
                   faf_config['data_storage']['db_admin_user'])
        config.set('data_storage', 'db_admin_pw',
                   faf_config['data_storage']['db_admin_pw'])
        config.set('data_storage', 'db_readonly_user',
                   faf_config['data_storage']['db_readonly_user'])
        config.set('data_storage', 'db_readonly_pw',
                   faf_config['data_storage']['db_readonly_pw'])
        config.set('data_storage', 'mongo_server', 'localhost')
        config.set('data_storage', 'mongo_port', '54321')
        config.set('data_storage', 'view_storage', 'tmp_view')

        return config
示例#13
0
 def _set_config(cls):
     cls.config = load_config('main.cfg')
     cls.config.set('data_storage', 'main_database', TMP_DB_NAME)
     cls.config.set('data_storage', 'intercom_database_prefix', TMP_DB_NAME)
     cls.config.set('data_storage', 'statistic_database', TMP_DB_NAME)
     cls.config.set('ExpertSettings', 'authentication', 'false')
示例#14
0
def test_load_config(monkeypatch):
    monkeypatch.setattr('helperFunctions.config.get_config_dir', lambda: '{}/helperFunctions'.format(get_test_data_dir()))
    test_config = load_config('test.cfg')
    assert test_config['test']['test'] == 'test_config', 'config not correct'