gpodder/ChangeLog

1998 lines
103 KiB
Plaintext
Raw Normal View History

Sun, 19 Aug 2007 17:14:10 +0200 <thp@perli.net>
+ doc/dev/svncl.sed: Add script to convert "svn status" output to
a ChangeLog entry, this is to move the sed code from the Makefile
* Makefile: Remove inline sed script and refer to svncl.sed from
the "make cl" target
Sun, 19 Aug 2007 16:24:39 +0200 <thp@perli.net>
! New "opml" module that introduces shiny DOM-based OPML support
* Makefile: Very cool "make cl" improvements with support for file
additions, deletions and sorting of the resulting file list :)
* src/gpodder/gui.py: Use the new "opml" module instead of the old
libopml* modules when importing and exporting OPML files
- src/gpodder/libopmlreader.py: Removed (replaced by opml.py)
- src/gpodder/libopmlwriter.py: Removed (replaced by opml.py)
+ src/gpodder/opml.py: New OPML support module that uses DOM for
reading and writing OPML (1.1) files; this should improve stability
and performance and also make room for more improvements later on
Sun, 19 Aug 2007 14:57:50 +0200 <thp@perli.net>
! Some re-factoring to simplify our codebase: podcastChannel and OPML
* src/gpodder/libpodcasts.py: Remove unnecessary constructor params
in podcastItem (not used right now); replace getSize() with a call
to util.format_filesize(); remove opmlChannel class
* src/gpodder/libopmlreader.py: use a dict instead of opmlChannel
* src/gpodder/gui.py: remove import statement for podcastItem
Sun, 19 Aug 2007 09:21:44 +0200 <thp@perli.net>
* src/gpodder/libpodcasts.py: Submit modified patch from Richard
Voigt (richardvoigt gmail com) to fix an error with invalid data
channel covers (e.g. a 404 HTML page at the URL of the real image)
Will now fall back to the "globe" icon when channel icon fails to
load
Sun, 19 Aug 2007 08:46:27 +0200 <thp@perli.net>
* src/gpodder/libipodsync.py: Fix error with empty episode title
detection, thanks to Wilfred van Rooijen (wvanrooijen yahoo.com)
for reporting this issue :) .. and sorry for not getting it right
the first time..
Tue, 14 Aug 2007 03:51:19 +0200 <thp@perli.net>
* src/gpodder/libgpodder.py: Indentation fixed, sorry :)
Mon, 13 Aug 2007 23:51:40 +0200 <thp@perli.net>
* src/gpodder/libgpodder.py: Use new subprocess module for opening
episodes for playback (media player), add error reporting to
playback_episode() function so we can detect not available players,
like "gnome-open" in the inital config (thanks to Richard Voigt
<richardvoigt gmail.com> for reporting this error + suggestions)
* src/gpodder/gui.py: Add GUI support for error reporting on episode
playback error (when command is not available, etc..)
Mon, 13 Aug 2007 22:55:29 +0200 <thp@perli.net>
* src/gpodder/libipodsync.py: If episode titles are bad (empty or
plainly consisting of not allowed chars), we are using a hashed
filename, based on the URL (this is the same as the filename in the
gPodder download directory); this fixes a bug with BUGGY(!!) RSS
feeds that don't have episode titles in their feeds
Thanks to Wilfred van Rooijen <wvanrooijen yahoo.com> for reporting
this bug!
Fri, 10 Aug 2007 14:57:47 +0200 <thp@perli.net>
* src/gpodder/libpodcasts.py: Catch error when the
"applications-internet" icon is not available in the default icon
theme and use no icon instead if it's not available; this fixes
an error with a broken channel list; thanks to Richard Voigt
(richardvoigt gmail com) for reporting this bug and help tracking
down the problem
* src/gpodder/gui.py: Catch error when using an older PyGTK version
that doesn't support the "alignment" property of CellRendererText
Thu, 09 Aug 2007 13:27:18 +0200 <thp@perli.net>
* src/gpodder/libipodsync.py: I shouldn't write code with my brain
switched off. (Added return statement for add_episode_from_channel()
to libipodsync to fix a stupid error with only one episode being
synchronized during a sync run. Thanks to nikosapi for reporting.)
Tue, 07 Aug 2007 20:06:49 +0200 <thp@perli.net>
* src/gpodder/util.py: New "misc utility functions" module that
combines all utility functions that are independend of the rest of
gPodder; includes full documentation strings and renamed, fixed
function code to be better maintainable; new utility functions
should be placed in this module in the future
* src/gpodder/lib*.py: Clean-up files to use the new "gpodder.util"
module where appropriate, remove unnecessary functions
* src/gpodder/console.py: Utilize new gpodder.util module
* src/gpodder/gpodder.py: Renamed to "gui.py" to fix ambigous imports
(relative vs. absolute imports; module shouldn't be named like the
package it resides in)
* src/gpodder/gui.py: This is the new module name for gPodder's GUI
* bin/gpodder: Use "gpodder.gui" instead of "gpodder.gpodder";
pushed svn release version + date
* Makefile: Generate gui.py instead of gpodder.py with tepache
Tue, 24 Jul 2007 21:02:01 +0200 <thp@perli.net>
* src/gpodder/libwget.py: Fix a bug in the download queue code that
would block the slots in the download queue when a currently-queued
download is cancelled before it has a chance to start the download;
this is fixed by simply aborting and de-registering the thread in
case the download is cancelled after acquiring the download queue
semaphore (should work now without problems :)
Tue, 24 Jul 2007 20:40:35 +0200 <thp@perli.net>
* src/gpodder/libwget.py: Add count() function to downloadStatusManager
* src/gpodder/gpodder.py: New download_status_updated callback
function that updates the caption for the downloads tab to include
the number of files currently being downloaded (i.e. "Downloads (2)")
* data/gpodder.glade: Update label for downloads tab for above changes
Sun, 22 Jul 2007 23:39:50 +0200 <thp@perli.net>
* src/gpodder/libipodsync.py: Apply patch from Nick (nikosapi)
to fix an issue with the wrong python-id3 library being used
for per-episode cover art
* bin/gpodder: We're in development again (svn version)
Sat, 21 Jul 2007 12:31:14 +0200 <thp@perli.net>
* README: ** gPodder 0.9.4 released **
* doc/man/gpodder.1: Updated manpage for release
* TODO: Updated TODO list for release
* bin/gpodder: Pushed version to 0.9.4; new release date
* data/messages.pot: Re-generated on release
* data/po/*.po: Re-generated on release
Fri, 20 Jul 2007 20:27:40 +0200 <thp@perli.net>
* data/gpodder.desktop: Added Ukrainian .desktop file translation
by Mykola Nikishov <mn mn.com.ua>
* data/po/uk.po: Updated Ukrainian translation by Mykola Nikishov
* bin/gpodder: Pushed version + release date
Thu, 19 Jul 2007 14:38:19 +0200 <thp@perli.net>
! Support for HTTP/FTP username/password authentication, mostly
written by Nick <nikosapi gmail.com> with some corrections from thp
* src/gpodder/libwget.py: Refactor wget command line
generation and add support for HTTP/FTP authentication
* src/gpodder/liblocdbreader.py: Add support for HTTP/FTP
authentication by reading username/password from localdb
* src/gpodder/libpodcasts.py: Password obfuscation, loading
and saving of passwords; bugfix from Nick (nikosapi gmail.com)
for zero-length channel cover files
* src/gpodder/liblocdbwriter.py: Save username/password from
channel in localdb file
* src/gpodder/libgpodder.py: Add "get_auth_data" function that
extracts the username/password pair from a URL (or None, None
when there is no authentication data in the URL)
* src/gpodder/gpodder.py: On channel add, ask if the user wants
to save username/password for downloading episodes if there is
authentication data in the added URL; added support code for
username/password in gPodderChannel dialog handling code
* data/gpodder.glade: Username/password entry boxes for channel
Sun, 15 Jul 2007 15:05:52 +0200 <thp@perli.net>
* data/po/nl.po: Updated Dutch translation from Roel
Groeneveld <roel roelgroeneveld.com>
Sun, 15 Jul 2007 13:20:09 +0200 <thp@perli.net>
* TODO: Updated TODO list (translations)
Sat, 14 Jul 2007 13:06:19 +0200 <thp@perli.net>
* data/messages.pot: Refreshed POT file to new strings
* data/po/*.po: Refreshed PO files to new strings
* data/po/de.po: Updated German translation
Sat, 14 Jul 2007 12:47:10 +0200 <thp@perli.net>
* data/po/uk.po: New Ukrainian translation by
Mykola Nikishov <mn mn.com.ua>
* setup.py: Add "uk" to list of languages to install
Thu, 12 Jul 2007 15:49:21 +0200 <thp@perli.net>
* src/gpodder/libipodsync.py: Add support for error reporting by
adding a "errors" list to gPodderSyncMethod; make errors in the
file copying method cancel the sync process; this fixes an error
when the output file cannot be acessed or a disk full error
happens; thanks to Mykola Nikishov <mn mn.com.ua> for reporting
this error via the Debian BTS (fixes Debian bug #432805)
* src/gpodder/gpodder.py: GUI support for displaying error messages
after a sync error happened
* bin/gpodder: Pushed version + release date
Thu, 12 Jul 2007 15:02:26 +0200 <thp@perli.net>
* src/gpodder/gpodder.py.orig: Re-generated from tepache so we don't
get an error when doing "make generators"
Wed, 11 Jul 2007 20:27:21 +0200 <thp@perli.net>
* src/gpodder/gpodder.py: Fix some race condition but that could
possibly overwrite existing channels
* data/gpodder.glade: Make the gPodderChannel editor dialog modal
Wed, 11 Jul 2007 20:09:03 +0200 <thp@perli.net>
* src/gpodder/libpodcasts.py: Add description field to opmlChannel
* src/gpodder/libgpodder.py: Default OPML directory URL changed from
Opml.org's top Podcasts to gPodder's own podcast directory :)
* src/gpodder/libopmlreader.py: Add description of channel to the
data model if possible, so we can display it in the new chooser
* src/gpodder/gpodder.py: Improved the OPML channel importer and
added the ability to directly load another OPML URL into the
importer; make the OPML URL reading threaded, so we have a non-
blocking GUI; only ask for new episodes once (after all OPML channels
have been added)
* data/gpodder.glade: Re-designed the OPML import dialog and moved
around the "Import OPML from web" menu item
Wed, 11 Jul 2007 12:59:53 +0200 <thp@perli.net>
* src/gpodder/libgpodder.py: New configuration defaults for new
installations: Use environment for proxy, download new episodes
after feed cache update, display channel navigator by default
* src/gpodder/gpodder.py: Fix some bugs with empty channel lists;
notify user of already-added channels; adapt the "add channel"
functionality for the new GUI; make editing channels work more
reliably (revert to old list if new channel URL cannot be fetched);
huge clean-up of the Gpodderchannel class
* bin/gpodder: Pushed version + release date
* data/gpodder.glade: Slipstream the gPodderChannel UI dialog and
add a channel URL adding entry + "add" button to the channel
navigator, adding channels is now done using these widgets
Sat, 07 Jul 2007 17:01:59 +0200 <thp@perli.net>
* src/gpodder/libipodsync.py: Added support for the new time_t
type of the "track_released" field from libgpod. This adds
support for libgpod >= 0.5.0 (Python bindings). Thanks to
Todd Zullinger (tmz pobox.com) from the gpod-devel mailing
list for suggesting this check and also thanks to Götz Waschk
(goetz.waschk gmail.com) for initially reporting this problem
* bin/gpodder: Pushed version + release date
Thu, 05 Jul 2007 22:59:19 +0200 <thp@perli.net>
! The channel navigator is here :) Suggested by Carlos. Enjoy.
* src/gpodder/libpodcasts.py: New function get_new_episodes() that
returns a list of episodes that are considered "new"; rework the
channelsToModel() function to incorporate information that is
needed for the new channel navigator
* src/gpodder/libgpodder.py: New configuration options:
paned_position .... width (in pixels) of channel navigator
default_new ....... number of episodes considered "new" for
new channels
also added maximum size for cover image (currently 400x400) and
made the cover loading functions more thread-compatible by using
gobject.idle_add()
* src/gpodder/librssreader.py: Use channel's URL as its description
if there is no channel description after parsing has finished
* src/gpodder/gpodder.py: Full support for new channel navigator,
including setup of new channel treeview, updated combobox, link
for combobox<->treeview (channels), use the get_new_episodes()
function wherever new episodes have to be searched and displayed;
escape channel and episode titles so there are no problems with
ampersands (&), greater-than (>) and less-than (<) characters;
fix some stupid code parts in gPodderChannel class code
* data/gpodder.glade: Updated main interface for channel navigator,
ellipsize headings in episode info window
* bin/gpodder: Pushed version + release date
Mon, 02 Jul 2007 22:05:13 +0200 <thp@perli.net>
* src/gpodder/libwget.py: Set number of download retries
from infinite to the wget default setting, so we will
finally arrive at an error in case the server has probs;
thanks to Mykola Nikishov (mn at mn.com.ua) for reporting
this bug and submitting the patch on the Debian BTS
Mon, 02 Jul 2007 22:00:47 +0200 <thp@perli.net>
* src/gpodder/librssreader.py: Patched the RSS reader to
set the podcast title to some sane default in case the
title tag is missing from the RSS file (invalid RSS!);
thanks to Holger Leskien (holger at leskien.com) for
reporting this bug on the Debian BTS
* bin/gpodder: Version + release date bump (development)
Thu, 28 Jun 2007 12:30:01 +0200 <thp@perli.net>
* TODO: Updated TODO list
Mon, 25 Jun 2007 22:55:28 +0200 <thp@perli.net>
* README: ** gPodder 0.9.3 released **
* doc/man/gpodder.1: Updated manpage for gPodder 0.9.3
* bin/gpodder: Update version + release date for 0.9.3
Thu, 21 Jun 2007 16:13:56 +0200 <thp@perli.net>
* Makefile: Add support for creating a translations tarball
Thu, 21 Jun 2007 16:03:42 +0200 <thp@perli.net>
* data/messages.pot: Re-generated messages.pot with new strings
* data/po/*.po: Updated translations from Launchpad.net Rosetta
* bin/gpodder: Version + release date push
Tue, 19 Jun 2007 19:38:38 +0200 <thp@perli.net>
* TODO: Updated TODO list (skip button for channel refetch)
Mon, 11 Jun 2007 08:01:23 +0200 <thp@perli.net>
* src/gpodder/libopmlreader.py: Import liblogger's log() function,
thanks to Nick (nikosapi) for reporting
Mon, 11 Jun 2007 07:28:00 +0200 <thp@perli.net>
* src/gpodder/libipodsync.py: Re-organized the track length detection
algorithm to prefer mplayer before any other method; this fixes a
bug for enhanced AAC files; thanks to Götz Waschk <goetz.waschk at
gmail.com> for reporting
* bin/gpodder: Version + release date push
Wed, 6 Jun 2007 13:52:52 +0200 <thp@perli.net>
* src/gpodder/console.py: Use urllib.unquote() for URLs that are
printed in the CLI interface, so we don't get a bt when there is a
'%'-escaped URL; thanks to Thomas Matthijs <axxo keanu.be> for
testing the CLI, reporting the bug and suggesting this fix
* src/gpodder/libpodcasts.py: Use urllib.unquote() for error messages
so that there's no problem with '%' in the CLI
* bin/gpodder: Version + release date push
Sun, 3 Jun 2007 15:41:30 +0200 <thp@perli.net>
* src/gpodder/console.py: Fix a problem with URLs containing the "%"
character and Python format strings; thanks go out to Thomas
Matthijs <axxo gentoo.org> for reporting this bug and help fixing it
Fri, 25 May 2007 12:04:20 +0200 <thp@perli.net>
* src/gpodder/gpodder.py: Update the feed cache after everything
else has been changed, so that we now really have a working
update-on-startup option; thanks to Götz Waschk and Stephan Buys
for reporting and helping to fix this long-standing problem :)
Thu, 24 May 2007 16:45:43 +0200 <thp@perli.net>
* src/gpodder/libipodsync.py: Mark strings as translatable
that appear in the GUI (bugfix ;)
* bin/gpodder: We're in development again ("+svn" version)
Wed, 23 May 2007 14:56:56 +0200 <thp@perli.net>
* README: ** gPodder 0.9.2 released **
* bin/gpodder: Updated version + release date for 0.9.2
* doc/man/gpodder.1: Updated manpage for gPodder 0.9.2
* README: Updated README file for gPodder 0.9.2
* TODO: Updated TODO list for 0.9.2 release
Tue, 22 May 2007 22:53:13 +0200 <thp@perli.net>
* data/messages.pot: Updated messages.pot from source code
* data/po/de.po: Updated German translation
* bin/gpodder: pushed version + release date
* TODO: updated TODO list
Mon, 21 May 2007 11:50:56 +0200 <thp@perli.net>
* src/gpodder/libgpodder.py: Add escape_html() function to escape
ampersands, greater-than and less-than characters
* src/gpodder/gpodder.py: Use escape_html() to fix a bug in
the episode info dialog window when the title of the episode
contains one of the special HTML characters
* bin/gpodder: pushed version + release date
Mon, 14 May 2007 21:11:32 +0200 <thp@perli.net>
* TODO: Updated TODO list
Mon, 7 May 2007 22:11:37 +0200 <thp@perli.net>
* data/po/pt.po: Updated Portuguese translation by Joel Calado
Mon, 7 May 2007 21:06:20 +0200 <thp@perli.net>
* data/gpodder.glade: Mark "download to label" placeholder string
as not translatable (thanks to Pieter De Decker for pointing
that out)
* data/messages.pot: Updated template from current source
* data/po/nl.po: Updated Dutch translation (new prefs dialog, ..)
from Pieter De Decker (pdedecker gmail.com)
* data/po/*.po: Refreshed from new source
Sun, 6 May 2007 17:24:49 +0200 <thp@perli.net>
* src/gpodder/libwget.py: Add support for dynamic download queue
resizing; improve support for enabling/disabling download queue
while downloads are in progress
* data/gpodder.glade: Remove info text "download queue changes need
a restart of gpodder", because it's not needed anymore - yay! :)
* TODO: Dynamic Download Queue marked as done :)
Sun, 6 May 2007 15:56:37 +0200 <thp@perli.net>
* data/gpodder.desktop: Added German and Russian translations to the
desktop entry file
Sun, 6 May 2007 14:41:37 +0200 <thp@perli.net>
* src/gpodder/libopmlwriter.py: Write UTF-8 encoded files by default
* src/gpodder/liblocdbwriter.py: Write UTF-8 encoded files by default
* data/po/ru.po: Added Russian translation by Vladimir Zemlyakov
(zemlyakov gmail.com)
* setup.py: Added "ru" to list of languages to install
* bin/gpodder: Pushed vers + rel.date
Sat, 5 May 2007 20:47:33 +0200 <thp@perli.net>
* TODO: Updated TODO list (delete all episodes function)
Sat, 5 May 2007 10:06:58 +0200 <thp@perli.net>
* data/gpodder.glade: Brand new, shiny preferences dialog with
nice structuring, bold headings and icons
* src/gpodder/gpodder.py: Removed "symlink on desktop" code
* TODO: Updated TODO list (translations needed, prefs done)
* bin/gpodder: Pushed version + release date
Thu, 3 May 2007 22:25:47 +0200 <thp@perli.net>
* TODO: Updated TODO list to reflect release goals for the 0.9.2
release
Tue, 1 May 2007 21:58:58 +0200 <thp@perli.net>
* src/gpodder/libwget.py: Implement support for download queue using
a semaphore in the downloadStatusManager class
* src/gpodder/libgpodder.py: Configuration options "max_downloads"
and "max_downloads_enabled" for the download queue
* src/gpodder/gpodder.py: Add support for configuration of the
download queue code (gPodderProperties dialog)
* data/gpodder.glade: Add checkbox + spinbutton for download queue
* TODO: Updated TODO list (download queue done)
* bin/gpodder: Pushed version + release date
Sat, 28 Apr 2007 11:10:18 +0200 <thp@perli.net>
* TODO: Updated TODO list
Sat, 21 Apr 2007 21:23:08 +0200 <thp@perli.net>
* src/gpodder/gpodder.py: Add support for saving podcast episodes
to files (in episode information dialog)
* data/gpodder.glade: Support for saving podcast episodes to files
Sat, 21 Apr 2007 13:10:35 +0200 <thp@perli.net>
! Support for "only sync not-yet-played episodes", written by Nick
<nikosapi gmail.com>
* src/gpodder/libpodcasts.py: Add is_played() function to channel
* src/gpodder/libgpodder.py: Add only_sync_not_played config option
* src/gpodder/libipodsync.py: Add support for syncing only not yet
played episodes; set video podcast flags correctly (fix by Nick)
* src/gpodder/gpodder.py: Add support for sync only unpladed episodes
* data/gpodder.glade: Add check box to preferences dialog for above
* bin/gpodder. Pushed version + release date
Wed, 11 Apr 2007 19:18:50 +0200 <thp@perli.net>
* TODO: Updated TODO list
Mon, 9 Apr 2007 21:31:34 +0200 <thp@perli.net>
! BitTorrent support (mostly done by Nick <nikosapi gmail.com>) and
per-episode download bandwidth throttling (as suggested by Paul
Elliot <omahns.home gmail.com>)
* src/gpodder/libwget.py: Support the --limit-rate option of wget to
enable per-download bandwidth throttling for slow connections
* src/gpodder/libpodcasts.py: Support torrent files, add new method
get_torrent_filename() by Nick (nikosapi gmail.com) that extracts
the "real" filename from torrent files
* src/gpodder/libgpodder.py: Add support for torrents and for download
rate limiting; add get_float_from_parser() and invoke_torrent();
BitTorrent support needs gnome-btdownload
* src/gpodder/gpodder.py: Add support for torrents and rate limiting
* data/gpodder.glade: Add configuration options for torrents and
download rate limiting
* bin/gpodder: Pushed version + release date
* TODO: Added new items
* README: Mention additional dependency on gnome-btdownload if the
user wants direct BitTorrent download support (not needed for the
"copy torrent file" option)
Fri, 6 Apr 2007 20:04:50 +0200 <thp@perli.net>
* src/gpodder/liblocdbwriter.py: Write the item's GUID into the
localdb RSS file so we can resurrect is in case the item gets
removed from the "live" RSS feed; also, only write items to localdb
that really have been downloaded (i.e. the downloaded item exists)
* src/gpodder/libpodcasts.py: re-work the get_all_episodes() method
of the channel to prefer localdb episodes over "new" episodes and
also keep track of GUIDs (this makes it possible to skip already-
downloaded episodes with a different download URL bit same GUID);
then, put everything together and sort by date
* src/gpodder/gpodder.py: Utilize get_all_episodes() function for the
newer episodes search function, so we skip over all episodes that
have the same GUID but different URL (hopefully these changes fix
a problem with subscription-only podcasts that change the episodes
download URL every so often, but keep the GUID the same); this
problem has been reported by Jon (jon sd-6.org)
* bin/gpodder: oh, btw - we're developing away from 0.9.1 again, so
set revision + release date to some svn-ish string again so that
everyone knows we're not 0.9.1 anymore :)
Fri, 6 Apr 2007 19:08:29 +0200 <thp@perli.net>
* src/gpodder/libpodcasts.py: Remove checking of valid url,
because this is now done in librssreader
* src/gpodder/librssreader.py: Only add podcastItem if it has
a valid url (i.e. the "enclosure" tag exists for that item)
thanks to Gerrit Sangel (z0idberg gmx.de) who discovered that
bug when gPodder was looking for new items in the (unfiltered)
episode list
Thu, 5 Apr 2007 09:46:36 +0200 <thp@perli.net>
* README: ** gPodder 0.9.1 released **
* doc/man/gpodder.1: Generated manpage for the 0.9.1 release
* bin/gpodder: Updated version + release date for 0.9.1
* data/messages.pot: Updated data from source files
* data/po/*.po: Updated data from source files
* data/po/de.po: Updated German translation for the 0.9.1 release
Thu, 5 Apr 2007 09:09:01 +0200 <thp@perli.net>
* src/gpodder/libipodsync.py: Only allow alphanumeric, space, dot,
dash and underscore characters when syncing to filesystem-based
MP3 players; this should get rid of a lot of problems with the
restrictions of filesystems; thanks to Johann Uhrmann for bringing
yet another problem with the charset problem to my attention :)
Thu, 5 Apr 2007 07:49:19 +0200 <thp@perli.net>
* src/gpodder/libipodsync.py: Increment playcount from zero to one
if we've played a podcast locally, but playcount is still zero on
iPod
Wed, 4 Apr 2007 18:10:17 +0200 <thp@perli.net>
* data/po/pt.po: Updated Portuguese translation from Joel Calado
(joelcalado gmail.com)
Tue, 3 Apr 2007 16:21:26 +0200 <thp@perli.net>
* data/po/nl.po: Updated Dutch translation from Pieter De Decker
(pdedecker gmail.com)
Tue, 3 Apr 2007 13:43:35 +0200 <thp@perli.net>
* src/gpodder/libpodcasts.py: Only display icon on unplayed items
* src/gpodder/gpodder.py: Rename "Played" column to "New"
* data/gpodder.glade: Rewrite text to display "New/Unplayed" column
Tue, 3 Apr 2007 13:14:02 +0200 <thp@perli.net>
* src/gpodder/liblogger.py: Enhance the log() function to accept a
"sender" keyword argument that contains the object tha sends the
message; the message will be transformed into "(objectclass) message"
* src/gpodder/libpodcasts.py: Add "Played" icon to the model for
played status display; use gtk.STOCK_NEW instead of "document-new"
for new items; mark the latest three items as new if no episodes
have been downloaded so far from this channel; generalize the
DownloadHistory class and derive a PlaybackHistory class from it
* src/gpodder/libgpodder.py: Make use of PlaybackHistory; add config
option "show_played" (disable/enable "Played" column in treeview);
replace openFilename() function with playback_episode() function
that also updates the playback history accordingly
* src/gpodder/libipodsync.py: Synchronize playback state ("blue dot")
to iPod when syncing (also update playback state when episodes is
already on iPod); fixed a small bug that didn't set podcast flags
* src/gpodder/gpodder.py: Make use of new playback_episode function;
add support for the "Played" column (+config disable/enable)
* data/gpodder.glade: Add GtkCheckButton for displaying/hiding the
"Played" column in the available episodes list
* TODO: Updated TODO list (display played episodes task is done now;
mark tag update and search box as partially implemented)
Tue, 3 Apr 2007 08:18:28 +0200 <thp@perli.net>
* src/gpodder/libpodcasts.py: Remove background color code in model;
add icons; add new get_file_type() function to check if an episode
is either audio or video; add full description to liststore model
* src/gpodder/libgpodder.py: Remove code related to configurable
treeview row colors
* src/gpodder/gpodder.py: Remove code for treeview colors; add new
"status" column with icon; set rules hint on treeAvailable to get
alternating tree view row colors (if gtk theme supports it); add
type-to-search capabilities to treeAvailable by providing the
new treeAvailable_search_equal function
* data/gpodder.glade: Remove properties tab for colors
* bin/gpodder: Pushed version + release date
* TODO: Removing background colors is a GoodThing(tm), so we are now
compatible with high contrast themes and dark gtk themes (this has
been a problem with custom cell backgrounds); mark the item as done
Mon, 2 Apr 2007 16:31:46 +0200 <thp@perli.net>
* src/gpodder/gpodder.py: Added some intelligence for enabling and
disabling the "cancel download" toolbar button depending on the
current downloading status (disable when not downloading)
Mon, 2 Apr 2007 14:11:29 +0200 <thp@perli.net>
* src/gpodder/libgpodder.py: Added some sanity checks to get_size()
* src/gpodder/gpodder.py: Implemented a message dialog informing the
user about a failed download directory move operation; thanks to
Andy (apblist speakeasy.net) for suggesting this usability
improvement (in case of write errors, etc..)
Mon, 2 Apr 2007 13:42:21 +0200 <thp@perli.net>
* src/gpodder/libplayers.py: Added /usr/share/applications/kde/ to
list of directories to search for ".desktop" files so that gPodder
will also detect KDE player applications (at least on Gentoo);
thanks to Gerrit Sangel (z0idberg gmx.de) for pointing that out
* bin/gpodder: pushed version + release date
Sun, 1 Apr 2007 19:45:28 +0200 <thp@perli.net>
* src/gpodder/libtagupdate.py: Return false on error
* src/gpodder/libpodcasts.py: Don't set the album tag to "gPodder
podcasts" when tagging downloaded files
* src/gpodder/libgpodder.py: save/restore main window size and position
* src/gpodder/libipodsync.py: Update tags on converted MP3 files, so
applications accessing files on the iPod without reading the meta-
data in the iTunesDB will be able to correctly identify the episodes;
do not set the track artist to "gPodder podcast" when syncing to the
podcasts playlist
* src/gpodder/gpodder.py: Fix bad behaviour of the available podcasts
treeview (thanks to Pieter De Decker [pdedecker gmail com] for
bringing this problem to my attention); save and restore window size
and position of gPodder's main window; fix some strings to ease
translations
* data/gpodder.glade: Make certain strings in the toolbar translatable
thanks to Pieter De Decker for pointing that out :)
* data/messages.pot: Updated translation template from new code
* data/po/de.po: Updated German translation
* data/po/*.po: Updated translations from new code
Sat, 31 Mar 2007 03:56:48 +0200 <thp@perli.net>
* src/gpodder/gpodder.py: Fixed some UI changes, add support for
new toolbar in GUI; add title in the information and confirmation
dialogs;
* data/gpodder.glade: Fix some UI on the gPodder main window; add new
toolbar and remove the bottom dynamic buttons; remove "Channel:"
label in channel overview tab
* data/gpodder.{svg,png}: New icon of the gPodder tentacle with iPod
* data/icons/*/gpodder.png: New icon of the gPodder tentacle with iPod
* bin/gpodder: Pushed version + date
Thu, 29 Mar 2007 21:22:15 +0200 <thp@perli.net>
* src/gpodder/gpodder.py: Fixed a bug with empty podcast channels
that have not been detected right and could not be edited or
deleted (thanks to Pieter De Decker (pdedecker gmail com) for
pointing that out)
* bin/gpodder: Bumped version + release date
Wed, 28 Mar 2007 04:27:06 +0200 <thp@perli.net>
* TODO: Updated TODO list
Tue, 27 Mar 2007 19:55:31 +0200 <thp@perli.net>
* data/gpodder.glade: Remove dependency on icon file from same path
* Makefile: Make the gtk-update-icon-cache a seperate makefile target
Mon, 26 Mar 2007 20:13:18 +0200 <thp@perli.net>
* data/po/nl.po: Updated Dutch translation from Pieter De Decker
(pdedecker gmail.com)
Mon, 26 Mar 2007 20:06:12 +0200 <thp@perli.net>
* bin/gpodder: Fix small bug for detecting DISPLAY variable, thanks to
Alain Tauch for pointing that out
Sun, 25 Mar 2007 21:51:24 +0200 <thp@perli.net>
* src/gpodder/libwget.py: Use a more verbose command line for wget
* src/gpodder/gpodder.py: Use default name-based icon for all gtk
windows and use installed SVG icon loaded in the AboutDialog
* setup.py: Install new icons in the hicolor icon theme
* bin/gpodder: Check if the $DISPLAY variable is set and abort if it
is not; set path to the SVG icon in startup / setup code
* data/gpodder.svg: Added new Tango-style SVG icon for gPodder
* data/gpodder.png: Modified gPodder logo; 48x48 render of the Tango-
style SVG (see above)
* data/icons/*: Added new Tango-style icons for gPodder
* data/gpodder.desktop: Change names and comments to fit into the
Gnome HIG guidelines better (descriptive name, ...); removed the
filename extension from the Icon setting
* Makefile: Do not simple resize the icon but generate 24x24 icon out
of the provided 22x22 icon
Thu, 22 Mar 2007 17:33:06 +0100 <thp@perli.net>
* src/gpodder/libipodsync.py: Added support for (optional) cancelling
of the Podcast synchronization process; add some more support for
setting status on the dialog; wait for iPod to be connected when
syncing to iPod (for 30 seconds at the moment); manually write and
read the episode files for FS-based MP3 player sync, so we can have
a more detailed and more often updated progress bar
* src/gpodder/gpodder.py: Support code for new gPodderSync dialog
goodness (yay!)
* data/gpodder.glade: Add cancel button to gPodderSync dialog
Thu, 22 Mar 2007 13:14:57 +0100 <thp@perli.net>
* bin/gpodder: Bump version + release date for debian packaging
Wed, 21 Mar 2007 21:32:43 +0100 <thp@perli.net>
* src/gpodder/libpodcasts.py: Convert numeric HTML entities to
symbolic entities so these will be replaced with the right unicode
character (for podcast descriptions); thanks to Gerrit Sangel
(newsletter sangel.eu) for reporting this bug on gpodder-devel
Tue, 20 Mar 2007 19:47:14 +0100 <thp@perli.net>
* data/po/nl.po: Added Dutch translation from Pieter De Decker
(pdedecker gmail com)
* setup.py: Added Dutch to list of translations
* data/gpodder.desktop: Added Dutch translation for desktop entry
Mon, 19 Mar 2007 21:14:57 +0100 <thp@perli.net>
* src/gpodder/libipodsync.py: Add the double-quote character to the
list of not-allowed-chars in FS-based Podcast sync code, thanks to
Pieter De Decker (pdedecker gmail com) for reporting this bug
Mon, 19 Mar 2007 21:12:17 +0100 <thp@perli.net>
* src/gpodder/gpodder.py: Fix grammar mistake in gettext string, thanks
to Pieter De Decker (pdedecker gmail com) for pointing that out :)
Mon, 19 Mar 2007 20:10:07 +0100 <thp@perli.net>
* README: Mention dependencies for newly-added ogg-to-mp3 converter
feature
Mon, 19 Mar 2007 20:03:40 +0100 <thp@perli.net>
* src/gpodder/libconverter.py: Added libconverter.py that implements
file conversion from (anything-to-mp3) using lame; currently the
only supported format is ogg (using oggdec); this is needed to sync
ogg podcasts to an iPod (that only supports MP3)
* src/gpodder/libipodsync.py: Re-work synchronization code to support
the new libconverter.py library for syncing oggs to iPods and also
re-work the status-setting code to be compatible with the new sync
dialog (see below)
* src/gpodder/gpodder.py: Add some hooks for controlling the new
synchronization dialog so it gets better display of progress; only
have one icon (the iPod/audio player) in sync dialog
* data/gpodder.glade: New synchronization dialog for FS-based and iPods
* bin/gpodder: Push version + release date (again ;)
Sun, 18 Mar 2007 19:31:44 +0100 <thp@perli.net>
* AUTHORS: Added Preben Randhol to list of patch writers
Sun, 18 Mar 2007 19:23:46 +0100 <thp@perli.net>
* src/gpodder/libipodsync.py: Add support for selected episodes to be
transferred to the device; get configuration data directly
from gPodderLib()
* src/gpodder/gpodder.py.orig: Updated by tepache
* src/gpodder/gpodder.py: Add support for "transfer" to device of
selected episodes instead of all episodes based on a patch by
Preben Randhol <randhol+gpodder pvv.org>; simplified and cleaned-up
code for device sync and device cleanup to allow for easier addition
of aforementioned patch
* data/gpodder.glade: Support for "transfer" to device button and menu
item based on a patch by Preben Randhol <randhol+gpodder pvv.org>
* bin/gpodder: pushed version + release date
Sun, 18 Mar 2007 17:18:17 +0100 <thp@perli.net>
* Makefile: Bugfix - remove manpage "gpodder.1" in "make uninstall"
Sun, 18 Mar 2007 17:08:29 +0100 <thp@perli.net>
* src/gpodder/gpodder.py: Do not do i18n stuff in gpodder.py; do not
set direct paths to /usr in glade_dir and icon_dir, but use lists
that will be filled by the initialization code in bin/gpodder
* bin/gpodder: Complete re-work of path detection, based on some
suggestions from Preben Randhol <randhol+gpodder pvv.org> to make
gpodder work when installed in /usr/local
* setup.py: Use /usr/bin/env python instead of /usr/bin/env python2.4
in shebang line
* Makefile: Display $(PREFIX) in makefile help text instead of hard-
coded "/usr" string
Sun, 18 Mar 2007 16:42:32 +0100 <thp@perli.net>
* src/gpodder/gpodder.py: Bugfix - only play a podcast episode when it
has been downloaded and the download filename exists
* data/gpodder.glade: Add Shift+Return accelerator to the "Play selected
episode" menu item and add a separator to the menu
Sun, 18 Mar 2007 15:04:03 +0100 <thp@perli.net>
* bin/gpodder: Use "/usr/bin/env python" instead of "/usr/bin/python"
to fix problems with FreeBSD's default Python location of
"/usr/local/bin/python" (thanks to Alain Tauch for pointing that out)
Sat, 17 Mar 2007 13:57:50 +0100 <thp@perli.net>
* data/gpodder.desktop: Clean-up the desktop entry file
* Makefile: Make PREFIX a variable defaulting to /usr and pass it
to setup.py's install method and to the "make uninstall" target
Sat, 17 Mar 2007 13:30:37 +0100 <thp@perli.net>
* data/gpodder.glade: Update preferences dialog and main window's
"About" menu item to be (more) compliant to the GNOME HIG
specification 2.0
* src/gpodder/gpodder.py: Code changes for GUI update
Sat, 17 Mar 2007 13:07:06 +0100 <thp@perli.net>
* src/gpodder/libtagupdate.py: add tagging_supported() to report if
we can support tagging (dependent on python-eyed3 installed or not)
* src/gpodder/libplayers.py: use gtk.STOCK_EXECUTE instead of string
* src/gpodder/libpodcasts.py: Fix log messages; only call tag update
functions when tagging_supported() returns a true value
* src/gpodder/librssreader.py: Remove parseXML logging output (not
needed anymore, seems stable enough)
* src/gpodder/gpodder.py: clean local db cache when adding download
items with addDownloadedItem(); disable update tags checkbox in
preferences dialog when taggint_supported() returns a false value
* bin/gpodder: version + release date bump
* README: cleaned up readme file and removed unnecessary cruft
* TODO: Updated TODO list
Thu, 15 Mar 2007 22:28:52 +0100 <thp@perli.net>
* src/gpodder/libtagupdate.py: Add libtagupdate.py, which takes care
of writing metadata to audio files on the user's harddisk; initially
supporting MP3 (through eyeD3) and OGG vorbis (through vorbiscomment
command-line utility called with Python's popen2)
* src/gpodder/libpodcasts.py: Utilize libtagupdate to write metadata
from episode info to the audio file
* src/gpodder/libgpodder.py: Support the update_tags configuration
option for enabling/disabling audio file tag updating after download
* src/gpodder/gpodder.py: Support for update_tags flag in properties
* bin/gpodder: version + release date bump
* data/gpodder.glade: Add a checkbox "Updat tags on audio files after
downloading" that makes sure metadata is written from the episode
info to the downloaded audio file
Wed, 14 Mar 2007 20:27:19 +0100 <thp@perli.net>
* src/gpodder/libwget.py: Cosmetic change to check if some variables
have values
* src/gpodder/libpodcasts.py: Only write localDB file if needed in
addDownloadedItem; remove downloaded file in delete_episode_by_url();
in podcastItem's __cmp__() function, return -1 if there has been
an error comparing some value (returning zero, as before, lead to
many problems this week.. oh my.. ;)
* src/gpodder/gpodder.py: Try to add item to localdb (if it has not
yet been added) when trying to playback a already downloaded item;
simply call delete_episode_by_url() in the remove function code,
because podcastChannel will now care about carrying out the
necessary steps to remove the item completely
Wed, 14 Mar 2007 19:39:41 +0100 <thp@perli.net>
* src/gpodder/libipodsync.py: Replace some more characters in podcast
channel sync code (for filesystem-based MP3 players) to fix issues
with podcasts that have stupid titles (thanks to Pieter De Decker
for reporting this issue)
* bin/gpodder: version + release date bump
Tue, 13 Mar 2007 19:45:17 +0100 <thp@perli.net>
* src/gpodder/librssreader.py: Make sorting a single step by using
sort( reverse = True) instead of sort() + reverse() -- thanks to
Michel Salim for pointing that out :)
Mon, 12 Mar 2007 22:06:45 +0100 <thp@perli.net>
* TODO: Updated TODO list (search box request)
Mon, 12 Mar 2007 12:17:02 +0100 <thp@perli.net>
* src/gpodder/libpodcasts.py: Add can_sort_by_pubdate() to
podcastChannel and add __cmp__() to podcastItem to enable sorting
of podcastChannel items by pubDate (ascending, descending by using
reverse()..)
* src/gpodder/librssreader.py: If after parsing a RSS file it is
possible to sort the resulting channel by pubDate, do so
* src/gpodder/gpodder.py: Omit output of excessive episodes if there
are more than ten new episodes (so everything fits on the screen
nicely); thanks to Michel Salim for reporting this and the bug
above (channel with wrongly sorted episodes in RSS file)
* bin/gpodder: version + release date bump
Sat, 10 Mar 2007 18:35:41 +0100 <thp@perli.net>
* src/gpodder/libwget.py: Clean-up libwget (remove class members of
downloadThread, use proper os.kill() instead of os.system("kill..,
remove _very_ old getWebData and downloadProcedure functions)
* src/gpodder/libpodcasts.py: Fix error callback when download fails
and we do not have a backup cache file to restore
* src/gpodder/gpodder.py: Re-factor showMessage and showConfirmation
to show_message() and show_confirmation(), respectively and make the
dialog creation as suggested in the Gnome HIG; update all invocations
of showMessage and showConfirmation to give better feedback on what
is going on; also clean up some things in gPodderEpisode dialog
* data/gpodder.glade: Fix some things in gPodderEpisode dialog and
use the "gtk-down" icon for download buttons
* bin/gpodder: Bump version + release date
Sat, 10 Mar 2007 16:52:22 +0100 <thp@perli.net>
* src/gpodder/libpodcasts.py: Support cancelling downloading an RSS
file by supplying a callback_is_cancelled variable that should
return True when the download should be cancelled (and the old,
backed up cache file [if any] be used instead); additionally, get
rid of gtk events_pending code, as we call downloadRss only in
threads as of now
* src/gpodder/libgpodder.py: Support for cancelling the read()
operation of a gPodderChannelReader (uses old cache files instead)
* src/gpodder/gpodder.py: Re-design of the update feed cache dialog
following Gnome HIG guidelines for progress windows and making
use of the update_feed_cache() function (which now is threaded) in
every part of the gpodder window code; also provide the option of
cancelling a running update of the feed cache :)
Fri, 9 Mar 2007 20:05:20 +0100 <thp@perli.net>
* src/gpodder/libgpodder.py: Fix sanitize_feed_url() function
* src/gpodder/gpodder.py: Add support for dialogs to be centered on
the main gPodder window
* data/gpodder.glade: Make dialogs center on parent by definition ;)
Thu, 8 Mar 2007 15:01:20 +0100 <thp@perli.net>
* src/gpodder/libgpodder.py: Add support for "download after update"
* src/gpodder/gpodder.py: Support for "download after update" setting
* data/gpodder.glade: Move automatic options to "Advanced" tab and
add checkbox for download new episodes after updating channels
* TODO: Updated, sorted and cleaned up TODO list
Thu, 8 Mar 2007 13:20:02 +0100 <thp@perli.net>
* src/gpodder/librssreader.py: Keep track of a "parse_tree" variable
and check that the elements that set channel metadata are just below
the <channel> item; this bug has been spotted while examining RSS
feeds on Radio Canada that have a <image> item which <title> tags
would be mis-interpreted by gPodder as being the channel's title
Thu, 8 Mar 2007 13:05:29 +0100 <thp@perli.net>
* src/gpodder/liblocdbreader.py, src/gpodder/liblocdbwriter.py: Add
support for override_title in channel's gpodder:info, so we can set
a custom title to be displayed in the GUI
* src/gpodder/libpodcasts.py: Add support for override_title (custom
title set by the user) and handle feeds with missing/empty title
gracefully (display URL as title instead)
* src/gpodder/libgpodder.py: Read metadata from localdb when reading
the channel list (so we get the override_title if it is set
* src/gpodder/gpodder.py: Fix typo for channel adding; update combo
box on channel properties change (for custom title); add support
for custom title to Gpodderchannel dialog handling code
* data/gpodder.glade: Add custom title to the gPodder channel dialog
Thanks to Konstantin Ryabitsev (mricon.com) for suggesting this
feature and for the donation :)
Thu, 8 Mar 2007 11:44:29 +0100 <thp@perli.net>
* src/gpodder/console.py: Add support for error messages on update
* src/gpodder/libpodcasts.py: Backup and restore cache file, so we
can fallback to the old cache file if the server is down/we have
no network connectivity
* src/gpodder/libgpodder.py: Support for error message callback
* src/gpodder/gpodder.py: Display a message box when updating info
from a channel results in a error message
Wed, 7 Mar 2007 15:46:34 +0100 <thp@perli.net>
* doc/man/gpodder.1: Updated with new info and description
* src/gpodder/console.py: Clean-up of old/attic code; better output
* src/gpodder/liblogger.py: Debugging depending on the "--verbose" flag
* src/gpodder/libgpodder.py: Sanitize feed URL; URL callback for reader
* src/gpodder/gpodder.py: Don't display popup dialog, but modify main
window title if we're running a svn version of gPodder; use the new
sanitize_feed_url function from libgpodder; small clean-ups
* bin/gpodder: Description in docstring; better handling of command
line arguments and calling of gpodder.console functions; the old
--debug flag is now called --local (makes more sense, after all)
* Makefile: Don't run generators on "make release"; use new --local
and --verbose flags for "make test"; specify application name in
help2man call for manpage generation
Wed, 7 Mar 2007 11:53:37 +0100 <thp@perli.net>
* data/artwork: Removed Tango artwork
* src/gpodder/gpodder.py: Use artwork from current icon theme
* setup.py: Do not install removed artwork data
* bin/gpodder: Push version + release date
Wed, 7 Mar 2007 00:57:59 +0100 <thp@perli.net>
* src/gpodder/libipodsync.py, setup.py, bin/gpodder: Clean-up and
small fixes to make package installation smoother
Tue, 6 Mar 2007 21:36:44 +0100 <thp@perli.net>
* src/gpodder/liblogger.py: We're developing again - debugging on :)
* bin/gpodder: We've got a svn version number again... (as always =)
Tue, 6 Mar 2007 21:24:06 +0100 <thp@perli.net>
* README: ** gPodder 0.9.0 released **
Tue, 6 Mar 2007 20:55:19 +0100 <thp@perli.net>
* doc/man/gpodder.1: Updated for 0.9.0
* TODO: Updated for 0.9.0
* src/gpodder/liblogger.py: Updated for 0.9.0
* bin/gpodder: Updated for 0.9.0
* data/messages.pot: Updated for 0.9.0
* data/po/de.po: Updated for 0.9.0
Sat, 3 Mar 2007 14:08:18 +0100 <thp@perli.net>
* src/gpodder/libgpodder.py: Added can_write_directory() function
* src/gpodder/libipodsync.py: Add support for MP3 player cleanup
* src/gpodder/gpodder.py: Add support for MP3 player cleanup
* bin/gpodder: version + svn release date push
Tue, 27 Feb 2007 21:11:47 +0100 <thp@perli.net>
* data/po/es.po: Updated Spanish translation by
José Luis Fustel (dr_psy terra.es)
* bin/gpodder: Version + svn release date push
Sat, 24 Feb 2007 13:02:51 +0100 <thp@perli.net>
* src/gpodder/gpodder.py: Scroll down to last position after
starting a download in the available podcasts tab
* bin/gpodder: Version + svn release date push
* TODO: Updated TODO list
Mon, 5 Feb 2007 17:47:07 +0100 <thp@perli.net>
* src/gpodder/libgpodder.py: Applied patch from Mike Coulson
(miketcoulson gmail com) to fix lexists fallback bug related to
late logger import - thanks!
* AUTHORS: Added Mike Coulson to list of patch writers
* bin/gpodder: Pushed version + svn release date
Sun, 4 Feb 2007 10:38:27 +0100 <thp@perli.net>
* src/gpodder/liblogger.py: Write log output to stdout again
* bin/gpodder: Version is now a "+svn" version again as we're
slowly progressing towards 0.9.0
* data/po/pt.po: Updated Portuguese (pt) translation, thanks to
Joel Calado (joelcalado gmail.com) who did the translation
Sat, 3 Feb 2007 11:59:34 +0100 <thp@perli.net>
* src/gpodder/liblogger.py: Don't write log output to stdout
because we're doing a release today :)
Sat, 3 Feb 2007 11:55:37 +0100 <thp@perli.net>
* doc/man/gpodder.1: Updated manpage for 0.8.9 release
* bin/gpodder: Version + date for 0.8.9 release
* README: 0.8.9 release info
Sat, 3 Feb 2007 11:46:49 +0100 <thp@perli.net>
* src/gpodder/libwget.py: Add has_items() to downloadStatusManager
* src/gpodder/libgpodder.py: Make deleting partial downloads optional
* src/gpodder/gpodder.py: Only ask gPodderLib to delete partially
downloaded files when our downloadStatusManager does not have any
downloads going at the moment (bugfix!)
Sun, 28 Jan 2007 16:17:40 +0100 <thp@perli.net>
* src/gpodder/libgpodder.py: Comment-out deletion of partial
downloads for now (so we won't have broken, finished downloads)
* src/gpodder/gpodder.py.orig: Updated by tepache
* data/messages.pot: Updated from source code files
* data/po/de.po: Updated German translation
Sun, 28 Jan 2007 10:20:26 +0100 <thp@perli.net>
* src/gpodder/libipodsync.py: Fixed a small encoding warning
* data/gpodder.glade: Added color chooser tab in preferences
* src/gpodder/libgpodder.py: Added support for loading/saving
episode list color values + default values
* src/gpodder/libpodcasts.py: Added support for color config
* src/gpodder/gpodder.py: Added support for episode list colors
Sun, 28 Jan 2007 09:21:47 +0100 <thp@perli.net>
* src/gpodder/libipodsync.py: Added mediatype flag for iPod nano
as suggested by José Luis Fustel (dr_psy terra.es) - thanks!
* AUTHORS: Added JLF to list of patch writers
* bin/gpodder: pushed release date + version
Wed, 24 Jan 2007 22:33:30 +0100 <thp@perli.net>
* TODO: Updated TODO list
Wed, 24 Jan 2007 22:26:15 +0100 <thp@perli.net>
* data/gpodder.desktop: Added Spanish translation for desktop file
* data/po/es.po: Updated Spanish translation from José Luis
Tue, 23 Jan 2007 20:59:33 +0100 <thp@perli.net>
* data/po/es.po: Spanish translation file from José Luis
Fustel (dr_psy@terra.es) -- thanks!
* setup.py: Added Spanish translation
Mon, 22 Jan 2007 13:15:11 +0100 <thp@perli.net>
* src/gpodder/libipodsync.py: Fix based on a patch from Robert
Young (robertkyoung gmail.com) to replace special characters
in channel folder name on MP3 player sync
* AUTHORS: added Robert Young to list of patch writers
Mon, 22 Jan 2007 13:07:51 +0100 <thp@perli.net>
* doc/dev/redhat-wget-output.txt: Added info about the modified
"wget" in RedHat/Fedora Core, based on Nick's mailing list
discussion thread of January 2007
* src/gpodder/libwget.py: Applied slightly modified patch from
Nick (nikosapi gmail com) to add support for Fedora's custom
wget version so that the speed can be detected on Fedora Core
desktops (should also enable RHEL workstations)
* bin/gpodder: version + rel.date
Wed, 17 Jan 2007 19:09:27 +0100 <thp@perli.net>
* src/gpodder/libwget.py: Set transfer timeout to 15 seconds when
downloading with wget (thanks to Nick [nikosapi gmail com] again
for suggesting this and thanks for testing gPodder :)
* bin/gpodder: version + release date bump :)
Tue, 16 Jan 2007 19:26:50 +0100 <thp@perli.net>
* src/gpodder/libipodsync.py: Nick (nikosapi gmail com) reported
that when compiling PyID3 from source, its name will be lowercase,
so we simply check for both cases now (all uppercase/all lowercase)
and try to cope with both possibilities. Why is the naming different
from distro to distro, anyway? ;)
* bin/gpodder: version + release date bump
Mon, 15 Jan 2007 21:06:41 +0100 <thp@perli.net>
* src/gpodder/libopmlreader.py: Fixed a small bug, thanks (again)
to Nick [nikosapi gmail com] for pointing that out :)
Mon, 15 Jan 2007 19:09:57 +0100 <thp@perli.net>
* src/gpodder/libgpodder.py: Fixed a bug with the download dir when
starting off with a fresh gPodder install (thanks to Nick [nikosapi
gmail com] for reporting)
* bin/gpodder: bumped version + release date
Wed, 10 Jan 2007 18:47:26 +0100 <thp@perli.net>
* data/po/pt.po: Updated pt_PT translation (thanks to Joel Calado)
Sat, 6 Jan 2007 15:33:33 +0100 <thp@perli.net>
* src/gpodder/libgpodder.py: Fixed a bug that prevented reading
the download location from the config file. sorry ;)
Sat, 6 Jan 2007 14:45:20 +0100 <thp@perli.net>
* src/gpodder/libgpodder.py: Re-factured gPodderChannelReader
to not have static members when they're not needed; only add
channel to the list if our rssReader returns a valid channel
* src/gpodder/librssreader.py: Removed rssErrorHandler class
and added handling routines directly to rssReader class; re-factor
static members to object members; do better error handling, etc..
* src/gpodder/libopmlreader.py: Don't use rssErrorHandler from
librssreader but handle errors directly in opmlReader
* src/gpodder/gpodder.py: Only ask user to download newer episodes
when the channel really has been added (thanks to Alain Tauch for
bringing this bug to my attention)
* bin/gpodder: Bumped version + release date - this being the first
svn revision to mention 2007 in the version string :) Enjoy!
Sat, 6 Jan 2007 14:06:31 +0100 <thp@perli.net>
* src/gpodder/libgpodder.py: Set the default download dir to
some same value when initializing gPodderLib
* src/gpodder/gpodder.py: Small translation bugfix from Alain
Tauch; only set filename of chooserDownloadTo when gPodderLib
has a value for "downloaddir"
* data/po/fr.po: Updated translation from Alain Tauch
Sun, 31 Dec 2006 15:30:46 +0100 <thp@perli.net>
* src/gpodder/libipodsync.py: PyID3 seems to be uppercase in
Ubuntu and Debian (new upstream version changed this?), so we
will use and import the "ID3" package instead of the "id3" one
now (thanks to Jon Ferguson <jon sd-6.org> for reporting)
Fri, 29 Dec 2006 16:50:17 +0100 <thp@perli.net>
* doc/dev/copyright_notice, INSTALL, src/gpodder/libopmlwriter.py,
src/gpodder/libwget.py, src/gpodder/liblocdbreader.py,
src/gpodder/console.py, src/gpodder/liblogger.py,
src/gpodder/libplayers.py, src/gpodder/libpodcasts.py,
src/gpodder/liblocdbwriter.py, src/gpodder/libgpodder.py,
src/gpodder/libipodsync.py, src/gpodder/librssreader.py,
src/gpodder/libopmlreader.py, src/gpodder/gpodder.py,
src/gpodder/liblocaldb.py, setup.py, bin/gpodder,
data/po/Makefile, Makefile, README: Version number in text
and info files bumped to 0.9.0 in preparation of the release;
changed website URL to http://gpodder.berlios.de/ and updated
copyright notice to reflect development in 2007 :) Enjoy.
Thu, 28 Dec 2006 14:39:06 +0100 <thp@perli.net>
* src/gpodder/libipodsync.py: Add support for non-mp3 file
length detection using mplayer if available (thanks to
Nick <nikosapi gmail com> for the patch)
* bin/gpodder: bumped version + release date
Wed, 20 Dec 2006 20:43:02 +0100 <thp@perli.net>
* src/gpodder/gpodder.py: Added modified patch from Seth
Remington to add support for a "download new episodes from
all channels" menu item
* data/gpodder.glade: Added Ctrl+N menu item (Download all new
episodes from all channels) to gPodder's main menu
Wed, 20 Dec 2006 20:08:29 +0100 <thp@perli.net>
* TODO: Updated gPodder 0.9.0 release goals
Wed, 20 Dec 2006 17:35:48 +0100 <thp@perli.net>
* src/gpodder/libgpodder.py: Added get_size() and
size_to_string() functions to gPodderLib to get the size
of a folder/file and to convert the byte size to a string
* src/gpodder/libpodcasts.py: Utilize gPodderLib's new
size_to_string() function for getting the size string;
fixed a bug when moving the download directory to another
device (thanks to Andy <apblist speakeasy net> for reporting)
* src/gpodder/gpodder.py: Added moving progress dialog to
show progress of moving download directory to another device
* bin/gpodder: the usual version bumping
Sun, 17 Dec 2006 02:19:04 +0100 <thp@perli.net>
* src/gpodder/libipodsync.py: Re-factor general sync method
interface to "gPodderSyncMethod" and let gPodder_iPodSync
and gPodder_FSSync implement the syncing (added class
gPodder_FSSync that simply syncs to a specified folder)
* src/gpodder/gpodder.py: Use new libipodsync + add support
for filesystem-based MP3 players (please test this :)
* TODO: fs-based mp3 player support seems to be working now
* bin/gpodder: the usual version bumping
Sat, 16 Dec 2006 18:43:04 +0100 <thp@perli.net>
* data/gpodder.glade: Re-structured the main menu
* src/gpodder/gpodder.py: Added some code to make the main menu
appear more dynamic and context-specific + added some hotkeys
* bin/gpodder: The usual: push version + date
Wed, 13 Dec 2006 13:57:54 +0100 <thp@perli.net>
* src/gpodder/libwget.py: Make wget "continue" (-c) and "retry
infinite" (-t0) so we don't get strange results when server
connection is closed or other network problems come up
* src/gpodder/liblocdbreader.py: Remove bogus log message when
iPod sync is deactivated for a channel
* src/gpodder/libgpodder.py: Handle broken channels more
graceful when saving the channels list (instead of completely
breaking the channel list.. oh my ;))
* src/gpodder/gpodder.py: Remove the cache file first when adding
a channel that has been subscribed to before; display a more
specific message when trying to download an episode that has
already been downloaded
Wed, 13 Dec 2006 02:05:23 +0100 <thp@perli.net>
* src/gpodder/gpodder.py: Switch to (new) last channel when
deleting the last channel in the channel list in combobox
Wed, 13 Dec 2006 01:58:25 +0100 <thp@perli.net>
* src/gpodder/gpodder.py: New-style channel editor dialog (code)
* data/gpodder.glade: New-style channel editor dialog
Wed, 13 Dec 2006 01:28:11 +0100 <thp@perli.net>
* src/gpodder/libpodcasts.py: Bugfix for newest_pubdate_downloaded
Wed, 13 Dec 2006 01:22:30 +0100 <thp@perli.net>
* src/gpodder/gpodder.py: Utilize a FileChooserButton instead of
"emulating" it using our own widgets and methods
* data/gpodder.glade: Add FileChooserButton to gPodderProperties
Wed, 13 Dec 2006 01:14:41 +0100 <thp@perli.net>
* src/gpodder/gpodder.py: Code to support new style episode info
dialog
* data/gpodder.glade: New style for your neat episode info dialog
Wed, 13 Dec 2006 00:17:40 +0100 <thp@perli.net>
* src/gpodder/gpodder.py: Fix location of gPodder icon file
* setup.py: Install gPodder 48x48 icon in /usr/share/gpodder for
libglade to pick it up
Wed, 13 Dec 2006 00:10:11 +0100 <thp@perli.net>
* src/gpodder/gpodder.py: Add support for "Play" button in main
gpodder dialog (depending on which episode is selected)
* data/gpodder.glade: Add support for "Play" button (see above)
* TODO: Release goals for 0.8.0 updated
* bin/gpodder: Updated release date + version
Mon, 11 Dec 2006 16:11:54 +0100 <thp@perli.net>
* src/gpodder/gpodder.py: Don't treat already downloaded but
deleted episodes as "new" when clicking on "download new" -
thanks to Seth Remington for the suggestion
* bin/gpodder: Pushed release date + version
Mon, 11 Dec 2006 15:02:56 +0100 <thp@perli.net>
* TODO: Added release goals for gPodder 0.9.0
Mon, 11 Dec 2006 01:23:31 +0100 <thp@perli.net>
* src/gpodder/libplayers.py: Fixed a bug when there are non-
dotdesktop files in /usr/share/applications/ - thanks to Joel
Calado for reporting this bug on gpodder-devel :)
* bin/gpodder: Pushed release date + version
Sat, 9 Dec 2006 03:04:06 +0100 <thp@perli.net>
* src/gpodder/gpodder.py: Fixed a bug that prevented opening the
gPodder preferences window
Sat, 9 Dec 2006 02:56:52 +0100 <thp@perli.net>
* src/gpodder/gpodder.py: Massive cleanup, this might introduce
new bugs from refactoring; please report if you find any
* src/gpodder/liblocaldb.py: Fix get_filename_by_podcast() function
to check for errors in return value of get_channel()
* bin/gpodder: pushed version + release date
* data/gpodder.glade: Removed the downloaded episodes tab and
added a "Play" button to the gPodderEpisode window (if the episode
has already been downloaded
Sat, 9 Dec 2006 01:38:35 +0100 <thp@perli.net>
* src/gpodder/liblocdbreader.py: Read mimetype + calc filesize
* src/gpodder/liblocdbwriter.py: Write out mimetype
* src/gpodder/libpodcasts.py: re-design getItemsModel to new
function items_liststore(), added get_all_episodes() function
to retrieve episodes both in the feed and in the localdb; removed
getActiveByUrl() and replaced with find_episode(); added new
function calculate_filesize() to podcastItem
* src/gpodder/gpodder.py: Removed some orphaned comment lines;
adopt GUI code for changes in libpodcasts (see above)
* src/gpodder/liblocaldb.py: Adopt for changes in libpodcasts
* data/gpodder.glade: Added first try on "Episodes" menuitem
Fri, 8 Dec 2006 21:50:39 +0100 <thp@perli.net>
* src/gpodder/libpodcasts.py: Add DownloadHistory class that saves
a list of already downloaded URLs; Make the podcastChannel class
utilize DownloadHistory through gPodderLib (background color for
already downloaded but already deleted episode is light green,
mark as downloaded when adding to localdb, utilize the history
in newest_pubdate_downloaded(), but keep the old method as a
fallback)
* src/gpodder/libgpodder.py: Make a single DownloadHistory object
available through gPodderLib (+ functions to utilize it)
* src/gpodder/liblocaldb.py: Mark downloaded items when loading
the model for the downloaded list (in case one has downloaded
episodes before this commit)
* bin/gpodder: pushed release date + version
Wed, 6 Dec 2006 21:23:53 +0100 <thp@perli.net>
* merged svn branch thp-december-2006 into trunk
Wed, 6 Dec 2006 21:03:35 +0100 <thp@perli.net>
* src/gpodder/libgpodder.py: Added "device_type" and
"mp3_player_folder" configuration parameters
* src/gpodder/gpodder.py: Don't disable menu items based on the
ipod_supported() functions; sync menu items now decide what to
do based on what device the user selected in the properties;
properties dialog adds ipod mountpoint + mp3 player folder
FileChooserDialog and UI code
* data/gpodder.glade: Rename sync UI items from "iPod" to "device"
or "synchronization", add support for other non-iPod devices,
currently filesystem-based MP3 players
Wed, 6 Dec 2006 19:56:33 +0100 <thp@perli.net>
* src/gpodder/gpodder.py: Add columns, resizable and reorderable
columns to the downloaded podcasts tab (nearly the same as in
the available podcasts tab)
Wed, 6 Dec 2006 19:43:11 +0100 <thp@perli.net>
* src/gpodder/libwget.py: Don't log wget's output for now (too
noisy for testing, also wget seems to be stable for gPodder);
added change_notification parameter to downloadStatusManager
* src/gpodder/console.py: Only download episodes that are newer
than the latest downloaded episodes (like the "download new"
button) when running "gpodder -r" (as suggested by Stephen,
"urban at inetdesign.org" a while ago)
* src/gpodder/libpodcasts.py: Refactor isDownloaded() to new name
is_downloaded() in podcastChannel; add a downloading_callback
parameter to getItemsModel(); have new colors for available
episodes list (green, orange-red and white)
* src/gpodder/libipodsync.py: Check if iTunesDB has a master
and a podcasts playlist, bug out if there is none; also fix
some minor problems that might lead to crashes
* src/gpodder/gpodder.py: update available tree view when the
downloadStatusManager reports a change; mark "downloading"
episodes with special color; when adding a channel that already
exists, switch the available podcasts view to the existing
channel; download "newer" episodes with the same timestamp as
the latest downloaded podcast; fix indentation
* TODO: Removed items marked as done already
Wed, 6 Dec 2006 17:49:43 +0100 <thp@perli.net>
* src/gpodder/libpodcasts.py: Added newest_pubdate_downloaded()
to podcastChannel, added compare_pubdate() and newer_pubdate()
to podcastItem to enable getting most recent "pubDate" of the
downloaded episodes list (for finding "new" episodes, see below)
* src/gpodder/gpodder.py: Update list of available episodes when
switching notebook tabs (to mark downloaded episodes with another
color); ask user to download some new episodes after a channel
has been added; handle "download new" button to download either
the three newest episodes (if no downloads yet) or all episodes
that are newer than the newest downloaded episode
* data/gpodder.glade: Added "download new" button for downloading
episodes as described above
* TODO: one of the items in the TODO list is now partially done
after the changes above
* bin/gpodder: update release date and version
Wed, 6 Dec 2006 03:36:51 +0100 <thp@perli.net>
* src/gpodder/libwget.py: Clean up downloadStatusManager
and add support for a GTK window that will have its
title updated based on the current download status (show
total download progress in titlebar of gPodder window)
* src/gpodder/gpodder.py: Send the main window to the
downloadStatusManager object so it can access the window
title
* data/gpodder.glade: Main window title is now "gPodder"
Wed, 6 Dec 2006 02:59:10 +0100 <thp@perli.net>
* src/gpodder/libgpodder.py: Add support for updating
symlink on Desktop when moving downloads folder
Wed, 6 Dec 2006 02:45:43 +0100 <thp@perli.net>
* TODO: Remove items on TODO list that have been done now
Wed, 6 Dec 2006 02:26:43 +0100 <thp@perli.net>
* src/gpodder/libpodcasts.py: Use shutil.rmtree() instead of
hand-crafted folder remove code in remove_downloaded();
convert deleteDownloadedItemByUrlAndTitle() to a simpler
delete_episode_by_url() function (and get rid of duplicate
code in the process)
* src/gpodder/libgpodder.py: Fix static<->object variables in
gPodderLibClass, re-factor downloaddir in a property that
automatically tries to move the downloaded folder when it
changes; also save download_dir as a config file value
* src/gpodder/gpodder.py: Fix the delete single/multiple episodes
in a downloaded channel bug introduced by last commit (thanks
to Seth Remington for testing and reporting this :)
Make Gpodderproperties open a FileChooserDialog to select
download directory
* data/gpodder.glade: Make "download to" input field a button
that (when clicked) opens a folder chooser dialog
Tue, 5 Dec 2006 23:36:41 +0100 <thp@perli.net>
* svn branch gpodder-thp-december-2006: This branch will be
used to develop and test the new filenaming scheme and some
code clean-ups. After the code has been tested and the
codebase seems stable, this branch will be merged back into
the gpodder trunk. This codebase breaks compatibility with
the old download directory scheme, but also makes the code
simpler and easier to manage. See below for the first cut of
these changes and enjoy! -- Thomas Perl
* src/gpodder/liblocdbreader.py: Code clean-ups, utilize real
channel URL when reading localdb
* src/gpodder/libpodcasts.py: Code clean-ups; new file naming
scheme; remove unnecessary download_dir property (you just
want to use save_dir instead); add remove_cache_file() and
remove_downloaded() methods to podcastChannel; remove support
for legacy (pre-0.7) filename locations - the old download
directory scheme is not supported anymore with this change;
channelsToModel function code cleanup
* src/gpodder/libgpodder.py: Do not save channel name in the
gPodder channel list (because the name will be calculated
depending on the URL as of now); simplify the channel reading
process by getting rid of the "filename-discovery" code parts
and do not read in the download_dir variable for the channel
* src/gpodder/gpodder.py: Clear available episodes list when
there are no channels selected; do not disable/enable menu
items based on which page of the gtknotebook we are; only
fetch channel feed once, because we do not need to fetch it
twice with the new channel naming scheme; added support for
feed:// URLs; remove downloaded items when removing a channel;
some more code clean-ups to increase code readability
* src/gpodder/liblocaldb.py: Major code overhaul, cleanup and
simplification; getting rid of camelCasedFunctionNames
* bin/gpodder: Note version and release date for svn branch
Tue, 5 Dec 2006 03:31:38 +0100 <thp@perli.net>
* src/gpodder/console.py: Removed unneeded import
* src/gpodder/librssreader.py: Use "append" instead of
the old "addItem" method on the podcastChannel class
* bin/gpodder: Bumped version + release date
Tue, 5 Dec 2006 01:37:23 +0100 <thp@perli.net>
* src/gpodder/gpodder.py: Added support for "feed://" URLs
which are the same as "http://" URLs. Thanks to Timm
Preetz (timm at preetz us) for suggesting this addition.
* TODO: Updated TODO list (above item marked as done)
Mon, 4 Dec 2006 14:04:04 +0100 <thp@perli.net>
* setup.py: Copy gPodder icon(s) to share/pixmaps now, and
only the artwork files to share/gpodder/images
* Makefile: Generate 22x22 and 48x48 icons from gpodder.png
* README: Note "imagemagick" as new developer dependency -
this is needed for the new image conversion in Makefile
* data/gpodder.glade: Added three new links to help menu
* src/gpodder/gpodder.py: Added three new link handlers for
help menu to link to website, wishlist and mailing list
Sun, 3 Dec 2006 19:07:27 +0100 <thp@perli.net>
* src/gpodder/libwget.py: Remove partially downloaded files
after download is cancelled or an error occured
* src/gpodder/libgpodder.py: Added clean_up_downloads() function
to gPodderLibClass to do some housekeeping in the download
directory (remove temporary files from old sessions and remove
empty download directories)
* src/gpodder/gpodder.py: Call clean_up_downloads() when
gPodder starts
* bin/gpodder: Minor code cleanup, bumped version + release date
Fri, 1 Dec 2006 15:42:07 +0100 <thp@perli.net>
* src/gpodder/libipodsync.py: Applied patch from Seth Remington
to fix a synchronization error with newer libgpod versions
* bin/gpodder: bumped version and release date
Thu, 30 Nov 2006 23:07:22 +0100 <thp@perli.net>
* src/gpodder/libgpodder.py: Remove '.cover.jpg' file for
episode if left on disk by libipodsync.py (see below)
* src/gpodder/libipodsync.py: Applied iPodSync patch from
Nick <nikosapi gmail com> to add support for ID3v2
embedded cover art (please test this if you can)
* README: Note optional pyid3 dependency
Tue, 28 Nov 2006 21:04:45 +0100 <thp@perli.net>
* src/gpodder/gpodder.py: Added patch from Seth Remington (sremington
at saberlogic dot com) to fix about dialog close button
Sun, 26 Nov 2006 18:21:23 +0100 <thp@perli.net>
* TODO: Updated TODO list
Wed, 22 Nov 2006 17:02:23 +0100 <thp@perli.net>
* src/gpodder/libipodsync.py: Add support for pymad, because
it gives more correct track length of MP3 files for me;
if pymad is not installed, gPodder will fallback to eyeD3;
if you only installed eyeD3 for gPodder, you can remove it
now and install pymad instead
* README: Note pymad dependency (and now-optional eyeD3)
* doc/dev/ipod-sync.txt: State that pymad is now preferred
Wed, 22 Nov 2006 16:13:33 +0100 <thp@perli.net>
* src/gpodder/libpodcasts.py: Small bugfix for description in
podcast item (80 instead of 20 chars is what we want ;)
Mon, 20 Nov 2006 13:33:00 +0100 <thp@perli.net>
* src/gpodder/gpodder.py: Fixed a stupid bug that prevented you
from changing a channel's url in the channel editor (didn't
anyone notice this bug before? ;)
Mon, 20 Nov 2006 12:46:54 +0100 <thp@perli.net>
* src/gpodder/libpodcasts.py: Added one_line_description() to
podcastItem; modified getItemsModel to return description
* src/gpodder/gpodder.py: Added description to "available
episodes" list; made columns resizable and reorderable and
added "ellipsize" property to both name and description field
* bin/gpodder: bumped release date again (wonder if we should
use svn:keywords on that file some time soon ;)
Mon, 20 Nov 2006 11:58:37 +0100 <thp@perli.net>
* src/gpodder/libipodsync.py: Applied patch from Nick (nikosapi
gmail com) to add file size to iTunesDB. This should fix the
constant disk spinning on 5G iPods. Thanks :)
Sat, 18 Nov 2006 11:41:16 +0100 <thp@perli.net>
* src/gpodder/libipodsync.py: Applied modified patch from (nikosapi
gmail com) to add "blue bullet" and "remember playback position"
for fifth generation iPods when syncing to Podcasts playlist
Fri, 17 Nov 2006 21:42:18 +0100 <thp@perli.net>
* src/gpodder/gpodder.py: Clear list of downloaded items after
deleting the last channel (thanks to Alain Tauch for reporting)
Fri, 17 Nov 2006 11:10:42 +0100 <thp@perli.net>
* src/gpodder/liblogger.py: Added new logging facility
* src/gpodder/libgpodder.py: Removed isDebugging() and debug flag
* src/gpodder/*: Use new liblogger instead of isDebugging() in
libwget.py, liblocdbreader.py, libplayers.py, libpodcasts.py,
libgpodder.py, libipodsync.py, gpodder.py and liblocaldb.py
* TODO: Updated TODO list
* bin/gpodder: bumped release date again
Thu, 16 Nov 2006 23:44:43 +0100 <thp@perli.net>
* src/gpodder/liblocaldb.py: Applied modified version of patch
from Alain Tauch to fix a bug in liblocaldb.py; re-factored the
whole module to get rid of caching cruft and old code; this
should also fix the long-standing "new downloaded channel doesn't
appear and requires a restart of gPodder" problem :)
* bin/gpodder: bumped version + release date
Wed, 15 Nov 2006 12:12:13 +0100 <thp@perli.net>
* setup.py: Added "pt" to list of languages to install
* data/gpodder.desktop: Added Portuguese description
* data/po/pt.po: Added Portuguese translation by Joel Calado
* Makefile: Improved "make cl" target (also process added files)
Tue, 14 Nov 2006 19:44:03 +0100 <thp@perli.net>
* Makefile: FreeBSD compatibility fix (sed command)
Thanks to Alain Tauch for reporting this bug
Mon, 13 Nov 2006 12:06:12 +0100 <thp@perli.net>
* src/gpodder/libipodsync.py: incorporated (slightly modified)
patch from (nikosapi gmail com) to add "time released" and
cover (for photo/color/nano iPods) to iTunesDB
* AUTHORS: updated list of patch writers
* bin/gpodder: bumped version + release date
Sat, 21 Oct 2006 12:15:30 +0200 <thp@perli.net>
* src/gpodder/libipodsync.py: Defaulting to 60 minutes podcast time
when not able to get real length (and spit out a warning for it)
Sat, 30 Sep 2006 20:34:19 +0200 <thp@perli.net>
* TODO: updated TODO list
Wed, 20 Sep 2006 13:10:47 +0200 <thp@perli.net>
* setup.py: Added sv + it to languages list
* data/po/it.po: Added Italian translation by Antonio Roversi
Thu, 10 Aug 2006 16:28:39 +0200 <thp@perli.net>
* data/gpodder.desktop: Added patch from Thomas Nilsson
Thu, 10 Aug 2006 15:30:22 +0200 <thp@perli.net>
* Makefile: Modified some statements to work better on BSD-like
systems (like Mac OS X)
* data/po/sv.po: Added Swedish translation by Thomas Nilsson
Mon, 07 Aug 2006 13:57:59 +0200 <thp@perli.net>
* src/gpodder/libpodcasts.py: Improvements in get_filename
* src/gpodder/libgpodder.py: Generate new filenames when
different URL channels have same "filename" property, so
these don't collide (thanks to ubunt2@gmail.com for reporting)
* src/gpodder/gpodder.py: Removed shortname property references
* Clean-up: Removed orphaned "shortname" property on channel
Wed, 02 Aug 2006 20:21:49 +0200 <thp@perli.net>
* src/gpodder/libpodcasts.py: strip channel and episode title
when changing it (so titles with a trailing newline don't mess
up the episode list -- first seen with the play.fm podcast)
* Makefile: improved "make cl" target support
Sun, 30 Jul 2006 15:11:51 +0200 <thp@perli.net>
* Added new makefile target "cl" to automatically generate a
new changelog entry with right formatting
* Housekeeping for going svn again (version. debugging variable)
Fri, 28 Jul 2006 14:34:37 +0200 <thp@perli.net>
* ** gPodder version 0.8.0 is here! **
* Thanks to all the contributors that helped make this release
possible, especially thanks to the gpodder-devel list users
* Updated README, TODO, ...
Sun, 23 Jul 2006 23:57:25 +0200 <thp@perli.net>
* Patched data/gpodder.glade with patch from Alain Tauch
* Added French comment to data/gpodder.desktop
* Updated French translation (data/po/fr.po) from Alain Tauch
Thu, 20 Jul 2006 15:11:57 +0200 <thp@perli.net>
* Starting integrating changes and fixes suggested by
feedback on gPodder 0.7.9
* Thanks to Haim Roitgrund (and his son :) for suggesting
the "select all" features (see next three entries)
* Added "download all" button that downloads not-already
downloaded episodes from available podcast list
* Added "cancel all" button that cancels all current
running downloads to the downloads tab
* Added "delete all" (cleanup) button to the downloaded
podcast list - deletes all episodes in currently
selected channel (and removes the empty channel)
* Bumped version + date to a SVN devel version
* Debugging variable set to "True" for the next few
days now before the 0.8.0 release
* Updated TODO list
Mon, 17 Jul 2006 17:02:15 +0200 <thp@perli.net>
* Set update_on_startup in gPodderLib so gPodder doesn't
crash for first-time users with no gPodder configuration
* Updated German translation file + messages.pot
* Version set to 0.7.9 - this is a testing version before
the 0.8.0 release
* References to 0.8 have been changed to 0.8.0 - gpodder
will have a 3-digit version number beginning from now
so we can put out smaller bugfix releases (0.8.1, etc..)
between the bigger releases if needed
* Debugging output disabled for this testing release. if
you want to enable it, set the "debugging" variable to
True in src/gpodder/libgpodder.py
* Preparations for the 0.8.0 release (TODO list, etc..)
Fri, 14 Jul 2006 21:07:56 +0200 <thp@perli.net>
* Multiple selection support for downladed items list
* Bumped up version and release dates
* Updated parts of README file for upcoming 0.8 release
* Updated TODO list
* Do nothing if zero elements are selected for the new
multiple selection items (previously showed bogus
confirmation message to user - not good! ;)
* Re-designed "Updating feed cache" dialog, simplified
it and added a progress bar to it
* gPodderChannelReader now accepts an optional callback
parameter for download status indication (see above)
* Fixed multiple selection for downloaded item info box
* Added direct download button to episode info when
opened from "available podcasts" tab; now you can
double-click, read description, download if you like
or dismiss the dialog; should speed things up for ya!
Fri, 07 Jul 2006 14:21:59 +0200 <thp@perli.net>
* Added workarounds to libopmlreader to support
subscription lists from odeo.com (Import from web)
* Unquote URL-encoded text from odeo.com opml feeds
Thu, 06 Jul 2006 20:55:37 +0200 <thp@perli.net>
* Multiple selection support for download progress list
* Pushed version number and release date
Thu, 22 Jun 2006 23:37:50 +0200 <thp@perli.net>
* Added support for multiple-selection in available podcasts
tab and starting simultaneous downloads at once
* Updated TODO list
Tue, 13 Jun 2006 22:38:17 +0200 <thp@perli.net>
* Added libopmlreader, first cut of OPML input support -- you
can now select from a list of channels and add them to your
local channel list
* Added config option "opml_url" to specify URL which will
be used as source for the OPML input support feature
Tue, 13 Jun 2006 20:20:07 +0200 <thp@perli.net>
* Removed ipod-dbus support (has now its extra branch in svn)
* Bumped version date + release date
* You can run gPodder on python2.3 again (instead of 2.4 only)
* libplayers now handles .desktop command lines according to
the freedesktop.org spec (%F, %f, %U and %u supported)
Fri, 09 Jun 2006 12:37:54 +0200 <thp@perli.net>
* Applied a modified version of Camille's patch to get videos
(mov, mp4, m4v) working with iPod video devices on sync -
can anyone w/ a video iPod test this if it's working?
Thu, 08 Jun 2006 23:58:49 +0200 <thp@perli.net>
* Fixed a bug where a "&" character in the channels list would
result in gPodder to crash - thanks to Haim Roitgrund for
pointint out that error and providing a nice bug report!
* Pushed version and release date
Mon, 05 Jun 2006 15:55:01 +0200 <thp@perli.net>
* Packages you will need for debian compile (in README)
Sun, 28 May 2006 16:13:38 +0200 <thp@perli.net>
* Added "only download new podcasts" to TODO list
Mon, 01 May 2006 21:28:24 +0200 <thp@perli.net>
* Applied patch from Adrien Beaucreux <informancer at web.de>
to support "update on startup" option (updates feed cache)
(fixes bug #7346)
Fri, 14 Apr 2006 14:40:47 +0200 <thp@perli.net>
* Commented-out the "eject" call on end of iPod sync for now
* Fallback to default download dir if not able to create it
Thu, 13 Apr 2006 12:06:50 +0200 <thp@perli.net>
* Added support for DESTDIR= in Makefile (thanks to Steve for
pointing this out..)
Tue, 11 Apr 2006 18:53:00 +0200 <thp@perli.net>
* Make directories recursively, more efficient (in libgpodder)
Mon, 10 Apr 2006 18:44:48 +0200 <thp@perli.net>
* Added "Released" column to available podcasts list
Mon, 10 Apr 2006 09:48:00 +0200 <thp@perli.net>
* Updated TODO list
Sun, 09 Apr 2006 18:10:54 +0200 <thp@perli.net>
* Added iPodManager and iPod to libipodsync (D-BUSified)
* Automatically detect connected iPod, ask if user wants to sync
* Automatically eject iPod device on sync finish (should be opt.)
* Python 2.4 is now used instead of Python 2.3 (for D-BUS)
* Lots of D-BUS magic, still VERY experimental..
* gPodder SVN will now feature very experimental D-BUS stuff in
the near future, related to iPod, but it should keep working
if you either haven't installed "gpod" or "dbus" for Python2.4
* Send your RANTS about svn not working to thp@perli.net.. hehe
* Updated German translation
Sun, 09 Apr 2006 14:10:28 +0200 <thp@perli.net>
* Enabled podcast flag setting (works with libgpod cvs)
* Fixed a brainfart of mine -- new localDB could not be created
Sat, 08 Apr 2006 16:39:08 +0200 <thp@perli.net>
* Save more details in localDB
* Show more details in podcast window
Sat, 08 Apr 2006 14:39:28 +0200 <thp@perli.net>
* "debugging" variable set to True again
* [ Bug #7016 ] corrupt file length -- fixed
* Pushed version (we'll now keep 0.7+svn... until 0.8)
* If debug output is disabled, also don't display wget commandline
Sat, 08 Apr 2006 12:30:59 +0200 <thp@perli.net>
* ** gPodder version 0.7 is here! **
* Bumped version number to 0.7
* Updated documentation files, Manifest, ...
* Thanks to all the contributors that helped make this release
possible, especially thanks to the gpodder-devel list users
* Now, also set "debugging" variable to False for release
Sat, 08 Apr 2006 09:56:41 +0200 <thp@perli.net>
* Added choice to podcast channel config dialog to select if the
user wants to sync to the "Podcasts" playlist or to a specially
named playlist on the iPod.
* Fixed a bug that doesn't save settings of a channel when the
localDB was empty
* Updated German translation
* Fixed a bug with localDB channel list display
Sat, 08 Apr 2006 08:44:31 +0200 <thp@perli.net>
* Applied patch for French translation (thanks Alain Tauch)
* Updated Makefile to give the user a overview of commands on "make"
* Updated Makefile to only generate the messages.pot file when
explicitly called with "make messages" - this should put us in
for less useless SVN diffs, as suggested by Alain
* Modified "doc/dev/i18n.txt" to reflect changes of today
* Applied patch from Adrien Beaucreux to make the podcastChannel
class act like a Python list and therefore make code more cute
* Modified "data/po/Makefile" and "Makefile" for modifying the
*.po files only when explicitly requested by the developer
Fri, 07 Apr 2006 22:00:06 +0200 <thp@perli.net>
* Uhh! Gotta love bureaucracy (bureaucrazy?) -- anyway, got some
more GPL-related copyright notices into the source tree
* Removed "debian/" structure for now.. Currently working with
people at Ubuntu ("REVU") to get a decent Ubuntu package for
gPodder, based on the great work of Peter Hoffmann
* The debian build structure will probably be seen elsewhere soon
Fri, 07 Apr 2006 21:22:11 +0200 <thp@perli.net>
* Put podcasts onto the iPod in a more iTunes-like way
Fri, 07 Apr 2006 20:06:29 +0200 <thp@perli.net>
* Make iPod mountpoint configurable (gPodderLib, glade GUI)
* Display error message when iPod cannot be found/accessed
* Updated gpodder.desktop file
* Updated german translation
* Updated deb package source for upload to Ubuntu's REVU
* Fixed BUG that prevented user from adding channels (huh!?)
Fri, 07 Apr 2006 04:59:01 +0200 <thp@perli.net>
* Added "Suggests" to the Debian control file
* Updated Debian changelog, pushed version of debian package
* Pushed version date in bin/gpodder
Fri, 07 Apr 2006 03:33:18 +0200 <thp@perli.net>
+ Added new XML tag to localDB so we can save channel metdata
* Channel metadata save/read functions
* Added sync_to_devices metadata field to podcastChannel
* Disabled some unneeded debug output
* Callback-function support in libipodsync (for GUI feedback)
* iPod synchronization status window
+ Added data/artwork/* stuff for iPod sync window graphics
* iPod synchronization - check if an episode is already on iPod
* call "sync" on episode copy end to iPod to show real progress
* Sync all channels (that are enabled) instead of just one to iPod
* Added "sync to devices" to Channel Editor window
* Updated German translation
* Updated TODO list
Thu, 06 Apr 2006 15:38:45 +0200 <thp@perli.net>
* Applied patch from Ortwin Forster (ortwin@videotron.ca) to fix
special characters in XML files (escape ampersands, ...)
* Applied patch from Alain Tauch to search for *.desktop files in
the libplayers in more than one directory
+ Added French translation (Thanks to Alain Tauch)
* Experimental iPod sync stuff (see doc/dev/ipod-sync.txt)
* Added libipodsync and functionality
* Added iPod sync + cleanup menu items in gladefile
* iPod support will always remain OPTIONAL for gPodder, and gPodder
will keep to have all functionality (except iPod-related of
course) without the user having to have an iPod. If you don't
install the additional dependencies, iPod support will be disabled,
but gPodder will still work as expected..
Wed, 05 Apr 2006 21:04:10 +0200 <thp@perli.net>
* Migrated to new config file style, retaining import support for old
* Using Python's ConfigParser to read/write ini-style config file
* Added option to properties + config to use environment's proxy
* Made gPodderLib a quasi-singleton (only load config once, etc..)
Wed, 05 Apr 2006 16:50:40 +0200 <thp@perli.net>
* Today is the "debian packaging" day - thanks to Peter Hoffmann
for his hard work on getting the "debian/" directory into gPodder
and his work on creating packages - here are some fixes to
streamline package generation and installation..
* setup.py now installs the translation files
* Updated debian/* files (see seperate debian/changelog)
* Modified setup.py to generate "right" source pkg (make release)
* Renamed version in bin/gpodder to "0.7svn", pushed date
* Renamed manpage from gpodder.man.1 to gpodder.1 (obvious error?!)
* Updated MANIFEST.in to include the "debian" subfolder
* Updated Makefile to create "deb" with debuild instead of bdist_deb
* Do not generate binary gettext files (*.mo) on "make release"
* Added Makefile target "debclean" to clean up debian-related stuff
* Fixed several warnings reported by "lintian" for the debian pkg
* Updated TODO list
Tue, 04 Apr 2006 00:16:28 +0200 <thp@perli.net>
* New podcast download location (save_dir + md5 of url + ext),
while still supporting "legacy" locations (for already downloaded
episodes)
* Cleanup of libwget (removed two orphaned functions)
* Notification on startup when running SVN-based version ("warn user")
* Updated data/po/de.po (german translation)
Mon, 03 Apr 2006 21:40:39 +0200 <thp@perli.net>
* Retry adding item to localDB on new download attept when not
yet added to localDB (helps when already downloaded "grey" item
in available list doesn't appear in "downloaded" list)
* Put contents of description into <![CDATA[ ... ]]> in case it
includes HTML (parser chokes on entities like &amp; and also &)
* Better threading, shouldn't fuck up GUI responsiveness after
download has finished (also gives us realtime "downloading"
status updates - yeah, I've now read the pygtk threading faq..)
* Catch exception when wget's URL contains a % sign and the
download thread tries to convert it to an integer
* Today is testing day - fixed some small bugs (see SVN log)
Fri, 31 Mar 2006 18:13:16 +0200 <thp@perli.net>
* Major code clean-up in gpodder.py and other modules
* Updated strings in all source code + gladefile (for i18n)
* Added support for itunes image ("Cover") in channel editor
* Removed orphaned (for a very long time) download status window
* User applications (from libplayers) only readed once now
* Fixed gPodder window icon when running with "make test"
* Updated gladefile (removed status, non-translatable strings)
* Updated data/messages.pot and updated german translation (de.po)
Thu, 30 Mar 2006 23:00:44 +0200 <thp@perli.net>
* Modified makefile for i18n purposes
* Added data/po directory structure
* Localized all strings in src/gpodder/*.py
* Added data/messages.pot
* THIS IS ONLY VERY EARLY i18n SUPPORT...
* Please see "doc/dev/i18n.txt" for more information!
Thu, 30 Mar 2006 21:27:08 +0200 <thp@perli.net>
* First cut of i18n preparation
Thu, 30 Mar 2006 00:03:11 +0200 <thp@perli.net>
* Bumped version number to 0.7-svn
* Set "debugging" variable to True again
* Added "libplayers", which searches for feasible audio players
* Properties dialog uses libplayers to display cute players menu
Wed, 29 Mar 2006 16:54:38 +0200 <thp@perli.net>
* ** gPodder version 0.6 is here! **
* Bumped version number to 0.6
* Updated documentation files, Manifest, ...
* Thanks to all the people who made this release possible! You rock
* Now, also set "debugging" variable to False for release
Wed, 29 Mar 2006 16:19:07 +0200 <thp@perli.net>
* Locking of tree_model access in libwget - should be more stable
* Ask for confirmation when cancelling a ongoing download
* Fixed problems that appeared when starting with a fresh install
* Added even more information dialogs to error situations
Wed, 29 Mar 2006 15:21:32 +0200 <thp@perli.net>
* Re-designed gPodder properties dialog
+ Added option to create a symlink on users' desktop to downloaddir
* Added "Download to" field to gPodder channel editor
* Added showConfirmation function to main gPodder window
* Ask for confirmation on channel / episode delete
Wed, 29 Mar 2006 13:29:51 +0200 <thp@perli.net>
* Only create one localDB object in the main gPodder window
* localDB is now caching data read from localDB XML files
* localDB cache is cleared when a download is completed
* Applied patch from Alain Tauch (bad URL "Add channel.." fix)
* Updated AUTHORS, TODO, contributors list, pushed version date
* Moved getPodcastFilename/podcastFilenameExists into podcastChannel
* Added showMessage function to main gPodder window
* Use showMessage function to show error messages GUI-wise
* Removed orphaned code parts for "not_implemented" function
Tue, 28 Mar 2006 20:30:00 +0200 <thp@perli.net>
* Disable some menu items when not on "available" tab
* Reload the localDB only when changing to "downloaded" tab
Fri, 24 Mar 2006 19:34:21 +0100 <thp@perli.net>
+ Applied yet another patch from Alain (delete downloaded podcasts)
* Delete empty local db index.xml files when no items left
* Updated TODO list
Sun, 19 Mar 2006 18:38:42 +0100 <thp@perli.net>
+ Applied another patch from A. Tauch (stripHTML enhancements)
Sun, 19 Mar 2006 15:11:32 +0100 <thp@perli.net>
+ Applied two patches from A. Tauch <contrib@maisondubonheur.com>:
* fix for local db writer's encoding -> is now really iso-8859-1)
* fixed race condition bug which made some episodes to disappear
Sat, 04 Mar 2006 21:36:56 +0100 <thp@perli.net>
+ Added channel info + general/advanced tabs to channel editor
+ Added channel info/edit button to gPodder main window view
+ Added episode info dialog + open on double-click (available list)
* Fixed getPodcastFilename (returned wrong value)
+ Added Adrien Beaucreux to list of authors/contributors
+ Added Tooltips object + tooltip for info/edit button
* Fixed addDownloadedItem (getChannelIndexFiles doesn't exist anymore)
* Removed URL display in gPodder main window channel combobox
* Updated TODO-List
Fri, 03 Mar 2006 20:59:17 +0100 <thp@perli.net>
* Applied patch from informancer@web.de (see below)
- Reverted to old-style channel properties dialog for now
* Changed debug output to only output when debugging ;)
Sun, 26 Feb 2006 00:11:28 +0100 <thp@perli.net>
* Bumped version number and date in bin/gpodder
* Updated TODO-List
* Strip html inside <description> tags (Reported by Leo Gomez)
Sat, 25 Fen 2006 12:00:00 +0100 <informancer@web.de>
* Added download dir field to channel property window
* Changed save/load of channel.xml to use download dir
* Added download_dir as a property of podcastChannel
* moved chan properties from gPodderLib to podcastChannel
* merged configChannel in podcastChannel
Sat, 04 Feb 2006 19:07:33 +0100 <thp@perli.net>
* ** gPodder version 0.5 is here! **
+ Added "downloaded episodes" tab
+ Added "liblocaldb" for abstraction of readLocalDB
* Fixed version to 0.5
* Small clean-ups
* Updated TODO-List
Sat, 04 Feb 2006 11:54:55 +0100 <thp@perli.net>
* Bumped up version number and date in bin/gpodder
Sat, 04 Feb 2006 11:36:08 +0100 <thp@perli.net>
* Fixed localdb read/write support
Tue, 10 Jan 2006 01:19:44 +0100 <thp@perli.net>
+ Added first cut of localdb support (liblocdbwriter + liblocdbreader)
Mon, 09 Jan 2006 00:13:10 +0100 <thp@perli.net>
+ Added gPodder Properties dialog with http/ftp proxy settings
+ Added very basic config file support to gPodderLib, for proxy
Son Dez 25 10:07:19 CET 2005 <thp@perli.net>
* Fixed "add channel" dialog "OK" button handling (works again)
Sam Dez 24 15:41:57 CET 2005 <thp@perli.net>
+ Added "tepache" tool + tepache howto in doc/dev
+ Added document for development on ubuntu breezy in doc/dev
* Moved is_downloaded to isDownloaded in libpodcasts
Don Dez 8 20:16:40 CET 2005 <thp@perli.net>
+ Added "edit channel" dialog
+ Added "libopmlwriter.py" (a dirty hack to write opml format)
+ Added "export to OPML" functionality
* Fixed wget calls (not using /usr/bin/wget, but "wget", using $PATH)
* Wget detection code on startup with warning when not found
* Updated AUTHORS list in about dialog
* Updated TODO list
Mit Nov 23 20:46:33 CET 2005 <thp@perli.net>
* Improved download status list support
- Removed download status window (code still in codebase)
+ Added ability to remove downloads from download status list
* Prohibit downloading the same podcast twice
* Port "?" handling and "%20" handling in URLs from gPodder 0.4
* Cancel all download threads on gPodder exit ("clean shutdown")
Die Nov 22 23:03:39 CET 2005 <thp@perli.net>
+ Added download status list support
Tue Nov 22 15:12:10 CET 2005 <tosh@cs.tu-berlin.de>
* Build deb packages
* Changed TreeView model, mark already downloaded podcasts
* Add Drag and Drop suppurt for adding channels
* Set icon in window title
* Add deb rule in Makefile
+ Added deb package build instructions doc/dev/debian.txt
Son Nov 20 22:28:10 CET 2005 <thp@perli.net>
* Fixed version info reading in setup.py
+ Added "INSTALL" file
+ Updated TODO list
+ Added GPL (file COPYING)
Sam Nov 19 18:17:35 CET 2005 <thp@perli.net>
+ Created ChangeLog
* Updated TODO list
* Cleanup of source tree
* Makefile changed to fit to new source structure
* Unified version info (only have to edit bin/gpodder)