http://bugs.gpodder.org/show_bug.cgi?id=12
--- Comment #33 from Justin Forest <[EMAIL PROTECTED]> 2008-06-18 23:28:40 --- First of all, I think the old icon (gtk.STOCK_NEW) was more, umm, convenient. Second, why would a user want to mark an episode as new at all (there's an option in the popup menu)? If it's deleted -- just "download again", but why mark it as new? I think it's confusing and better be removed. I've just checked for updates and it was much quicker, perhaps because the caching headers are finally used correctly. However, some feeds have new episodes that weren't downloaded and aren't marked as new (I know I neither downloaded nor deleted them). I'll make a backup before the next update and post here if I find out what and why happens. > c = podcastChannel.get_by_url(self.url, old_channel=self) > # FIXME: what to do with c? return or update "self"?? Update self, of course. get_by_url() should be calling update(), and update() should do what get_by_url() does now, that would be much more understandable. What fix_corrupted_state() does is good, bu it needs to be reflected in database and in the channel list simultaneously, because it directly affects the indicators ([unplayed|downloaded]). This is quite a complicated issue and goes too deep in libpodcasts/gui interaction, so in this bug I just summarize it. If you want to rearrange the states (which is definitely a good idea), then they must be used as a enum, not flags, and stored in one integer. The states would be: new, downloaded, played (implies "downloaded"), deleted. Either "played" or "locked" should remain a binary flag, the other one can be made a separate state (because only downloaded episodes can be played and locked). So there is one int for states and one flag in the database. This sounds much more consistent. This way icons can be directly mapped to states. Channel statistics are now returned as a list. I'd rewrite this as Storage.get_channel_state_count(channel_id, state), or something. Would be easier to use and perform better. > is_new = episode['is_new'] > if is_new and can_download: This part in gui.py should use new states, I believe. There are more episode['is_*'] references. Otherwise the cleanup (and all) looks good. I can do most of what I wrote here tomorrow, if all sounds ok. -- Configure bugmail: http://bugs.gpodder.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching all bug changes. _______________________________________________ gPodder-Bugs mailing list [email protected] https://lists.berlios.de/mailman/listinfo/gpodder-bugs
