Пример #1
0
def main(**kwargs):
    set_start_method('fork')  # PyInstaller supports only fork start method

    pickling_support.install()

    init_satellite_dir()

    try:
        config = configure(**{
            name: value
            for name, value in kwargs.items() if value is not None
        })
    except InvalidConfigError as exc:
        raise click.ClickException(f'Invalid config: {exc}') from exc

    satellite_logging.configure(log_path=config.log_path, silent=config.silent)

    db.configure(config.db_path)
    try:
        db.init()
    except db.DBVersionMismatch as exc:
        raise click.ClickException(exc) from exc

    deleted_aliases = AliasStore.cleanup()
    logger = logging.getLogger()
    logger.info(f'Deleted {deleted_aliases} expired aliases.')

    app = WebApplication(config)
    app.start()
Пример #2
0
def test_cleanup():
    session = get_session()
    session.query(Alias).delete()
    session.commit()

    persistent_store = AliasStore()
    alias1 = make_alias(False)
    persistent_store.save(alias1)

    volatile_store = AliasStore(60)
    alias2 = make_alias(False)
    volatile_store.save(alias2)

    alias3 = make_alias(False)
    AliasStore(-1).save(alias3)

    assert AliasStore.cleanup() == 1
    persistent_store.get_by_value(alias1.value) is not None
    volatile_store.get_by_value(alias2.value) is not None
    volatile_store.get_by_value(alias3.value) is None
Пример #3
0
def main(**kwargs):
    set_start_method('fork')  # PyInstaller supports only fork start method

    pickling_support.install()

    init_satellite_dir()

    try:
        config = configure(**{
            name: value
            for name, value in kwargs.items() if value is not None
        })
    except InvalidConfigError as exc:
        raise click.ClickException(f'Invalid config: {exc}') from exc

    satellite_logging.configure(log_path=config.log_path, silent=config.silent)
    logger = logging.getLogger()

    db.configure(config.db_path)
    try:
        db.init()
    except db.DBVersionMismatch as exc:
        raise click.ClickException(exc) from exc

    if config.routes_path:
        with open(config.routes_path, 'r') as stream:
            try:
                loaded_routes_count = load_from_yaml(stream)
            except LoadError as exc:
                raise click.ClickException(
                    f'Unable to load routes from file: {exc}') from exc
        logger.info(
            f'Loaded {loaded_routes_count} routes from routes config file.')

    deleted_aliases = AliasStore.cleanup()
    logger.info(f'Deleted {deleted_aliases} expired aliases.')

    app = WebApplication(config)
    app.start()