Skip to content

Commit e3022fb

Browse files
committed
v2.1.21: 增加client的域名配置方法以方便配置域名
1 parent de074f8 commit e3022fb

File tree

4 files changed

+20
-9
lines changed

4 files changed

+20
-9
lines changed

src/jmcomic/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
# 被依赖方 <--- 使用方
33
# config <--- entity <--- toolkit <--- client <--- option <--- downloader
44

5-
__version__ = '2.1.19'
5+
__version__ = '2.1.21'
66

77
from .api import *

src/jmcomic/jm_client_impl.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
from .jm_client_interface import *
22

33

4-
# noinspection PyAbstractClass
54
class AbstractJmClient(
65
JmcomicClient,
76
PostmanProxy,
@@ -139,6 +138,12 @@ def get_jmcomic_url(self, postman=None):
139138
def get_jmcomic_domain_all(self, postman=None):
140139
return JmModuleConfig.get_jmcomic_domain_all(postman or self.get_root_postman())
141140

141+
def get_domain_list(self):
142+
return self.domain_list
143+
144+
def set_domain_list(self, domain_list: List[str]):
145+
self.domain_list = domain_list
146+
142147
# noinspection PyUnusedLocal
143148
def fallback(self, request, url, domain_index, retry_count, **kwargs):
144149
msg = f"请求重试全部失败: [{url}], {self.domain_list}"

src/jmcomic/jm_client_interface.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -279,8 +279,14 @@ class JmcomicClient(
279279
JmUserClient,
280280
Postman,
281281
):
282-
def get_jmcomic_url(self, postman=None):
283-
return JmModuleConfig.get_jmcomic_url(postman or self)
282+
def get_jmcomic_url(self):
283+
return JmModuleConfig.get_jmcomic_url()
284284

285-
def get_jmcomic_domain_all(self, postman=None):
286-
return JmModuleConfig.get_jmcomic_domain_all(postman or self)
285+
def get_jmcomic_domain_all(self):
286+
return JmModuleConfig.get_jmcomic_domain_all()
287+
288+
def get_domain_list(self) -> List[str]:
289+
raise NotImplementedError
290+
291+
def set_domain_list(self, domain_list: List[str]):
292+
raise NotImplementedError

src/jmcomic/jm_option.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -226,15 +226,15 @@ def to_file(self, filepath=None):
226226
"""
227227

228228
@field_cache("__jm_client_cache__")
229-
def build_jm_client(self, **kwargs) -> JmcomicClient:
229+
def build_jm_client(self, **kwargs):
230230
"""
231231
该方法会首次调用会创建JmcomicClient对象,
232232
然后保存在self.__jm_client_cache__中,
233233
多次调用`不会`创建新的JmcomicClient对象
234234
"""
235235
return self.new_jm_client(**kwargs)
236236

237-
def new_jm_client(self, **kwargs) -> JmcomicClient:
237+
def new_jm_client(self, domain_list=None, **kwargs) -> JmcomicClient:
238238
postman_conf: dict = self.client.postman.src_dict
239239

240240
# support kwargs overwrite meta_data
@@ -247,7 +247,7 @@ def new_jm_client(self, **kwargs) -> JmcomicClient:
247247
postman = Postmans.create(data=postman_conf)
248248

249249
# domain_list
250-
domain_list = self.client.domain
250+
domain_list: List[str] = domain_list or self.client.domain
251251
if len(domain_list) == 0:
252252
domain_list = [JmModuleConfig.domain()]
253253

0 commit comments

Comments
 (0)