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:
@@ -114,7 +114,7 @@ class DataExtractionTab(ttk.Frame):
|
||||
self.verbose_var = tk.BooleanVar(value=self.config.get('extraction.verbose', True))
|
||||
ttk.Checkbutton(options_group, text="详细日志", variable=self.verbose_var).grid(row=0, column=0, sticky="w", padx=5)
|
||||
|
||||
self.headless_var = tk.BooleanVar(value=self.config.get('browser.headless', True))
|
||||
self.headless_var = tk.BooleanVar(value=self.config.get('erp.headless', True))
|
||||
ttk.Checkbutton(options_group, text="无头模式 (不显示浏览器)", variable=self.headless_var).grid(row=0, column=1, sticky="w", padx=5)
|
||||
|
||||
# 进度显示
|
||||
@@ -200,7 +200,8 @@ class DataExtractionTab(ttk.Frame):
|
||||
username=self.config.get('erp.username'),
|
||||
password=self.config.get('erp.password'),
|
||||
headless=self.headless_var.get(),
|
||||
verbose=self.verbose_var.get()
|
||||
verbose=self.verbose_var.get(),
|
||||
batch_size=self.config.get('extraction.batch_size', 100)
|
||||
)
|
||||
|
||||
# 创建实时输出流,每次写入立即更新 GUI
|
||||
|
||||
Reference in New Issue
Block a user