Thomas, Thanks for your suggestions. They all make sense, and your explanations were clear. This first attempt was very much a 'brute force' type approach since I didn't know how easy (or hard) it might be. Hence the changes to the model & db schema. Now I can go back and polish it up. :) I'm still not sure how to customize the UI components via the extensions framework (I see the context menu extension but nothing else), but I will update my code to address your other points first and report back in a week or two... thanks! Joseph --- On Thu, 3/15/12, Thomas Perl <m@xxxxxx> wrote: > From: Thomas Perl <m@xxxxxx> > Subject: [gpodder] Re: More on device sync > To: gpodder@xxxxxxxxxxxxx > Date: Thursday, March 15, 2012, 4:41 AM > Hi, > > On Mon, Mar 12, 2012 at 08:53:12AM -0700, Joseph > Wickremasinghe wrote: > > I've uploaded my proposed patch as bug 1579, as the > patch seemed too > > big to send to the mailing list. > > > > https://bugs.gpodder.org/show_bug.cgi?id=1579 > > Thanks, I've reviewed the patch and added some feedback in > the bug > tracker - feel free to ask if anything is unclear. > > > The code for iPod sync is included, but I removed > 'iPod' from the > > device options drop-down for now. I updated the > database schema to add > > a 'sync_to_device' and 'playlist_name' columns to the > podcast table > > and 'is_played' to episodes. Schema version is now 3. > > Please don't do this - the extensions mechanism has the > ability to store > arbitrary configuration variables. The "sync_to_device" > should be either > a list of podcast URLs (or IDs) to sync or alternativey a > list of URLs > (or IDs) to exclude from syncing (depending on what is the > default). > > Also, the "is_played" field only makes sense in 2.x. In 3.0, > the field > is called "is_new" (and the boolean meaning of it is > reversed, i.e. if > it is played, "is_new" will be set to False). > > > 2. Get 'custom sync name' working. {episode.title} > works, but I can't > > figure out where the episode published date is stored > in the 3.0 > > object model. > > The field is called "published" in the schema. > > > 3. Update the interface to allow the user to specify > which podcasts > > are synced (at present it's all or nothing) > > See above for how I think this should work with the > extensions config. > > > 5. Update syncing to allow a episode that has been > deleted on the > > device to be marked for deletion within gPodder. > > For that, you somehow have to remember if episodes were > synced or not > (otherwise you can't distinguish an episode that has never > been synced > from an episode that has been synced and then deleted). > > > Thanks, > Thomas > > >