diff --git a/subsetter/__main__.py b/subsetter/__main__.py index e215cf3..a04e300 100644 --- a/subsetter/__main__.py +++ b/subsetter/__main__.py @@ -6,7 +6,7 @@ import yaml -from subsetter.config_model import SubsetterConfig +from subsetter.config_model import DatabaseOutputConfig, SubsetterConfig from subsetter.plan_model import SubsetPlan from subsetter.planner import Planner from subsetter.sampler import Sampler @@ -128,7 +128,7 @@ def _dict_merge(lhs, rhs): exc_info=args.verbose > 1, ) sys.exit(1) - return SubsetterConfig.model_validate(config_data) + config = SubsetterConfig.model_validate(config_data) except ValueError as exc: LOGGER.error( "Unexpected subsetter config file format: %s", @@ -137,6 +137,13 @@ def _dict_merge(lhs, rhs): ) sys.exit(1) + if args.verbose > 2: + config.source.echo = True + if config.sampler and isinstance(config.sampler.output, DatabaseOutputConfig): + config.sampler.output.echo = True + + return config + def _main_plan(args): config = _get_config(args) diff --git a/subsetter/common.py b/subsetter/common.py index 6cdf433..43e29b8 100644 --- a/subsetter/common.py +++ b/subsetter/common.py @@ -164,6 +164,7 @@ def get_connect_args( sqlite_databases: Optional[Dict[str, str]] = {} isolation_level: Optional[IsolationLevel] = None ssl: SSLConfig = SSLConfig() + echo: bool = False def database_url( self, @@ -198,6 +199,7 @@ def database_engine( self.dialect or DEFAULT_DIALECT, env_prefix=env_prefix, ), + echo=self.echo, ) @sa.event.listens_for(engine, "connect")