jmcomic 2.0.5__py3-none-any.whl → 2.0.6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- jmcomic/__init__.py +1 -1
- jmcomic/jm_client_impl.py +12 -3
- jmcomic/jm_config.py +20 -7
- {jmcomic-2.0.5.dist-info → jmcomic-2.0.6.dist-info}/METADATA +1 -1
- jmcomic-2.0.6.dist-info/RECORD +13 -0
- jmcomic-2.0.5.dist-info/RECORD +0 -13
- {jmcomic-2.0.5.dist-info → jmcomic-2.0.6.dist-info}/LICENSE +0 -0
- {jmcomic-2.0.5.dist-info → jmcomic-2.0.6.dist-info}/WHEEL +0 -0
- {jmcomic-2.0.5.dist-info → jmcomic-2.0.6.dist-info}/top_level.txt +0 -0
jmcomic/__init__.py
CHANGED
jmcomic/jm_client_impl.py
CHANGED
|
@@ -95,9 +95,18 @@ class AbstractJmClient(
|
|
|
95
95
|
|
|
96
96
|
setattr(self, func_name, wrap_func)
|
|
97
97
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
98
|
+
for func in {
|
|
99
|
+
'get_photo_detail',
|
|
100
|
+
'get_album_detail',
|
|
101
|
+
'search_album',
|
|
102
|
+
}:
|
|
103
|
+
wrap_func_cache(func, func + '.cache.dict')
|
|
104
|
+
|
|
105
|
+
def get_jmcomic_url(self, postman=None):
|
|
106
|
+
return JmModuleConfig.get_jmcomic_url(postman or self.get_root_postman())
|
|
107
|
+
|
|
108
|
+
def get_jmcomic_domain_all(self, postman=None):
|
|
109
|
+
return JmModuleConfig.get_jmcomic_domain_all(postman or self.get_root_postman())
|
|
101
110
|
|
|
102
111
|
|
|
103
112
|
# 基于网页实现的JmClient
|
jmcomic/jm_config.py
CHANGED
|
@@ -3,11 +3,23 @@ def default_jm_debug(topic: str, msg: str):
|
|
|
3
3
|
print(f'{format_ts()}:【{topic}】{msg}')
|
|
4
4
|
|
|
5
5
|
|
|
6
|
+
def default_postman_constructor(session, **kwargs):
|
|
7
|
+
from common import Postmans
|
|
8
|
+
|
|
9
|
+
kwargs.setdefault('impersonate', 'chrome110')
|
|
10
|
+
kwargs.setdefault('headers', JmModuleConfig.headers())
|
|
11
|
+
|
|
12
|
+
if session is True:
|
|
13
|
+
return Postmans.new_session(**kwargs)
|
|
14
|
+
|
|
15
|
+
return Postmans.new_postman(**kwargs)
|
|
16
|
+
|
|
17
|
+
|
|
6
18
|
class JmModuleConfig:
|
|
7
19
|
# 网站相关
|
|
8
20
|
PROT = "https://"
|
|
9
21
|
DOMAIN = None
|
|
10
|
-
JM_REDIRECT_URL = f'{PROT}jm365.
|
|
22
|
+
JM_REDIRECT_URL = f'{PROT}jm365.work/3YeBdF' # 永久網域,怕走失的小伙伴收藏起来
|
|
11
23
|
JM_PUB_URL = f'{PROT}jmcomic2.bet'
|
|
12
24
|
JM_CDN_IMAGE_URL_TEMPLATE = PROT + 'cdn-msp.{domain}/media/photos/{photo_id}/{index:05}{suffix}' # index 从1开始
|
|
13
25
|
JM_IMAGE_SUFFIX = ['.jpg', '.webp', '.png', '.gif']
|
|
@@ -40,6 +52,7 @@ class JmModuleConfig:
|
|
|
40
52
|
# debug
|
|
41
53
|
enable_jm_debug = True
|
|
42
54
|
debug_executor = default_jm_debug
|
|
55
|
+
postman_constructor = default_postman_constructor
|
|
43
56
|
|
|
44
57
|
@classmethod
|
|
45
58
|
def domain(cls, postman=None):
|
|
@@ -84,15 +97,17 @@ class JmModuleConfig:
|
|
|
84
97
|
def disable_jm_debug(cls):
|
|
85
98
|
cls.enable_jm_debug = False
|
|
86
99
|
|
|
100
|
+
@classmethod
|
|
101
|
+
def new_postman(cls, session=False, **kwargs):
|
|
102
|
+
return cls.postman_constructor(session, **kwargs)
|
|
103
|
+
|
|
87
104
|
@classmethod
|
|
88
105
|
def get_jmcomic_url(cls, postman=None):
|
|
89
106
|
"""
|
|
90
107
|
访问禁漫的永久网域,从而得到一个可用的禁漫网址
|
|
91
108
|
@return: https://jm-comic2.cc
|
|
92
109
|
"""
|
|
93
|
-
|
|
94
|
-
from common import Postmans
|
|
95
|
-
postman = Postmans.new_session()
|
|
110
|
+
postman = postman or cls.new_postman(session=True)
|
|
96
111
|
|
|
97
112
|
resp = postman.get(cls.JM_REDIRECT_URL)
|
|
98
113
|
url = resp.url
|
|
@@ -105,9 +120,7 @@ class JmModuleConfig:
|
|
|
105
120
|
访问禁漫发布页,得到所有禁漫的域名
|
|
106
121
|
@return:['18comic.vip', ..., 'jm365.xyz/ZNPJam'], 最后一个是【APP軟件下載】
|
|
107
122
|
"""
|
|
108
|
-
|
|
109
|
-
from common import Postmans
|
|
110
|
-
postman = Postmans.get_impl_clazz('cffi').create()
|
|
123
|
+
postman = postman or cls.new_postman(session=True)
|
|
111
124
|
|
|
112
125
|
resp = postman.get(cls.JM_PUB_URL)
|
|
113
126
|
if resp.status_code != 200:
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
jmcomic/__init__.py,sha256=NGI9lVZSXarXZ-NkTiyKuV_UryivzWCMmIBXYec1vBw,159
|
|
2
|
+
jmcomic/api.py,sha256=iXmXyLKWMUBtehLurKoTP-lr_Q7b-lA7Eg7BTYphLNk,4867
|
|
3
|
+
jmcomic/jm_client_impl.py,sha256=JMoohpYMzL34Odtr8eVKyHB8uaxet31YGZho26Z0-pw,10808
|
|
4
|
+
jmcomic/jm_client_interface.py,sha256=AD-v7ZJ7C5uWYBlfdRdT7vMq8dELlVuTa8ekBSK7xPU,5734
|
|
5
|
+
jmcomic/jm_config.py,sha256=epuPrMKFAHdmYiB5osjWBP2rQIyAqtxZvjM8FlAsbX4,4948
|
|
6
|
+
jmcomic/jm_entity.py,sha256=xK0NJaA3C5noTQQXmnoFA-Ln3gqmbMlR7p4aRgBHbuw,9152
|
|
7
|
+
jmcomic/jm_option.py,sha256=PLBThV_3Sjzt-1daCYIcbRVvS-7iVC5qCy_BmLB8mxc,9298
|
|
8
|
+
jmcomic/jm_toolkit.py,sha256=hUBdP3BERsRMuCBg1fKjYO4PVE5VBMOv3OJ1x07qr2U,11284
|
|
9
|
+
jmcomic-2.0.6.dist-info/LICENSE,sha256=kz4coTxZxuGxisK3W00tjK57Zh3RcMGq-EnbXrK7-xA,1064
|
|
10
|
+
jmcomic-2.0.6.dist-info/METADATA,sha256=Z5Y8dqt71_btU09Lqi2MaS_LlKqzYdCs9BbLzK0bPTI,3633
|
|
11
|
+
jmcomic-2.0.6.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
|
|
12
|
+
jmcomic-2.0.6.dist-info/top_level.txt,sha256=puvVMFYJqIbd6NOTMEvOyugMTT8woBfSQyxEBan3zY4,8
|
|
13
|
+
jmcomic-2.0.6.dist-info/RECORD,,
|
jmcomic-2.0.5.dist-info/RECORD
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
jmcomic/__init__.py,sha256=qnuVj0MGkNleKmttLcoNNehDuidbzNInRhmRgzseHZA,159
|
|
2
|
-
jmcomic/api.py,sha256=iXmXyLKWMUBtehLurKoTP-lr_Q7b-lA7Eg7BTYphLNk,4867
|
|
3
|
-
jmcomic/jm_client_impl.py,sha256=FaBmRyEncXNfSwS3jPV-4DboRck4DD53JUhmrLRU9p0,10552
|
|
4
|
-
jmcomic/jm_client_interface.py,sha256=AD-v7ZJ7C5uWYBlfdRdT7vMq8dELlVuTa8ekBSK7xPU,5734
|
|
5
|
-
jmcomic/jm_config.py,sha256=vACMrVO_zbdA2aFxKAEB8CNtdUXM7zsvePpqeOqsNC0,4582
|
|
6
|
-
jmcomic/jm_entity.py,sha256=xK0NJaA3C5noTQQXmnoFA-Ln3gqmbMlR7p4aRgBHbuw,9152
|
|
7
|
-
jmcomic/jm_option.py,sha256=PLBThV_3Sjzt-1daCYIcbRVvS-7iVC5qCy_BmLB8mxc,9298
|
|
8
|
-
jmcomic/jm_toolkit.py,sha256=hUBdP3BERsRMuCBg1fKjYO4PVE5VBMOv3OJ1x07qr2U,11284
|
|
9
|
-
jmcomic-2.0.5.dist-info/LICENSE,sha256=kz4coTxZxuGxisK3W00tjK57Zh3RcMGq-EnbXrK7-xA,1064
|
|
10
|
-
jmcomic-2.0.5.dist-info/METADATA,sha256=iJrZ2F0uLxPVXdOnrxi017n4XCOOzZ8qCcXZgnyamrA,3633
|
|
11
|
-
jmcomic-2.0.5.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
|
|
12
|
-
jmcomic-2.0.5.dist-info/top_level.txt,sha256=puvVMFYJqIbd6NOTMEvOyugMTT8woBfSQyxEBan3zY4,8
|
|
13
|
-
jmcomic-2.0.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|