KatchTV

This is a Bzr branch. To clone, pull or merge from it, use this URL.

For more help, check out the 5-minute Quick Hacking with Bzr or the full Introduction to Bzr.

Log

60 : 2006-05-30 : Lee Braiden : lee.b@digitalunleashed.com-20060530064834-a1318eff70b74672
  • Catch some small type conversion issues
  • 59 : 2006-05-29 : Lee Braiden : lee.b@digitalunleashed.com-20060529200733-fcbf47483645969c
  • Updated MANIFEST
  • 58 : 2006-05-29 : Lee Braiden : lee.b@digitalunleashed.com-20060529192724-5029fd893ac0e1df
  • Multithreaded (ie, parallel) downloading now working.
  • Bittorrent support
  • Categorised channel directories into those that are recommended,
    awkward to use, non-compliant, etc.
  • Expand highly-recommended dirs and subscribed channels by default.
  • Upload throttling for Bittorrent; currently set to 12KBPS in
    code/config.py; change manually if needed
  • Nicer display of downloading/downloaded media items
  • Updated MANIFEST to ship additional files
  • Reduce threads for feed downloading to 2, since it's a small
    task and we want to keep CPU load down for video playback.
  • Dropped TaskPool engine in favour of pre-existing code with small
    modifications for better object-orientation.
  • Small modifications to code, for new threading/taskpool engine
  • Better cleanup handling
  • Small locking issues; locking is currently disabled (in
    code/TaskPool.py/Lockable)
  • Beginnings of bandwidth throttling for http/ftp downloads (currently
    disabled)
  • Some fixes for media item displays
  • Correct some guidance messages
  • Correct dictionary handling for uriToArgs() and argsToURI()
  • Enforce provision of details like title and description when creating
    media items, since the code is there to do it now.
  • utils.wrapURI() function, to supplement what enableWrapping() does.
    Needed to keep uris within browser display limits. Long-term, should
    just debug enableWrapping(). Enforcing wrapping through stylesheets
    would be preferable to this.
  • Moved some methods that are no longer used out of classes, and into utils
    as functions.
  • Save downloaded media items again using new media architecture
  • Save bookmarks when titles are updated
  • Only update feed's last check time AFTER checking for new entries
  • Show new episodes in a different colour in writeFeed (won't actually show
    until other code is changed though).
  • 57 : 2006-05-28 : Lee Braiden : lee.b@digitalunleashed.com-20060528194044-9a7a09414e4856b5
  • Dropped TaskPool engine in favour of pre-existing code with small modifications for better object-orientation.
  • Small modifications to code, for new threading/taskpool engine
  • Better cleanup handling
  • Multithreaded (ie, parallel) downloading now working.
  • Small locking issues; locking is currently disabled (in code/TaskPool.py/Lockable)
  • Beginnings of bandwidth throttling (currently disabled)
  • Nicer display of downloading/downloaded media items
  • Some fixes for media item displays
  • Correct some guidance messages
  • Correct dictionary handling for uriToArgs() and argsToURI()
  • Enforce provision of details like title and description when creating
    media items, since the code is there to do it now.
  • Initial code to allow abortion of download threads; not heavily (ie, barely :) tested so far.
  • utils.wrapURI() function, to supplement what enableWrapping() does. Needed to keep uris
    within browser display limits. Long-term, should just debug enableWrapping().
  • Moved some methods out of classes that are no longer used, to functions in utils.
  • Categorised channel directories into those that are recommended, awkward to use, non-compliant, etc.
  • Save downloaded media items again using new media architecture
  • Save bookmarks when titles are updated
  • Only update feed's last check time AFTER checking for new entries
  • Expand highly-recommended dirs and subscribed channels by default.
  • Show new episodes in a different colour in writeFeed (needs another task finished to actually work)
  • 56 : 2006-05-28 : Lee Braiden : lee.b@digitalunleashed.com-20060527235225-7b6f1b53ea5aadaf
  • Dropped TaskPool engine in favour of pre-existing code with small modifications for better object-orientation.
  • Small modifications to code, for new threading/taskpool engine
  • Better cleanup handling
  • Multithreaded (ie, parallel) downloading now working.
  • Small locking issues; locking is currently disabled (in code/TaskPool.py/Lockable)
  • Beginnings of bandwidth throttling (currently disabled)
  • Nicer display of downloading/downloaded media items
  • Some fixes for media item displays
  • Correct some guidance messages
  • Correct dictionary handling for uriToArgs() and argsToURI()
  • Enforce provision of details like title and description when creating
    media items, since the code is there to do it now.
  • Initial code to allow abortion of download threads; not heavily (ie, barely :) tested so far.
  • utils.wrapURI() function, to supplement what enableWrapping() does. Needed to keep uris
    within browser display limits. Long-term, should just debug enableWrapping().
  • Moved some methods out of classes that are no longer used, to functions in utils.
  • 55 : 2006-05-27 : Lee Braiden : lee.b@digitalunleashed.com-20060527143315-fe02b5ba6fe36f6f
  • Cleaner thread management and shutdown
  • Added download updater with statistics such as download rate estimation
  • Link back to Current Downloads and Ready to Watch pages from media deleted page, since it's
    possible to delete from both pages now.
  • Re-enable download page refreshes now that the page is functional again.
  • 54 : 2006-05-27 : Lee Braiden : lee.b@digitalunleashed.com-20060527135830-1cce863025316e83
  • Removed PodShow channel in favour of PODCastAlley (which is its directory subsection).
  • Much better locking and threadsafety, especially due to moving thread finished() calls to main thread.
  • Most of the parallel downloading architecture there now; still needs finishing touches and testing.
  • Much improved channel updating.
  • Further steps towards new download system.
  • Style changes (not for release)
  • 53 : 2006-05-27 : Lee Braiden : lee.b@digitalunleashed.com-20060527124818-1097d0916a3d2778
  • Removed PodShow channel in favour of PODCastAlley (which is its directory subsection).
  • Much better locking and threadsafety, especially due to moving thread finished() calls to main thread.
  • Most of the parallel downloading architecture there now; still needs finishing touches and testing.
  • Much improved channel updating.
  • NOTE: new download system still incomplete in this revision.
  • 52 : 2006-05-26 : Lee Braiden : lee.b@digitalunleashed.com-20060526130233-09c729b51ff9b1c2
  • Really add code/MediaItem.py
  • 51 : 2006-05-26 : Lee Braiden : lee.b@digitalunleashed.com-20060526130209-ec4e76f43641ed12
  • Add and update feeds via a threadpool, removing UI delays.
    Allows much faster subscriptions, and more responsive UI. Also
    provides a generic architecture for parallel downloads, etc.
  • Handle G4 TV feeds as a special case.
  • Catch some small issues when parsing feeds, for greater reliability.
  • Move towards Parallel Downloads, and media classes.
  • Manually sized columns in sidebar, so newly added long feeds no longer hide the new episodes/downloads column.
  • Other minor changes.
  • 50 : 2006-05-24 : Lee Braiden : lee.b@digitalunleashed.com-20060524175410-f1906af344949bc0
  • Handle date conversion more correctly for feed lastcheck dates.
  • Use episode title if enclosure has no title of its own
  • (internal) use more meaningful names for feed/episode/enclosure
    variables.
  • 49 : 2006-05-21 : Lee Braiden : lee.b@digitalunleashed.com-20060521100110-c0ee56d782da09bb
  • Merged from KatchTV-cleanup branch
  • 2006-05-20 : Lee Braiden : lee.b@digitalunleashed.com-20060520163200-a30382401f4ea52d
  • Code cleanup: moved all code except main executable to code/
  • Code cleanup: moved some helper functions to code/utils.py
  • Borrowed some PenguinTV threading code, as code/ThreadPool.py
  • Code cleanup: Broke up KTVMainWindow.py into separate modules for each
    class, as intended.
  • Security: Don't explicitly enable Javascript for channel guides/sites;
    instead, use defaults from KDE/Konqueror.
  • Use KParts.MainWindow instead of MainWindow.
  • Add fireant as a channel guide.
  • Remove redundant str-to-unicode conversion in KTVHTMLPart
  • Check for unicode rather than str type in utils.isAFeed()
  • 48 : 2006-05-21 : Lee Braiden : lee.b@digitalunleashed.com-20060521091938-c11d9e21f3ad867c
  • Minor changes prior to merge
  • 47 : 2006-05-06 : Lee Braiden : lee.b@digitalunleashed.com-20060506123619-67f0f9c911907dd2
  • Catch and (nicely, through the UI) explain failure to get latest version
    information
  • Nicer general update information on UI pages.
  • 46 : 2006-05-06 : Lee Braiden : lee.b@digitalunleashed.com-20060506000054-5dee5c2b41ad4fdb
  • Added images to MANIFEST (and therefore release tarballs)
  • 45 : 2006-05-05 : Lee Braiden : lee.b@digitalunleashed.com-20060505220340-667eed66eadac6ec
  • tagged release, since bzrpublish failed to
  • 44 : 2006-05-05 : Lee Braiden : lee.b@digitalunleashed.com-20060505215143-ffc8fd0e86f97d07
  • Really add images from earlier work
  • 43 : 2006-05-05 : Lee Braiden : lee.b@digitalunleashed.com-20060505214300-5345c8427874ab48
  • Update ToDo.txt to reflect recently completed work
  • 42 : 2006-05-05 : Lee Braiden : lee.b@digitalunleashed.com-20060505214137-cc7d9ac9a00a8bb5
  • Now notifies the user if a new release is available.
  • More workarounds for unicode decoding issues with bad feeds
  • miniicon for window
  • Logo in manual
  • 41 : 2006-05-05 : Lee Braiden : lee.b@digitalunleashed.com-20060505164054-3372d477fd978bfd
  • Some unicode decode error workarounds for certain bad feeds.
  • Changed "Read more..." link on feeds' episodes to "View website for
    this episode"
  • Added explanation of why some bookmarks are saved
  • Now only saves bookmarks on each view of a feed if the feed actually
    gets updated.
  • 40 : 2006-05-05 : Lee Braiden : lee.b@digitalunleashed.com-20060505160724-a60f22cea4b6fc3c
  • Nicer look to the user interface: better colours, user-friendly text
    instead of uris in more places, more uniform look on different pages,
    separated some options from main boxouts for episodes and downloaded
    items etc.
  • Show version numbers directly from bzr's data, via BzrPublish
  • Simpler downloading, with less steps
  • Ready to Watch page now shows the size of downloaded files, to aid in
    managing storage space.
  • Now downloads unenclosed videos and other media directly. This is useful
    for multimedia feeds aren't proper podcasts (just rss feeds with video
    links), and also for previewing podcasts on sites that allow you to
    download individual episodes without subscribing. If you later subscribe,
    the videos you manually downloaded appear as normal, in your subscribed
    channel.
  • Enclosures and feed pages now use the user's chosen title, rather than the
    default.
  • Just show the title at the top of feed pages, without an explanatory
    "Feed", since user's titles are more obvious.
  • Added support for pcast: URIs
  • Added VLogDir to the list of channel directories
  • Adds an enclosure number to enclosure download titles when no title was
    given in the feed.
  • Switch to all-unicode text and string types, since we're producing unicode
    pages, supporting unicode filesystems, and I'm coding in a unicode locale.
  • Now saves subscriptions and downloads in separate files, so that download
    lists can be removed without losing subscriptions, or vice-versa.
  • 39 : 2006-05-02 : Lee Braiden : lee.b@digitalunleashed.com-20060502064344-18c9416c77ba68e6
  • don't list directories in MANIFEST
  • 38 : 2006-05-02 : Lee Braiden : lee.b@digitalunleashed.com-20060502063436-7c3b4d12da7e0559
  • don't list MANIFEST in MANIFEST
  • 37 : 2006-05-01 : Lee Braiden : lee.b@digitalunleashed.com-20060501172950-45db9db6ac8467d8
  • Remove from MANIFEST too.
  • 36 : 2006-05-01 : Lee Braiden : lee.b@digitalunleashed.com-20060501172851-99a2899e28e9c4f2
  • Removed btbackend.py, which was never used after all.
  • 35 : 2006-05-01 : Lee Braiden : lee.b@digitalunleashed.com-20060501163056-b67acd4992208414
  • More keyword checking for RSS urls
  • Check mimetypes for pages and alert of bad types in status bar, so that the user doesn't can't browse raw data (such as video streams) that khtmlpart can't show directly.
  • 34 : 2006-05-01 : Lee Braiden : lee.b@digitalunleashed.com-20060501160048-9c608cccf27498f7
  • Decode CNet use of uri encoding in content titles
  • 33 : 2006-05-01 : Lee Braiden : lee.b@digitalunleashed.com-20060501153345-aa8ad3af05dbf368
  • Detect feed types using content-type and various keywords in URLs too.
  • Handle feed://, feed:, rss://, and rss: URIs
  • Don't throw an exception if asked to delete a file that has already been deleted.
  • Better support for generating pages with javascript (Scripts themselves still don't work though :)
  • Make sure javascript is enabled in the browser
  • 32 : 2006-05-01 : Lee Braiden : lee.b@digitalunleashed.com-20060501114951-3ce9c90abab74d5a
  • Show title instead of URI on local file deleted page.
  • 31 : 2006-05-01 : Lee Braiden : lee.b@digitalunleashed.com-20060501110723-06d4ce6f5ca36cfe
  • Removed scrollbars from player page
  • 30 : 2006-05-01 : Lee Braiden : lee.b@digitalunleashed.com-20060501103158-a219afed53b10d42
  • Relax maximum feed timeout to 10 seconds
  • 29 : 2006-05-01 : Lee Braiden : lee.b@digitalunleashed.com-20060501101345-816d485bef464fa1
  • ignore project files by name
  • 28 : 2006-05-01 : Lee Braiden : lee.b@digitalunleashed.com-20060501101205-9a8c6b859395c75e
  • Added a timeout (5 seconds) to feed parsing, and a notification page for feeds that don't parse in time; much nicer than long hangs on bad feeds.
  • Changed cleanup method, so that exit is reliable, and errors from underlying subsystems (such as kaffeine) are shown more clearly.
  • 27 : 2006-05-01 : Lee Braiden : lee.b@digitalunleashed.com-20060501090619-4b1bb4cf0015aaf8
  • Ignore Eric3 project files, to prevent having to re-commit every time I close Eric :)
  • 26 : 2006-05-01 : Lee Braiden : lee.b@digitalunleashed.com-20060501090408-23ef0dc1c72d7848
  • Dramatically improved startup time: made parsing of feeds when adding a new channel conditional on not knowing the
    channel's name.
  • Added a maximum feed length of 300 episodes/articles, just in case there are some really screwed up feeds out there.
  • Recognise more feed URLs
  • Properly clear the All Channels list, without deleting and re-creating the All Channels item itself.
  • Don't update channels at startup, when there's already an update timer to handle this. Dramatically improves
    startup time.
  • 25 : 2006-05-01 : Lee Braiden : lee.b@digitalunleashed.com-20060501004143-d5ebb6f03b2aa91e
  • Recognise some more feeds
  • 24 : 2006-05-01 : Lee Braiden : lee.b@digitalunleashed.com-20060501001739-4d3c6820220541b3
  • Use proper namespace for exception handling when threads are killed
  • Minor code cleanups
  • Set last update time for new feeds to the beginning of time, rather than now, so they're updated correctly.
  • Recognise libsyn feeds
  • 23 : 2006-04-30 : Lee Braiden : lee.b@digitalunleashed.com-20060430214309-1e099e37f6f06632
  • Small improvements to reliability/cleanness of shutdown.
  • 22 : 2006-04-30 : Lee Braiden : lee.b@digitalunleashed.com-20060430210343-48016982317ff987
  • Move thread sleep() call to outside condition, to reduce CPU usage to normal levels.
  • 21 : 2006-04-30 : Lee Braiden : lee.b@digitalunleashed.com-20060430175057-c5ff2874e05d92c3
  • Fixed a trivial printf formatting problem that was preventing downloads.
  • 20 : 2006-04-30 : Lee Braiden : lee.b@digitalunleashed.com-20060430150624-b7aceb33bbcabf98
  • Added requirements and notes on the problems with buggy MPlayer software to installation instructions.
  • 19 : 2006-04-30 : Lee Braiden : lee.b@digitalunleashed.com-20060430145636-3a8b7e3fe2f0203e
  • Updated MANIFEST
  • Renamed LICENSE to LICENSE.txt, again for any windows users that couldn't read it otherwise
  • 18 : 2006-04-30 : Lee Braiden : lee.b@digitalunleashed.com-20060430145310-55e2be5dd4569784
  • Moved README to README.txt for any windows users that want to read it.
  • Updated README.txt to explain installation.
  • 17 : 2006-04-30 : Lee Braiden : lee.b@digitalunleashed.com-20060430144229-cfaa01bc6496429c
  • Add manual images I forgot
  • 16 : 2006-04-30 : Lee Braiden : lee.b@digitalunleashed.com-20060430144047-6909c9523a2b2d32
  • In feed view, moved link from Episode's title header to a "Read more..." link at the bottom of
    the episode box. The other way could mislead users into clicking on the title and going to the channel's website,
    when they really wanted to just get the enclosure.
  • Removed urls from feed view, displaying a nicer title instead.
  • Some other small feed view improvements.
  • Update channels as they're added, and not on startup for all feeds. This lets the same code
    work when new channels are added too. Also moves main code from _updateChannels to updateSingleChannel().
  • Changed the download begun page (_beginAndWriteDownload()), to look nicer, and to explain a bit about
    how users can find out when a download has finished, and what they can do in the meantime.
  • Heavily updated the manual in preparation for release.
  • Renamed "VODCast Directories" to "Channel Directories" and "All Channels" to "Subscribed Channels"
    for clarity.
  • 15 : 2006-04-30 : Lee Braiden : lee.b@digitalunleashed.com-20060430122549-55c8971bb0a63827
  • Removed an old code comment which is no longer relevant
  • Call _updateChannels() on startup as well as every minute via timer.
  • 14 : 2006-04-30 : Lee Braiden : lee.b@digitalunleashed.com-20060430120941-75538490d774c2e8
  • Ready to Watch list item is now updated with the number of new episodes when a download completes. This is not currently saved on quit/restart, however.
  • 13 : 2006-04-30 : Lee Braiden : lee.b@digitalunleashed.com-20060430114733-002d0b3c6a57bcca
  • Added new episodes column
  • Added column for time last updated
  • Added methods for updating a feed, and getting the number of new articles
  • Modified bookmark loading/saving to include number of new episodes
  • 12 : 2006-04-30 : Lee Braiden : lee.b@digitalunleashed.com-20060429235739-83714f465f6dfeb2
  • Also make Manual and progressBar html paths relative to appRoot
  • 11 : 2006-04-30 : Lee Braiden : lee.b@digitalunleashed.com-20060429235147-973841b8f1eb8718
  • Completed support for loading files from approot, even when executed from a symlink
  • 10 : 2006-04-30 : Lee Braiden : lee.b@digitalunleashed.com-20060429234653-1f29dc1c0612e066
  • Now figures out the application root directory, and includes files from there.
  • 9 : 2006-04-29 : Lee Braiden : lee.b@digitalunleashed.com-20060429221406-cb7b7f6245dffe26
  • Forced Unicode encoding
  • Added try/except wrappers for VERY badly formatted feeds which break encodings
  • Add Bookmark button, with URL validation
  • Delete Bookmark button, with checking of "All Channels" parentage
  • Moved "Help" bookmark entry to a separate help button below the bookmark list
  • Added a please wait message on startup
  • A lot of work towards cleaner/more reliable shutdown
  • (Slightly) nicer web pages via stylesheets and blocked-out items in feed lists
    , download lists, etc.
  • (Slightly) nicer progress bar image
  • Nicer manual look, to match other pages.
  • Removed right-click handler, since delete button does that now.
  • Added many more directories
  • Added a default channel: Josh Leo's Picks (need more, or none at all)
  • Better algorithm to detect if a url is a feed or not
  • 8 : 2006-04-29 : Lee Braiden : lee.b@digitalunleashed.com-20060429144424-e440b0aabf7e2f84
    Removed .py extension from main app command.
    7 : 2006-04-29 : Lee Braiden : lee.b@digitalunleashed.com-20060429144225-ee658f7497b97160
  • Added more status bar reports, such as when loading a bookmark
  • Fixed titles for newly added feeds
  • Download files to ~/.KatchTV/mediastore/, with unique filenames
  • Download/rename files with extensions that reflect their contents, so they play properly
  • Auto-Prune media storage directory, when there is no longer any content in subdirs.
  • Reget files automatically if present on the local filesystem, but only attempt once. On the second attempt, reget
    from scratch.
  • Save and restore download queue (it's broken without this, since it
    could resume an existing file from another download that uses the same URL basename)
  • Many other small changes
  • 6 : 2006-04-28 : Lee Braiden : lee.b@digitalunleashed.com-20060428215108-c6cd0c96cd14cfdb
  • Ignored some media files, just in case
  • 5 : 2006-04-28 : Lee Braiden : lee.b@digitalunleashed.com-20060428214736-92c6c77b59899909
  • Added MANIFEST for bzrpublish
  • 4 : 2006-04-28 : Lee Braiden : lee.b@digitalunleashed.com-20060428214336-c3ce7f53e1bf6e69
  • Fleshed-out the manual, providing basic instructions for new users, a summary of features and areas that are lacking, as well as a mailto: for bug reports
  • Added a mailto: link handler to the browser for mailto: links in the manual; it seemed to have problems working automatically
  • Download page automatically refreshes now
  • Download statistics properly fill download page, without scrolling (except in small windows)
  • Media player page fills a large area, since there's doesn't seem to be a good way to make it scale to any
    window size.
  • 3 : 2006-04-28 : Lee Braiden : lee.b@digitalunleashed.com-20060428182624-a5f6ebc7b5c11cab
  • Added Docs and Docs/Manual directory.
  • Added help bookmark, which loads the manual
  • 2 : 2006-04-28 : Lee Braiden : lee.b@digitalunleashed.com-20060428181419-cd176423026ddb84
  • Added GPLv2 License file
  • Now able to download files, complete with UI for adding downloads, checking status (needs work), and
    deleting downloaded files from the cache. The cache also needs work, since it currently just downloads
    to a simple basename in the current directory.
  • Now plays media in the browser using <embed> tags
  • Democracy TV channel guide included as a media directory
  • Added URLGrabber as thirdparty code, since it's used for downloading
  • Added loading and saving of bookmarks
  • Added loading and saving of downloaded files
  • Saves bookmarks list when renamed via QListView's inline renaming
  • 1 : 2006-04-17 : Lee Braiden : lee.b@digitalunleashed.com-20060417180511-d6b1cdaf45e752bd
  • Initial checkin after move from svn