From 04680ba8ac1652b08a52c9b91e11be3cefa9c98f Mon Sep 17 00:00:00 2001 From: Thomas Perl Date: Tue, 23 Feb 2010 15:44:17 +0100 Subject: [PATCH] More robust lock counting (bug 874) Thanks to Ville-Pekka Vainio for forwarding this. --- src/gpodder/gui.py | 2 +- src/gpodder/model.py | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/gpodder/gui.py b/src/gpodder/gui.py index ddd9320f..353f0993 100644 --- a/src/gpodder/gui.py +++ b/src/gpodder/gui.py @@ -2640,7 +2640,7 @@ class gPodder(BuilderWidget, dbus.service.Object): title = N_('Remove %d episode?', 'Remove %d episodes?', count) % count message = _('If you remove these episodes, they will be deleted from your computer. If you want to listen to any of these episodes again, you will have to re-download the episodes in question.') - locked_count = sum(int(e.is_locked) for e in episodes if e.is_locked is not None) + locked_count = sum(e.is_locked for e in episodes) if count == locked_count: title = _('Episodes are locked') diff --git a/src/gpodder/model.py b/src/gpodder/model.py index 62599af3..fffdf52c 100644 --- a/src/gpodder/model.py +++ b/src/gpodder/model.py @@ -780,8 +780,19 @@ class PodcastEpisode(PodcastModelObject): self.state = gpodder.STATE_NORMAL self.is_played = False + + # Initialize the "is_locked" property + self._is_locked = False self.is_locked = channel.channel_is_locked + def get_is_locked(self): + return self._is_locked + + def set_is_locked(self, is_locked): + self._is_locked = bool(is_locked) + + is_locked = property(fget=get_is_locked, fset=set_is_locked) + def save(self): if self.state != gpodder.STATE_DOWNLOADED and self.file_exists(): self.state = gpodder.STATE_DOWNLOADED -- 2.11.4.GIT