File tree Expand file tree Collapse file tree 1 file changed +9
-4
lines changed
Expand file tree Collapse file tree 1 file changed +9
-4
lines changed Original file line number Diff line number Diff line change @@ -233,16 +233,21 @@ def get_new_episodes(self, channel):
233233
234234 def _get_new_episodes (self , channel , track_type ):
235235 tracks = [t for t in self .sc_user .get_tracks (track_type , channel )]
236-
237- existing_guids = [episode .guid for episode in channel .episodes ]
236+ existing_guids = dict ((episode .guid , episode ) for episode in channel .episodes )
238237 seen_guids = [track ['guid' ] for track in tracks ]
239238 new_episodes = []
240239
241240 for track in tracks :
242- if track ['guid' ] not in existing_guids :
241+ episode = existing_guids .get (track ['guid' ])
242+
243+ if not episode :
243244 episode = channel .episode_factory (track .items ())
244- episode .save ()
245245 new_episodes .append (episode )
246+ logger .info ('Found new episode: %s' , episode .guid )
247+ else :
248+ episode .update_from_dict (track )
249+ logger .info ('Updating existing episode: %s' , episode .guid )
250+ episode .save ()
246251
247252 return new_episodes , seen_guids
248253
You can’t perform that action at this time.
0 commit comments