@@ -176,8 +176,6 @@ def __init__(self,
176176 plugins : Dict ,
177177 filepath = None ,
178178 ):
179- # 版本号
180- self .version = JmModuleConfig .JM_OPTION_VER
181179 # 路径规则配置
182180 self .dir_rule = DirRule (** dir_rule )
183181 # 客户端配置
@@ -203,16 +201,6 @@ def decide_image_batch_count(self, photo: JmPhotoDetail):
203201 def decide_photo_batch_count (self , album : JmAlbumDetail ):
204202 return self .download .threading .photo
205203
206- def decide_image_save_dir (self , photo ) -> str :
207- # 使用 self.dir_rule 决定 save_dir
208- save_dir = self .dir_rule .decide_image_save_dir (
209- photo .from_album ,
210- photo
211- )
212-
213- mkdir_if_not_exists (save_dir )
214- return save_dir
215-
216204 def decide_album_dir (self , album : JmAlbumDetail ) -> str :
217205 """
218206 该方法目前仅在 plugin-zip 中使用,不建议外部调用
@@ -234,19 +222,40 @@ def decide_album_dir(self, album: JmAlbumDetail) -> str:
234222 from os .path import join
235223 return join (* dir_layer )
236224
237- def decide_image_suffix (self , image : JmImageDetail ):
225+ # noinspection PyMethodMayBeStatic
226+ def decide_image_filename (self , image : JmImageDetail ) -> str :
227+ """
228+ 返回图片的文件名,不包含后缀
229+ 默认返回禁漫的图片文件名,例如:00001 (.jpg)
230+ """
231+ return image .filename_without_suffix
232+
233+ def decide_image_suffix (self , image : JmImageDetail ) -> str :
234+ """
235+ 返回图片的后缀,如果返回的后缀和原后缀不一致,则会进行图片格式转换
236+ """
238237 # 动图则使用原后缀
239238 if image .is_gif :
240239 return image .img_file_suffix
241240
242241 # 非动图,以配置为先
243242 return self .download .image .suffix or image .img_file_suffix
244243
244+ def decide_image_save_dir (self , photo ) -> str :
245+ # 使用 self.dir_rule 决定 save_dir
246+ save_dir = self .dir_rule .decide_image_save_dir (
247+ photo .from_album ,
248+ photo
249+ )
250+
251+ mkdir_if_not_exists (save_dir )
252+ return save_dir
253+
245254 def decide_image_filepath (self , image : JmImageDetail , consider_custom_suffix = True ) -> str :
246255 # 通过拼接生成绝对路径
247256 save_dir = self .decide_image_save_dir (image .from_photo )
248257 suffix = self .decide_image_suffix (image ) if consider_custom_suffix else image .img_file_suffix
249- return os .path .join (save_dir , image . filename_without_suffix + suffix )
258+ return os .path .join (save_dir , self . decide_image_filename ( image ) + suffix )
250259
251260 def decide_download_cache (self , _image : JmImageDetail ) -> bool :
252261 return self .download .cache
@@ -322,7 +331,7 @@ def compatible_with_old_versions(cls, dic):
322331
323332 def deconstruct (self ) -> Dict :
324333 return {
325- 'version' : self . version ,
334+ 'version' : JmModuleConfig . JM_OPTION_VER ,
326335 'log' : JmModuleConfig .flag_enable_jm_log ,
327336 'dir_rule' : {
328337 'rule' : self .dir_rule .rule_dsl ,
@@ -415,7 +424,7 @@ def decide_domain():
415424
416425 client : AbstractJmClient = clazz (
417426 postman = postman ,
418- domain_list = decide_domain () ,
427+ domain_list = domain ,
419428 retry_times = retry_times ,
420429 )
421430
0 commit comments