@@ -151,6 +151,7 @@ class __minidb_defaults__:
151151 current_position = 0
152152 current_position_updated = 0
153153 last_playback = 0
154+ episode_art_url = ''
154155
155156 def __init__ (self , channel ):
156157 self ._parent = channel
@@ -468,12 +469,10 @@ def update_from_dict(self, episode_dict):
468469 @property
469470 def art_file (self ):
470471 if self .episode_art_url :
471- filename = self .guid
472- try :
473- url = urlparse (self .episode_art_url )
474- filename = os .path .basename (url .path )
475- except Exception :
476- logger .debug ('urlparse failed for episode_art_url: %s' , self .episode_art_url )
472+ filename , extension = util .filename_from_url (self .episode_art_url )
473+
474+ if not filename :
475+ filename = hashlib .sha512 (self .episode_art_url .encode ('utf-8' )).hexdigest ()
477476
478477 return os .path .join (self .podcast .save_dir , filename )
479478 return None
@@ -569,16 +568,14 @@ def check_download_folder(self):
569568
570569 known_files .add (filename )
571570
572- if self .cover_file != 'folder' :
573- known_files .add (os .path .join (self .save_dir , self .cover_file ))
574- else :
575- known_files .update (os .path .join (self .save_dir , 'folder' + ext )
576- for ext in coverart .CoverDownloader .EXTENSIONS )
571+ known_files .update (os .path .join (self .cover_file + ext )
572+ for ext in coverart .CoverDownloader .EXTENSIONS )
577573
578574 for episode in self .episodes :
579575 filename = episode .art_file
580576 if filename :
581- known_files .add (os .path .join (self .save_dir , filename ))
577+ known_files .update (os .path .join (episode .art_file + ext )
578+ for ext in coverart .CoverDownloader .EXTENSIONS )
582579
583580 existing_files = {filename for filename in
584581 glob .glob (os .path .join (self .save_dir , '*' ))
@@ -949,14 +946,12 @@ def remove_downloaded(self):
949946
950947 @property
951948 def cover_file (self ):
952- filename = 'folder'
953- try :
954- url = urlparse (self .cover_url )
955- filename = os .path .basename (url .path )
956- except :
957- logger .debug ('urlparse failed for cover_url: %s' , self .cover_url )
958-
959- return os .path .join (self .save_dir , filename )
949+ if self .cover_url :
950+ filename , extension = util .filename_from_url (self .cover_url )
951+ if not filename :
952+ filename = hashlib .sha512 (self .cover_url .encode ('utf-8' )).hexdigest ()
953+ return os .path .join (self .save_dir , filename )
954+ return None
960955
961956
962957class Model (object ):
0 commit comments