Updates as per Thomas' comments Jul 3rd 2012
This commit is contained in:
parent
2774142f8f
commit
5b949efba2
|
@ -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>
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in New Issue