配置参数


- 配置跟踪的参数有493个
- 493个配置参数,包含打印机配置文件里的,以及程序里默认设置的参数


- status_raw_config:在 _read_config的 pconfig.check_unused_options(config) 里面实现的
主代码解析
def read_main_config(self):filename = self.printer.get_start_args()['config_file']data = self._read_config_file(filename)regular_data, autosave_data = self._find_autosave_data(data)regular_config = self._build_config_wrapper(regular_data, filename)autosave_data = self._strip_duplicates(autosave_data, regular_config)self.autosave = self._build_config_wrapper(autosave_data, filename)cfg = self._build_config_wrapper(regular_data + autosave_data, filename)return cfg
- data = self._read_config_file(filename):读取配置文件数据,返回字符串结果
- regular_data, autosave_data = self._find_autosave_data(data):解析出常规配置数据和通过页面操作自动保存的配置数据
- regular_config = self._build_config_wrapper(regular_data, filename):构建常规配置的包装器
- autosave_data = self._strip_duplicates(autosave_data, regular_config):解析自动保存配置和常规配置里的重复项,并去除自动保存重复的配置字段
- self._build_config_wrapper(autosave_data, filename):构建自动保存配置的包装器
- cfg = self._build_config_wrapper(regular_data + autosave_data, filename):配置合并,构建一个所有配置的包装器
def _build_config_wrapper(self, data, filename):if sys.version_info.major >= 3:fileconfig = configparser.RawConfigParser(strict=False, inline_comment_prefixes=(';', '#'))else:fileconfig = configparser.RawConfigParser()self._parse_config(data, filename, fileconfig, set())return ConfigWrapper(self.printer, fileconfig, {}, 'printer')
- fileconfig = configparser.RawConfigParser():创建解析器对象
- self._parse_config(data, filename, fileconfig, set()):将配置信息解析到 解析器对象里
- ConfigWrapper(self.printer, fileconfig, {}, ‘printer’): 返回配置包装器,包含打印机对象,解析器对象