refactor: centralize configuration management with type-safe schema
Major changes: - Add dataclass-based configuration schema with validation (config/schema.py) - Create centralized config loader and default values (config/defaults.py, config/loader.py) - Remove duplicate database_config.py, merge into unified structure - Consolidate browser settings into ERP config - Add batch_size parameter support to extractor Bug fixes: - Fix settings save error by updating config paths (browser.* → erp.*) - Fix batch_size not being applied in data extraction Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -198,10 +198,10 @@ class SettingsTab(ttk.Frame):
|
||||
self.db_username_var.set(self.config.get('database.username', ''))
|
||||
self.db_password_var.set(self.config.get('database.password', ''))
|
||||
|
||||
# 浏览器设置
|
||||
self.browser_headless_var.set(self.config.get('browser.headless', True))
|
||||
self.browser_ignore_https_var.set(self.config.get('browser.ignore_https_errors', True))
|
||||
self.browser_auto_close_var.set(self.config.get('browser.auto_close', True))
|
||||
# 浏览器设置(已合并到 ERP 配置中)
|
||||
self.browser_headless_var.set(self.config.get('erp.headless', True))
|
||||
self.browser_ignore_https_var.set(self.config.get('erp.ignore_https_errors', True))
|
||||
self.browser_auto_close_var.set(self.config.get('erp.auto_close_browser', True))
|
||||
|
||||
# 路径设置
|
||||
self.data_dir_selector.set(self.config.get('paths.data_dir', ''))
|
||||
@@ -226,10 +226,10 @@ class SettingsTab(ttk.Frame):
|
||||
self.config.set('database.username', self.db_username_var.get())
|
||||
self.config.set('database.password', self.db_password_var.get())
|
||||
|
||||
# 浏览器设置
|
||||
self.config.set('browser.headless', self.browser_headless_var.get())
|
||||
self.config.set('browser.ignore_https_errors', self.browser_ignore_https_var.get())
|
||||
self.config.set('browser.auto_close', self.browser_auto_close_var.get())
|
||||
# 浏览器设置(已合并到 ERP 配置中)
|
||||
self.config.set('erp.headless', self.browser_headless_var.get())
|
||||
self.config.set('erp.ignore_https_errors', self.browser_ignore_https_var.get())
|
||||
self.config.set('erp.auto_close_browser', self.browser_auto_close_var.get())
|
||||
|
||||
# 路径设置
|
||||
self.config.set('paths.data_dir', self.data_dir_selector.get())
|
||||
|
||||
Reference in New Issue
Block a user