OverDrive Libraries

By BlindWanderer Last update May 19, 2012 — Installed 317 times.

Revision History 2.x

in
Subscribe to Revision History 2.x 8 posts, 1 voice



BlindWanderer Script's Author
FirefoxWindows

This version introduces several new features and many changes to how the code is organized.

Version 2.0

  • Added: Live Search Filtering (by Creator, Series and Regular Expression)
  • Added: Link generation (turn creator and series text into links).
  • Changed: Autopager support has changed, the old rules will not work.
    • Classic OverDrive Search
      • ^http://search.overdrive.com/(classic/|mobile/|)(retail/|)SearchResults\.asp$
      • //a[(text()='Next >>')]
      • //tr[contains(concat(' ',@class,' '), ' item ')]
    • Provider Search
      • .*/en/SearchResults(UserRank|-Coll|)\.htm\?.*
      • //a[(text()='Next >>')]
      • //tr[contains(concat(' ',@class,' '), ' item ')]
  • More advanced search options.

It should be noted that not everything may be working properly, I didn't see anything not working but it's easy to miss something.

 
BlindWanderer Script's Author
FirefoxWindows

Version 2.1


This edit is mostly about bug fixes and upgrading the code. I'm reducing the custom logic to generic code, making it more readable and maintainable. There is more that can be done on this front and the implementation is less than perfect. One task is to move the parsing logic from Item::getAdditional() into the actual objects involved. I do not foresee any major new features at this time.

Notes:
Need to use tri-state checkboxes.

 
BlindWanderer Script's Author
FirefoxWindows

Version 2.2


I've been meaning to upload a version 2.2 but I never had the time, so I kept making small changes... many small changes later... Now there have been so many changes to that I honestly couldn't list them all.

The big feature in this release is real-time Sorting. And it works with AutoPager (auto updates)! It's really cool. One of the sort modes is by Series (and then by volume and title). Many more pages now get linkification. Creator searching is now possible in most situations.

I have discovered that some of the pages include commented out living html. I've added parsing for this in many situations, so this script may be aware of more than what is just displayed.

More importantly in a few situations, the script uncomments code. Particularly on the WaitingListForm page. I have not tried the restored functionality but I suspect the library would get billed for me using it. That and best to let sleeping dragons lay.

Adding support for new pages is getting easier. Just an hour of coding and debugging and poof, another page supported, standard features work out of the bag.

 
BlindWanderer Script's Author
Firefox

Version 2.3


I released this version to improve compatibility with Firefox 4.0. In addition to that, a new feature creeped into this release, early stages of updating of the item counter in searches. It's only been implemented on overdrive classic searches.

 
BlindWanderer Script's Author
Firefox

Version 2.4

This version is mostly about code cleanup and maintaining compatibility with Greasemonkey, AutoPager and Firefox; though a few new features creped in. Latest versions of all three are now supported.

 
BlindWanderer Script's Author
Firefox

Version 2.5

Improved sorting on searches. When searching, items that share the same title and creator are assumed to describe the same title. Instead of sorting each item on its individual metadata, the metadata is combined and they are sorted as if they were a single item. The most popular (non empty) value is the one to be used for sorting. To speed up sorting these average values are cached (the cached values are updated when a new item is added to the group). To facilitate this and other changes more code reorganization was required.

Unstyled track lists are now styled.

Current script size is hovering around 220 KiB, I'm trying to get it down by reducing code duplication and modernizing the script. One of my goals is to have this version be able to run in "strict mode". Some changes will be needed to have this work transparently.

I have released 2.5 a bit before I wanted to but they have updated wishlists and searches and not wanting to leave my loyal (non-existent) fanbase without a working script I have rushed this out.

Other changes include tighter loading restrictions (keeping the script out of https pages it shouldn't be in). More metadata filtering options.

 
BlindWanderer Script's Author
Firefox

Version 2.6

I've uploaded this version despite it not working everywhere because It fixes most places that were broken by overdrive website updates.

Also AutoPager rules are working sporadically and need tweaking.

Changes:

  • Better sorting?
  • Better series parsing
  • Content fixing & cleanup (missing line feeds).
  • Deprecating SmartQuotes
  • Better parsing for specific fields
  • Preliminary support for 'Recommend.html"
  • Broken Script parsing (don't remember what this was supposed to fix but it's fixing it)
  • Rewrote link generation (don't know why)
  • Holding down ctrl when selecting a QuickSearch or Provider option will open it in a new tab.
Known Bugs:
  • Titles that are in two (or more) series do not have their series field properly parsed (nor can the back end handle this situation, it is quite vexing).
  • searchmodern does not work, they changed the back end on me and I can't get a CSV anymore (I finally get around to implementing the function and they have removed the functionality!) x_x
  • Parsing does not work everywhere and it cannot be made to without signification amounts of work. I had been hoping that by using clever enough xpath expressions I could unify the all libraries but the layouts have diverged sufficiently with time that I need to create separate profiles for each domain. Either I make the code harder to read and maintain by not using domains (it's already impossible to maintain) or I use domains and have to rewrite almost all of the parsing engine. Either way its a huge amount of work. I guess that's the feature for 3.0
  • The script is slow. I'll be addressing this soon, I'm currently reading a book on javascript patterns, which should improve things (I really like some of my anti-patterns, they are quite clever).

 
BlindWanderer Script's Author
Firefox

Version 2.7

This version is intended to improve speed. It does provide better support for some websites (as did the previous).

I didn't know this until I stumbled upon it in the Mozilla documentation, you can compile XPath expressions! So I've augmented my XPath functions to take compiled expressions and added a caching expression compiler. I've added an extra layer to the compiled expressions so I can keep some tracking information (and so I can examine it and know what the source expression was). The compiled expressions seem to work the same as their uncompiled counterparts. Next project is to reduce the number of calls to the compiler (it will be faster if the code can cache the expressions locally instead of having to dig through the compilers cache.

Cross
Presentational HTML allowed.
Use <code> for inline code and <pre> for code blocks. Use &lt; and &gt; for literal < and >.
We help break paragraphs and link your links.
or cancel