--- hooks.py.orig 2011-04-01 18:04:09.000000000 +0200 +++ hooks.py 2011-04-01 18:04:09.000000000 +0200 @@ -140,4 +140,14 @@ """ pass + @call_hooks + def on_episode_downloaded(self, episode): + """Called after an episode is downloaded + + This hook will be called when a new episode is downloaded + to the disk. + + @param episode: A gpodder.model.PodcastEpisode instance + """ + pass --- model.py.orig 2011-04-01 18:04:21.000000000 +0200 +++ model.py 2011-04-01 18:04:21.000000000 +0200 @@ -863,6 +863,10 @@ self.total_time = length self.db.save_episode(self) self.db.commit() + + if gpodder.user_hooks is not None: + gpodder.user_hooks.on_episode_downloaded(self) + return except Exception, e: log('Error while detecting media length: %s', str(e), \ @@ -871,6 +875,9 @@ self.db.save_downloaded_episode(self) self.db.commit() + if gpodder.user_hooks is not None: + gpodder.user_hooks.on_episode_downloaded(self) + def set_state(self, state): self.state = state self.db.update_episode_state(self)