@@ -99,16 +99,18 @@ def load(self, settings_file):
9999 data = yaml .safe_load (data )
100100
101101 self .settings_file = settings_file
102- self .mysql = MysqlSettings (** data [ 'mysql' ] )
103- self .clickhouse = ClickhouseSettings (** data [ 'clickhouse' ] )
104- self .databases = data [ 'databases' ]
105- self .tables = data .get ('tables' , '*' )
106- self .exclude_databases = data .get ('exclude_databases' , '' )
107- self .exclude_tables = data .get ('exclude_tables' , '' )
108- self .log_level = data .get ('log_level' , 'info' )
102+ self .mysql = MysqlSettings (** data . pop ( 'mysql' ) )
103+ self .clickhouse = ClickhouseSettings (** data . pop ( 'clickhouse' ) )
104+ self .databases = data . pop ( 'databases' )
105+ self .tables = data .pop ('tables' , '*' )
106+ self .exclude_databases = data .pop ('exclude_databases' , '' )
107+ self .exclude_tables = data .pop ('exclude_tables' , '' )
108+ self .log_level = data .pop ('log_level' , 'info' )
109109 assert isinstance (self .databases , str ) or isinstance (self .databases , list )
110110 assert isinstance (self .tables , str ) or isinstance (self .tables , list )
111- self .binlog_replicator = BinlogReplicatorSettings (** data ['binlog_replicator' ])
111+ self .binlog_replicator = BinlogReplicatorSettings (** data .pop ('binlog_replicator' ))
112+ if data :
113+ raise Exception (f'Unsupported config options: { list (data .keys ())} ' )
112114 self .validate ()
113115
114116 @classmethod
0 commit comments