Updates as per Thomas' comments Jul 3rd 2012

This commit is contained in:
Joseph Wickremasinghe 2012-07-07 14:41:56 -07:00 committed by Thomas Perl
parent 2774142f8f
commit 5b949efba2
7 changed files with 45 additions and 21 deletions

View File

@ -946,7 +946,7 @@
<child type="tab">
<object class="GtkLabel" id="labelDownloads">
<property name="visible">True</property>
<property name="label" translatable="yes">Tasks</property>
<property name="label" translatable="yes">Progress</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="wrap">False</property>

View File

@ -157,9 +157,9 @@ defaults = {
'device_sync': {
# Settings for Device sync
'device_type': 'None',
'device_type': 'none', # Possible values: 'none', 'filesystem'
'device_folder': '/media',
'one_folder_per_podcasts': True,
'one_folder_per_podcast': True,
'skip_played_episodes': True,
'delete_played_episodes': False,
'max_filename_length': 999,

View File

@ -531,6 +531,9 @@ class DownloadTask(object):
STATUS_MESSAGE = (_('Added'), _('Queued'), _('Downloading'),
_('Finished'), _('Failed'), _('Cancelled'), _('Paused'))
(INIT, QUEUED, DOWNLOADING, DONE, FAILED, CANCELLED, PAUSED) = range(7)
(ACTIVITY_DOWNLOAD, ACTIVITY_SYNCHRONIZE) = range(2)
def __str__(self):
return self.__episode.title
@ -554,6 +557,15 @@ class DownloadTask(object):
status_changed = property(fget=__get_status_changed)
def __get_activity(self):
return self.__activity
def __set_activity(self, activity):
self.__activity = activity
activity = property(fget=__get_activity, fset=__set_activity)
def __get_url(self):
return self.__episode.url
@ -580,6 +592,7 @@ class DownloadTask(object):
def __init__(self, episode, config):
assert episode.download_task is None
self.__status = DownloadTask.INIT
self.__activity=DownloadTask.ACTIVITY_DOWNLOAD
self.__status_changed = True
self.__episode = episode
self._config = config

View File

@ -84,8 +84,8 @@ class OnSyncActionList(gtk.ListStore):
gtk.ListStore.__init__(self, str, bool, bool)
self._config = config
self.append((_('Do nothing'), False, False))
self.append((_('Mark it as played'), False, True))
self.append((_('Delete it from gPodder'), True, False))
self.append((_('Mark as played'), False, True))
self.append((_('Delete from gPodder'), True, False))
def get_index(self):
for index, row in enumerate(self):
@ -371,10 +371,11 @@ class gPodderPreferences(BuilderWidget):
def on_combobox_device_type_changed(self, widget):
index = self.combobox_device_type.get_active()
self.device_type_model.set_index(index)
if index == 0:
device_type = self._config.device_sync.device_type
if device_type == 'none':
self.btn_filesystemMountpoint.set_label('')
self.btn_filesystemMountpoint.set_sensitive(False)
if index == 1: #JOSEPH: add back in ipod & mtp support
elif device_type == 'filesystem': #JOSEPH: add back in ipod & mtp support
self.btn_filesystemMountpoint.set_label(self._config.device_sync.device_folder)
self.btn_filesystemMountpoint.set_sensitive(True)

View File

@ -132,8 +132,8 @@ class gPodderSyncUI(object):
if total_size > free_space:
title = _('Not enough space left on device')
message = _('You need to free up %s.\nDo you want to continue?') \
% (util.format_filesize(total_size-free_space),)
message = (_('Additional free space required: %(required_space)s\nDo you want to continue?') %
{'required_space': util.format_filesize(total_size - free_space)})
if not self.show_confirmation(message, title):
device.cancel()
device.close()

View File

@ -1081,7 +1081,7 @@ class gPodder(BuilderWidget, dbus.service.Object):
self.download_status_model.request_update(row.iter)
task = row[self.download_status_model.C_TASK]
speed, size, status, progress, activity = task.speed, task.total_size, task.status, task.progress, type(task).__name__
speed, size, status, progress, activity = task.speed, task.total_size, task.status, task.progress, task.activity
# Let the download task monitors know of changes
for monitor in self.download_task_monitors:
@ -1096,10 +1096,10 @@ class gPodder(BuilderWidget, dbus.service.Object):
download_tasks_seen.add(task)
if (status == download.DownloadTask.DOWNLOADING and activity=='DownloadTask'):
if (status == download.DownloadTask.DOWNLOADING and activity==download.DownloadTask.ACTIVITY_DOWNLOAD):
downloading += 1
total_speed += speed
elif (status == download.DownloadTask.DOWNLOADING and activity=='SyncTask'):
elif (status == download.DownloadTask.DOWNLOADING and activity==download.DownloadTask.ACTIVITY_SYNCHRONIZE):
synchronizing+=1
elif status == download.DownloadTask.FAILED:
failed += 1
@ -1115,7 +1115,7 @@ class gPodder(BuilderWidget, dbus.service.Object):
# Remember which tasks we have seen after this run
self.download_tasks_seen = download_tasks_seen
text = [_('Tasks')]
text = [_('Progress')]
if downloading + failed + queued + synchronizing > 0:
s = []
if downloading > 0:

View File

@ -40,19 +40,19 @@ try:
import gpod
except:
gpod_available = False
logger.warning('(gpodder.sync) Could not find gpod')
logger.warning('Could not find gpod')
pymtp_available = True
try:
import gpodder.gpopymtp as pymtp
except:
pymtp_available = False
logger.warning('(gpodder.sync) Could not load gpopymtp (libmtp not installed?).')
logger.warning('Could not load gpopymtp (libmtp not installed?).')
try:
import eyeD3
except:
logger.warning( '(gpodder.sync) Could not find eyeD3')
logger.warning( 'Could not find eyeD3')
import os.path
import glob
@ -191,7 +191,7 @@ class Device(services.ObservableService):
logger.warning('Not syncing disks. Unmount your device before unplugging.')
return True
def add_sync_tasks(self,tracklist=[], force_played=False):
def add_sync_tasks(self,tracklist, force_played=False):
for track in list(tracklist):
# Filter tracks that are not meant to be synchronized
@ -497,7 +497,7 @@ class MP3PlayerDevice(Device):
def add_track(self, episode,reporthook=None):
self.notify('status', _('Adding %s') % episode.title.decode('utf-8', 'ignore'))
if self._config.device_sync.one_folder_per_podcasts:
if self._config.device_sync.one_folder_per_podcast:
# Add channel title as subfolder
folder = episode.channel.title
# Clean up the folder name for use on limited devices
@ -594,7 +594,7 @@ class MP3PlayerDevice(Device):
def get_all_tracks(self):
tracks = []
if self._config.one_folder_per_podcasts:
if self._config.one_folder_per_podcast:
files = glob.glob(os.path.join(self.destination, '*', '*'))
else:
files = glob.glob(os.path.join(self.destination, '*'))
@ -605,7 +605,7 @@ class MP3PlayerDevice(Device):
timestamp = util.file_modification_timestamp(filename)
modified = util.format_date(timestamp)
if self._config.one_folder_per_podcasts:
if self._config.one_folder_per_podcast:
podcast_name = os.path.basename(os.path.dirname(filename))
else:
podcast_name = None
@ -624,7 +624,7 @@ class MP3PlayerDevice(Device):
self.notify('status', _('Removing %s') % track.title)
util.delete_file(track.filename)
directory = os.path.dirname(track.filename)
if self.directory_is_empty(directory) and self._config.one_folder_per_podcasts:
if self.directory_is_empty(directory) and self._config.one_folder_per_podcast:
try:
os.rmdir(directory)
except:
@ -871,6 +871,7 @@ class SyncTask(DownloadTask):
_('Finished'), _('Failed'), _('Cancelled'), _('Paused'))
(INIT, QUEUED, DOWNLOADING, DONE, FAILED, CANCELLED, PAUSED) = range(7)
def __str__(self):
return self.__episode.title
@ -900,6 +901,14 @@ class SyncTask(DownloadTask):
return False
status_changed = property(fget=__get_status_changed)
def __get_activity(self):
return self.__activity
def __set_activity(self, activity):
self.__activity = activity
activity = property(fget=__get_activity, fset=__set_activity)
def __get_url(self):
return "Test Ep URL"
@ -927,6 +936,7 @@ class SyncTask(DownloadTask):
def __init__(self,episode):
self.__status = SyncTask.INIT
self.__activity=SyncTask.ACTIVITY_SYNCHRONIZE
self.__status_changed = True
self.__episode = episode