mirror of
https://gitee.com/g1879/DrissionPage.git
synced 2024-12-10 04:00:23 +08:00
完善SessionOptions功能,未完成
This commit is contained in:
parent
63f80886ef
commit
d50be35a0a
@ -201,6 +201,7 @@ class SessionOptions(object):
|
|||||||
"""返回cookies设置信息"""
|
"""返回cookies设置信息"""
|
||||||
if self._cookies is None:
|
if self._cookies is None:
|
||||||
self._cookies = []
|
self._cookies = []
|
||||||
|
|
||||||
return self._cookies
|
return self._cookies
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@ -213,6 +214,7 @@ class SessionOptions(object):
|
|||||||
"""返回proxies设置信息"""
|
"""返回proxies设置信息"""
|
||||||
if self._proxies is None:
|
if self._proxies is None:
|
||||||
self._proxies = {}
|
self._proxies = {}
|
||||||
|
|
||||||
return self._proxies
|
return self._proxies
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@ -220,6 +222,7 @@ class SessionOptions(object):
|
|||||||
"""返回hooks设置信息"""
|
"""返回hooks设置信息"""
|
||||||
if self._hooks is None:
|
if self._hooks is None:
|
||||||
self._hooks = {}
|
self._hooks = {}
|
||||||
|
|
||||||
return self._hooks
|
return self._hooks
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@ -268,7 +271,7 @@ class SessionOptions(object):
|
|||||||
self._headers = {key.lower(): headers[key] for key in headers}
|
self._headers = {key.lower(): headers[key] for key in headers}
|
||||||
|
|
||||||
@cookies.setter
|
@cookies.setter
|
||||||
def cookies(self, cookies: Union[list, tuple]) -> None:
|
def cookies(self, cookies: Union[RequestsCookieJar, list, tuple, str, dict]) -> None:
|
||||||
"""设置cookies参数 \n
|
"""设置cookies参数 \n
|
||||||
:param cookies: 参数值
|
:param cookies: 参数值
|
||||||
:return: None
|
:return: None
|
||||||
@ -381,16 +384,6 @@ class SessionOptions(object):
|
|||||||
|
|
||||||
return self
|
return self
|
||||||
|
|
||||||
def add_cookie(self, cookie):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def remove_cookie(self, name: str):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def clear_cookies(self):
|
|
||||||
"""清空cookies"""
|
|
||||||
self.cookies = None
|
|
||||||
|
|
||||||
def save(self, path: str = None):
|
def save(self, path: str = None):
|
||||||
"""保存设置到文件 \n
|
"""保存设置到文件 \n
|
||||||
:param path: ini文件的路径,传入 'default' 保存到默认ini文件
|
:param path: ini文件的路径,传入 'default' 保存到默认ini文件
|
||||||
@ -420,6 +413,7 @@ class SessionOptions(object):
|
|||||||
return self
|
return self
|
||||||
|
|
||||||
def as_dict(self) -> dict:
|
def as_dict(self) -> dict:
|
||||||
|
"""以字典形式返回本对象"""
|
||||||
return _session_options_to_dict(self)
|
return _session_options_to_dict(self)
|
||||||
|
|
||||||
|
|
||||||
@ -696,7 +690,7 @@ def _chrome_options_to_dict(options: Union[dict, DriverOptions, Options, None])
|
|||||||
|
|
||||||
|
|
||||||
def _session_options_to_dict(options: Union[dict, SessionOptions, None]) -> Union[dict, None]:
|
def _session_options_to_dict(options: Union[dict, SessionOptions, None]) -> Union[dict, None]:
|
||||||
"""把session配置对象装换为字典 \n
|
"""把session配置对象转换为字典 \n
|
||||||
:param options: session配置对象或字典
|
:param options: session配置对象或字典
|
||||||
:return: 配置字典
|
:return: 配置字典
|
||||||
"""
|
"""
|
||||||
@ -706,12 +700,13 @@ def _session_options_to_dict(options: Union[dict, SessionOptions, None]) -> Unio
|
|||||||
re_dict = dict()
|
re_dict = dict()
|
||||||
attrs = ['headers', 'proxies', 'hooks', 'params', 'verify', 'stream', 'trust_env', 'max_redirects'] # 'adapters',
|
attrs = ['headers', 'proxies', 'hooks', 'params', 'verify', 'stream', 'trust_env', 'max_redirects'] # 'adapters',
|
||||||
|
|
||||||
val = options.__getattribute__(f'_cookies')
|
val = options.__getattribute__('_cookies')
|
||||||
|
|
||||||
if val is not None:
|
if val is not None:
|
||||||
if isinstance(val, (list, tuple)):
|
if isinstance(val, RequestsCookieJar):
|
||||||
re_dict['cookies'] = val
|
|
||||||
elif isinstance(val, RequestsCookieJar):
|
|
||||||
re_dict['cookies'] = [_cookie_to_dict(cookie) for cookie in val]
|
re_dict['cookies'] = [_cookie_to_dict(cookie) for cookie in val]
|
||||||
|
else:
|
||||||
|
re_dict['cookies'] = val
|
||||||
|
|
||||||
for attr in attrs:
|
for attr in attrs:
|
||||||
val = options.__getattribute__(f'_{attr}')
|
val = options.__getattribute__(f'_{attr}')
|
||||||
@ -726,17 +721,15 @@ def _session_options_to_dict(options: Union[dict, SessionOptions, None]) -> Unio
|
|||||||
|
|
||||||
|
|
||||||
def _cookie_to_dict(cookie: Cookie) -> dict:
|
def _cookie_to_dict(cookie: Cookie) -> dict:
|
||||||
"""把Cookie对象转为dict格式"""
|
"""把Cookie对象转为dict格式 \n
|
||||||
# print(cookie)
|
:param cookie: Cookie对象
|
||||||
|
:return: cookie字典
|
||||||
|
"""
|
||||||
if isinstance(cookie, Cookie):
|
if isinstance(cookie, Cookie):
|
||||||
cookie_dict = cookie.__dict__.copy()
|
cookie_dict = cookie.__dict__.copy()
|
||||||
cookie_dict.pop('rfc2109')
|
cookie_dict.pop('rfc2109')
|
||||||
cookie_dict.pop('_rest')
|
cookie_dict.pop('_rest')
|
||||||
return cookie_dict
|
return cookie_dict
|
||||||
# cookie_dict = {'name': cookie.name, 'value': str(cookie.value), 'path': cookie.path, 'domain': cookie.domain}
|
|
||||||
#
|
|
||||||
# if cookie.expires:
|
|
||||||
# cookie_dict['expiry'] = cookie.expires
|
|
||||||
|
|
||||||
elif isinstance(cookie, dict):
|
elif isinstance(cookie, dict):
|
||||||
return cookie
|
return cookie
|
||||||
|
Loading…
x
Reference in New Issue
Block a user