Refactor is_locked -> archive in PodcastEpisode

This commit is contained in:
Thomas Perl 2011-02-26 16:48:48 +01:00
parent ea02c40e08
commit 199874ca35
7 changed files with 25 additions and 32 deletions

View File

@ -199,8 +199,8 @@ class gPodderEpisodeActions(BuilderWidget):
if self.episode.total_time > 0:
play_button.set_title(self.action_play.props.label)
keep_button.set_active(self.episode.is_locked)
self.new_keep_value = self.episode.is_locked
keep_button.set_active(self.episode.archive)
self.new_keep_value = self.episode.archive
self.action_delete.set_sensitive(not self.new_keep_value)
@ -288,7 +288,7 @@ class gPodderEpisodeActions(BuilderWidget):
self.episode.is_new:
self.episode.mark(is_played=True)
changed = True
if self.new_keep_value != self.episode.is_locked:
if self.new_keep_value != self.episode.archive:
self.episode.mark(is_locked=self.new_keep_value)
changed = True

View File

@ -157,7 +157,7 @@ class gPodderEpisodes(BuilderWidget):
episode = model.get_value(model.get_iter(path), \
EpisodeListModel.C_EPISODE)
self.action_delete.set_property('visible', not episode.is_locked)
self.action_delete.set_property('visible', not episode.archive)
if episode.was_downloaded():
self.action_keep.set_property('visible', True)
@ -168,7 +168,7 @@ class gPodderEpisodes(BuilderWidget):
self.touched_episode = None
self.action_keep.set_active(episode.is_locked)
self.action_keep.set_active(episode.archive)
self.action_mark_as_old.set_active(episode.is_new)
self.touched_episode = episode
@ -190,7 +190,7 @@ class gPodderEpisodes(BuilderWidget):
def on_keep_button_clicked(self, widget):
if self.touched_episode is not None:
self.touched_episode.mark(is_locked=not self.touched_episode.is_locked)
self.touched_episode.mark(is_locked=not self.touched_episode.archive)
self.episode_list_status_changed([self.touched_episode])
def on_mark_as_old_button_clicked(self, widget):

View File

@ -120,11 +120,11 @@ class EpisodeListModel(gtk.GenericTreeModel):
file_type = episode.file_type()
if file_type == 'audio':
status_icon = self.ICON_AUDIO_FILE
if episode.is_locked:
if episode.archive:
status_icon += '-locked'
elif file_type == 'video':
status_icon = self.ICON_VIDEO_FILE
if episode.is_locked:
if episode.archive:
status_icon += '-locked'
elif file_type == 'image':
status_icon = self.ICON_IMAGE_FILE
@ -160,7 +160,7 @@ class EpisodeListModel(gtk.GenericTreeModel):
elif column == self.C_TIME_VISIBLE:
return episode.total_time
elif column == self.C_LOCKED:
return episode.is_locked and \
return episode.archive and \
episode.state == gpodder.STATE_DOWNLOADED and \
episode.file_exists()

View File

@ -272,7 +272,7 @@ class EpisodeListModel(gtk.ListStore):
episode.get_play_info_string(), \
episode.total_time and not episode.current_position, \
episode.total_time and episode.current_position, \
episode.is_locked))
episode.archive))
self.update_by_iter(iter, downloading, include_description, \
reload_from_db=False)
@ -333,7 +333,7 @@ class EpisodeListModel(gtk.ListStore):
view_show_downloaded = True
view_show_unplayed = episode.is_new
show_bullet = episode.is_new
show_padlock = episode.is_locked
show_padlock = episode.archive
show_missing = not episode.file_exists()
filename = episode.local_filename(create=False, check_only=True)
@ -402,7 +402,7 @@ class EpisodeListModel(gtk.ListStore):
self.C_TOOLTIP, tooltip, \
self.C_TIME, episode.get_play_info_string(), \
self.C_TIME_VISIBLE, episode.total_time, \
self.C_LOCKED, episode.is_locked, \
self.C_LOCKED, episode.archive, \
self.C_FILESIZE_TEXT, self._format_filesize(episode), \
self.C_FILESIZE, episode.file_size)

View File

@ -1801,7 +1801,7 @@ class gPodder(BuilderWidget, dbus.service.Object):
if event.button == self.context_menu_mouse_button:
episodes = self.get_selected_episodes()
any_locked = any(e.is_locked for e in episodes)
any_locked = any(e.archive for e in episodes)
any_played = any(not e.is_new for e in episodes)
one_is_new = any(e.state == gpodder.STATE_NORMAL and e.is_new for e in episodes)
downloaded = all(e.was_downloaded(and_exists=True) for e in episodes)
@ -2180,7 +2180,7 @@ class gPodder(BuilderWidget, dbus.service.Object):
if episode.was_downloaded():
can_play = episode.was_downloaded(and_exists=True)
is_played = not episode.is_new
is_locked = episode.is_locked
is_locked = episode.archive
if not can_play:
can_download = True
else:
@ -2867,8 +2867,8 @@ class gPodder(BuilderWidget, dbus.service.Object):
def get_expired_episodes(self):
for channel in self.channels:
for episode in channel.get_downloaded_episodes():
# Never consider locked episodes as old
if episode.is_locked:
# Never consider archived episodes as old
if episode.archive:
continue
# Never consider fresh episodes as old
@ -2892,7 +2892,7 @@ class gPodder(BuilderWidget, dbus.service.Object):
return False
if skip_locked:
episodes = [e for e in episodes if not e.is_locked]
episodes = [e for e in episodes if not e.archive]
if not episodes:
title = _('Episodes are locked')
@ -2931,7 +2931,7 @@ class gPodder(BuilderWidget, dbus.service.Object):
episodes_status_update = []
for idx, episode in enumerate(episodes):
progress.on_progress(float(idx)/float(len(episodes)))
if episode.is_locked and skip_locked:
if episode.archive and skip_locked:
log('Not deleting episode (is locked): %s', episode.title)
else:
log('Deleting episode: %s', episode.title)
@ -2988,7 +2988,7 @@ class gPodder(BuilderWidget, dbus.service.Object):
for channel in channels:
for episode in channel.get_downloaded_episodes():
# Disallow deletion of locked episodes that still exist
if not episode.is_locked or not episode.file_exists():
if not episode.archive or not episode.file_exists():
episodes.append(episode)
selected = [not e.is_new or not e.file_exists() for e in episodes]
@ -3029,7 +3029,7 @@ class gPodder(BuilderWidget, dbus.service.Object):
def on_item_toggle_lock_activate(self, widget, toggle=True, new_value=False):
for episode in self.get_selected_episodes():
if toggle:
episode.mark(is_locked=not episode.is_locked)
episode.mark(is_locked=not episode.archive)
else:
episode.mark(is_locked=new_value)
self.on_selected_episodes_status_changed()

View File

@ -112,6 +112,7 @@ class PodcastEpisode(PodcastModelObject):
raise Exception('Property is deprecated!')
is_played = property(fget=_deprecated, fset=_deprecated)
is_locked = property(fget=_deprecated, fset=_deprecated)
def _get_podcast_id(self):
return self.channel.id
@ -265,7 +266,8 @@ class PodcastEpisode(PodcastModelObject):
def __init__(self, channel):
self.db = channel.db
# Used by Storage for faster saving
self.channel = channel
self.id = None
self.url = ''
self.title = ''
@ -274,7 +276,6 @@ class PodcastEpisode(PodcastModelObject):
self.guid = ''
self.description = ''
self.link = ''
self.channel = channel
self.published = 0
self.download_filename = None
@ -290,14 +291,6 @@ class PodcastEpisode(PodcastModelObject):
# Timestamp of last playback time
self.last_playback = 0
def get_is_locked(self):
return self.archive
def set_is_locked(self, is_locked):
self.archive = 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
@ -326,7 +319,7 @@ class PodcastEpisode(PodcastModelObject):
if is_played is not None:
self.is_new = not is_played
if is_locked is not None:
self.is_locked = is_locked
self.archive = is_locked
self.db.update_episode_state(self)
def age_in_days(self):

View File

@ -57,7 +57,7 @@ class Matcher(object):
elif k == 'played':
return not episode.is_new
elif k == 'archive':
return episode.is_locked
return episode.archive
elif k in ('finished', 'fin'):
return episode.is_finished()
elif k in ('video', 'audio'):