From 61fc7453285978dd000f08226fd3bcc06ecc25b9 Mon Sep 17 00:00:00 2001 From: g1879 Date: Fri, 17 Feb 2023 00:25:21 +0800 Subject: [PATCH] =?UTF-8?q?easy=5Fset=E5=A2=9E=E5=8A=A0configs=5Fto=5Fhere?= =?UTF-8?q?()=E6=96=B9=E6=B3=95=EF=BC=9B=E5=88=9B=E5=BB=BA=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E5=AF=B9=E8=B1=A1=E9=BB=98=E8=AE=A4=E5=85=88=E8=AF=BB?= =?UTF-8?q?=E5=8F=96=E9=A1=B9=E7=9B=AE=E6=96=87=E4=BB=B6=E5=A4=B9=E4=B8=8B?= =?UTF-8?q?=E7=9A=84dp=5Fconfigs.ini?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DrissionPage/configs/chromium_options.py | 5 +++-- DrissionPage/configs/options_manage.py | 13 +++++++++++-- DrissionPage/configs/session_options.py | 5 +++-- DrissionPage/easy_set.py | 10 ++++++++++ DrissionPage/easy_set.pyi | 3 +++ 5 files changed, 30 insertions(+), 6 deletions(-) diff --git a/DrissionPage/configs/chromium_options.py b/DrissionPage/configs/chromium_options.py index 47360de..0c3ce60 100644 --- a/DrissionPage/configs/chromium_options.py +++ b/DrissionPage/configs/chromium_options.py @@ -21,8 +21,9 @@ class ChromiumOptions(object): self._prefs_to_del = [] if read_file is not False: - self.ini_path = str(ini_path) if ini_path else str(Path(__file__).parent / 'configs.ini') - om = OptionsManager(self.ini_path) + ini_path = str(ini_path) if ini_path else None + om = OptionsManager(ini_path) + self.ini_path = om.ini_path options = om.chrome_options self._download_path = om.paths.get('download_path', None) diff --git a/DrissionPage/configs/options_manage.py b/DrissionPage/configs/options_manage.py index 4107ba9..5f2b3e5 100644 --- a/DrissionPage/configs/options_manage.py +++ b/DrissionPage/configs/options_manage.py @@ -13,9 +13,18 @@ class OptionsManager(object): def __init__(self, path=None): """初始化,读取配置文件,如没有设置临时文件夹,则设置并新建 - :param path: ini文件的路径,默认读取模块文件夹下的 + :param path: ini文件的路径,为None则找项目文件夹下的,找不到则读取模块文件夹下的 """ - self.ini_path = str(Path(__file__).parent / 'configs.ini') if path == 'default' or path is None else str(path) + if path is None: + if Path('dp_configs.ini').exists(): + self.ini_path = 'dp_configs.ini' + else: + self.ini_path = str(Path(__file__).parent / 'configs.ini') + elif path == 'default': + self.ini_path = str(Path(__file__).parent / 'configs.ini') + else: + self.ini_path = str(path) + if not Path(self.ini_path).exists(): raise FileNotFoundError('ini文件不存在。') self._conf = RawConfigParser() diff --git a/DrissionPage/configs/session_options.py b/DrissionPage/configs/session_options.py index 90d246c..50caa78 100644 --- a/DrissionPage/configs/session_options.py +++ b/DrissionPage/configs/session_options.py @@ -36,8 +36,9 @@ class SessionOptions(object): self._del_set = set() # 记录要从ini文件删除的参数 if read_file is not False: - self.ini_path = str(ini_path) if ini_path else str(Path(__file__).parent / 'configs.ini') - om = OptionsManager(self.ini_path) + ini_path = str(ini_path) if ini_path else None + om = OptionsManager(ini_path) + self.ini_path = om.ini_path options_dict = om.session_options if options_dict.get('headers', None) is not None: diff --git a/DrissionPage/easy_set.py b/DrissionPage/easy_set.py index 65c5dd9..03aea4b 100644 --- a/DrissionPage/easy_set.py +++ b/DrissionPage/easy_set.py @@ -18,6 +18,16 @@ from .common.tools import unzip from .session_page import SessionPage +def configs_to_here(file_name=None): + """把默认ini文件复制到当前目录 + :param file_name: 指定文件名,为None则命名为'dp_configs.ini' + :return: None + """ + om = OptionsManager('default') + file_name = str(file_name) if file_name is not None else 'dp_configs.ini' + om.save(file_name) + + def show_settings(ini_path=None): """打印ini文件内容 :param ini_path: ini文件路径 diff --git a/DrissionPage/easy_set.pyi b/DrissionPage/easy_set.pyi index 7c687ff..2ab8abe 100644 --- a/DrissionPage/easy_set.pyi +++ b/DrissionPage/easy_set.pyi @@ -7,6 +7,9 @@ from pathlib import Path from typing import Union +def configs_to_here(file_name: Union[Path, str] = None) -> None: ... + + def show_settings(ini_path: Union[str, Path] = None) -> None: ...