Coder Social home page Coder Social logo

rhollister / goodreads Goto Github PK

View Code? Open in Web Editor NEW
83.0 12.0 23.0 1.07 MB

Chrome and Firefox extension that displays availability of ebooks and audiobooks from your local library on Good Reads pages.

License: GNU General Public License v2.0

HTML 4.58% JavaScript 90.80% CSS 4.29% Shell 0.32%

goodreads's Introduction

Available Reads

Displays listings on Goodreads of loan availability of ebooks and audiobooks through your local library's Libby/Overdrive account.

Install for free from your browser extension marketplace:

Screenshot

Screenshot

How to install AvailableReads on your Mobile Phone

To use this extension on your Android phone (unfortunately Firefox Nightly is not available on iOS):

  1. Download and install Firefox Nightly
  2. Follow Mozilla's directions to install a custom add-on.
    1. Tap on the three dot menu and select Settings.
    2. Tap on About Firefox Nightly.
    3. Tap the Firefox Nightly logo five times until the “Debug menu enabled” notification appears.
    4. Navigate back to Settings. You will now see a new entry for Custom Add-on collection, open it.
    5. Use 14273671 for the collection owner id and AvailableReads for the name.
    6. After you tap OK, the application will close and restart.
  3. Bonus: export your desktop browser's AvailableReads preferences and import them into your mobile AvailableReads

goodreads's People

Contributors

damonbauer avatar francisbotero avatar gavinr avatar ndrake avatar prattmic avatar troypesola avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

goodreads's Issues

Reordering a shelf loses the "On overdrive" column

If I have an "ordered" shelf,
shelf
and I move a book on the shelf,
shelf1
the <tbody id="booksBody"> element gets refreshed (but not the <thead>), resulting in the Overdrive results being discarded but the heading being kept.

Not loading available books

Hi, I love this extension and use it daily. Thank you so much for creating it.

Just today the available books stopped loading up. With my very limited tech skills I went through the process of closing the browser, restarting the computer, deleting and re-installing the extension. Then I tried adding random libraries discovered that other libraries did load, but not mine.

I already miss using this. I hope there's something I can do. Here's the little bit of information I managed to acquire:

This is the library information that comes up on the setup
Ontario Library Service Consortium
odmc.lib.overdrive.com

I tried your other methods to see if the address had changed, but couldn't find any useful information.
I a search for odmc.lib.overdrive.com on the source and it didn't find it.

There was 600+ results for .overdrive.com
One that appeared many times didn't work: libraryreserve.cdn.overdrive.com

And the DNS lookup came back with this ontario.libraryreserve.com.

State of the firefox addon

Just a short question: i am a firefox user and am curious about the state of the firefox version. I see that there is a directory here for firefox, but don't see it in the firefox app store. Is this already working or does it need some polish? I would love to help you with finishing this. Maybe we can build it in a way that both use the same code. Firefox uses the chrome web api with a couple of minor tweaks that can be abstracted with a proper build pipeline.

"On overdrive" reports on wrong book

I added Bernard Cornwell's "Waterloo: The True Story of Four Days, Three Armies and Three Battles" to my to-read list but extension reports on his "Sharpe's Waterloo" instead.

I don't know if this should be reported as a separate issue, but my Avast anti-virus reports your extension as malware.

Availability column not appearing on bookshelves

I have just installed this extension today and added two libraries. It seems to be working fine for both libraries on the Book Description page, but I have been unable to get the column added on the bookshelf for availability. Is there a setting I need to fiddle with?

King County Library System (KCLS) Dodging AG?

Until a month or two ago AG worked fine with the King County Library system (KCLS) but then they changed their URL (https://kingcounty.libraryreserve.com/10/50/en/Default.htm ). There no longer appears to be an Overdrive-related URL, or it's well hidden. I've tried the various suggestions in the AG app's configuration screen to no avail. AG is such a good app and KCLS such a good (and large) library that I hate to lose access via AG. Have you any other suggestions I might try for uncovering the URL that will enable KCLS to work with AG again?
Thanks.
DJ

4.1.0 NOP on Firefox 114.0, Linux

Thank you for resurrecting this extension! It does not seem to be working on my setup: Firefox 114.0, Gentoo Linux. I have wiped and restored (via Overdrive links) my list of libraries.

Symptom:

  • on book page, I see nothing new. In-page search for "verdr" yields no results. This is the new, de-improved book page.
  • on to-read page, at page load time, I see the rating heading shift right, a new on overdrive column added (just like the old days). None of the actual data columns shift, though, so the content under on overdrive is empty stars. See attached image. Inspector shows an error in red:
SyntaxError: Document.querySelectorAll: 'tr.bookalike:not(:has(td.AGseen))' is not a valid selector

No smoking gun (to my eye) in the book page. Many requests blocked by Privacy Badger, uBlock Origin, and pi-hole... but symptoms are identical even with all of those disabled.

Thanks in advance for any help. I'll be glad to provide more details.

gr

Non-issue - This is awesome!

Thank you! Sorry I didn't know where else to say thanks!

How do you get access to multiple Overdrive libraries? All libraries around me require you to live in city/township to get a card (or you have to pay fee to get card).

No more "on overdrive" column in bookshelf

I'm using Available Goodreads 2.3.0, and I no longer see an "on overdrive" column when viewing a bookshelf. I do see information when visiting a book directly, however. I haven't had a chance to debug the problem, but presumably goodreads might have changed their page format.

Port to Firefox

I use Firefox primarily, so it would be awesome if you could port it.

If you're not interested, I might take a crack at it.

All library entries stuck at "Loading" on all pages.

Chrome 116.0.5845.42 (Official Build) beta (64-bit)
Available Reads v4.2.4

On goodreads' "my books" list, or search result page or any individual book's page - the books' availability doesn't appear. The extension stays stuck at "Loading" indefinitely.

goodreads (2)
goodreads (1)

I've cleared browser cache. Tried it in incognito etc. Issue persists.

wccls.overdrive.com not working with chrome plugin

I LOVE this chrome plugin. Thank you for building it. I have 2 libraries.

This one works great
Fort Vancouver Regional Library District
fortvancouver.overdrive.com

This one does not
Washington County Cooperative Library Services
wccls.overdrive.com

The book page loads the first just fine but the second never loads. It says "Loading wccls..." but nothing ever happens.

image

Finding your overdrive URL is still problematic

The instructions for finding your library's overdrive URL don't work for my library. Their overdrive domain is digitalmedia.halifaxpubliclibraries.ca, which is a CNAME to halifax.lib.overdrive.com. The Overdrive search page only ever gives me the .ca domain and searching the contents of the library's Overdrive page never shows a lib.overdrive.com address—they're all libraryreserve.cdn.overdrive.com.

Now, I can manually use dig/nslookup on my own system to find that CNAME—how about using an AJAX call to a DNS service. This works nicely:

http://api.statdns.com/digitalmedia.halifaxpubliclibraries.ca/cname

returning

{
    "question": [
        {
            "name": "digitalmedia.halifaxpubliclibraries.ca.",
            "type": "CNAME",
            "class": "IN"
        }
    ],
    "answer": [
        {
            "name": "digitalmedia.halifaxpubliclibraries.ca.",
            "type": "CNAME",
            "class": "IN",
            "ttl": 10646,
            "rdlength": 27,
            "rdata": "halifax.lib.overdrive.com."
        }
    ]
}

"Loading" never finishes

Love this app, but stopped working at some point this year - I've got it installed on both Firefox and Chrome and both just show "loading x library" but never managed to get anywhere.

I've tried reinstalling the add on, different computers/browsers, run all my updates, even looking at smaller lists thinking it may just be taking too long to load the whole thing, but no love.

Help?

Issue with one of my Libraries

https://fortbend.overdrive.com/ is the only library I have problems with. It shows a bunch of books other than the one that I'm actually looking for. I have attached a couple of screenshots that should help you see what I'm talking about. It looks like they are using the new overdrive. Also the extension did not like fortbend.overdrive.com I had to add it as fortbend.lib.overdrive.com and check the "Uses New overdrive site" option.

screenshot 2016-06-19 11 41 47
screenshot 2016-06-19 11 42 18

Availability reporting inaccurate

Availability is not being reported accurately. Although some books marked as available are, in fact available, many others are reported as available when they actually have holds on them.

I'm not sure how many libraries you have available for testing, but an example is "Language of Sisters" by Amy Hatvany. It shows 1 available, but in fact there's 0/1 copies available. This is at Carnegie Library of Pittsburgh. I can dig in further into the js, etc. tomorrow if you need an example.

Hide the "not found"s

The plugin works great for me, but the "not found" result seems unnecessary. I would like to be able to have it simply omit the libraries that don't have a given title, rather than showing me a list of "not found"s, each of which takes up more vertical space on the page.

Book page displays Overdrive counts at random (?) library

I'm using the extension to track availability at the Halifax (NS, Canada) public library: http://halifax.lib.overdrive.com/, and so far it's always worked perfectly from "My Books".

Today I was looking at the page https://www.goodreads.com/book/show/23153154-memory-man and noticed it had Overdrive availability. But when I clicked on the overdrive link, I got the Seattle library! Where I certainly don't have an account.

Checking back in "My Books", it seems everything is using the Seattle link, and when I look at the extension Options, it's now set to Using subdomain(s): spl.lib.overdrive.com. The only way to set it back was to change my Overdrive URL and then change it back to the original.

all books saying "not found"

First off, thank you for this extension. It's made it so I could find books across several libraries and can always have something on hold- I listen to about 3 books a week and your extension has saved me so much time and energy. It's the best.

it's just not working for me right now. I have four libraries connected and they all say that every book is "not found." I tried updating chrome and uninstalling and reinstalling the extension. That's the complete end of my technical know how, and this could totally be user error.

The libraries I have are Kitsap Regional Library, Utah County Library. Salt Lake County Library and Broward County.

Add Hoopla Support?

I don't know how hard this is at all yet, but I have found that some books which are not available through my library's Overdrive, are available through Hoopla, and it'd be great to check both.

Libby results show incorrect books. "Link to Overdrive search results" doesn't work.

Config

Lenovo Legion Y740, Windows 11 Pro 23H2
Chrome 120.0.6099.5 (Official Build) beta (64-bit)
Available Reads 5.2.1

Issues

In goodread, when I'm checking any book's availability via "Available Reads", the results lists incorrect books, sometimes other books from the same author, sometimes completely random books. I'm guessing it's a problem at Libby's end, and is because of what Libby API returns when searching for any book. Just my speculation, but you can check it. Nonetheless, it is a bad experience for end-users of the extension.

Screenshot 2023-11-07 170153

Another issue is - when I enable the "Link to Overdrive search results instead of Libby results" option, it doesn't have any effect. The extension still shows Libby results. I've tried restarting the browser (close-open) and logout-login from goodreads.

Question on replicating in node.js

Hey there -

This is an amazing contribution - it was exactly what I was looking for, and I've already used it for multiple books! Thank you.

As a way to learn to code, I had actually started trying to build something similar using node.js before stumbling onto your extension. I'd still like to proceed with my project, but I'm having trouble getting the sfpl website to return the same page that you're able to get via background.js. (Right now, I get what looks like an error page, as it lists out a bunch of different errors - Recommendation Limit Reached, Excessive Checkout Limit Reached, An unexpected error has occurred, etc.)

Do you have any tips on how I could make sure my GET request is returning the same thing? Using the proper user-agent, I've been able to avoid the web-bot block, but haven't been able to move past this part yet.

'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586'

Thanks!

No books showing available

Hi, Maybe this is just a huge run on books at my library, but there are no books showing as available on my available goodreads to read list of over 500 books. There are also none available on the 2 lists that I've looked at.

I checked, and some of the books that are labeled 0/1 or 0/3 or anything like that are actually available when I clicked the link and went to the site. It's still showing multiple holds

Thanks for creating this wonderful extension. I use in constantly.

Export and import libraries configuration

I have enough entries in my libraries that when I get a new device, or switch between tablet and phone, or PC, phone, tablet it would make life quite a bit easier to be able to sync configurations through import and export of the config file. I try to do this manually now, but it's hit and miss whether it works properly or not between platforms. This is a really useful plugin, thanks. [In case anybody wonders how I'm using this on mobile, I use Kiwi browser which supports chrome addons.]

"not found" - have you looked at Overdrive's APIs?

Overdrive has published APIs for libraries, search, and availability.

I don't know if you've tried to apply for API access, nor how that would be handled with an opensource project. Looks like they review projects then they grant secret key credentials for the project/application required for using the api.

But assuming you could get API approval, the APIs might be easier to use than using jQuery to parse the DOM from resulting pages. The availability API returns JSON results.

Glad to help, if that's an approach you're interested in.

I tried to look at the dom structure of the current UI and I don't see an easy way to pull the results.

-Troy

Here are a few links to Overdrive's APIs:

https://developer.overdrive.com/
https://developer.overdrive.com/apis/library-availability
https://developer.overdrive.com/apis/search

Breaking change by goodreads

Hi, I guess you might know by now, but just in case you don't -
Goodreads seems to have made some kind of change so the addon doesn't work on the book page.
The addon continues to work on book lists pages.
Some number of people reporting this on the available goodreads chrome store extension support page.
Thanks for your work on this, it's so useful and it's implemented so much more elegantly than the other addon for carrying out this function. As long as I'm here - a firefox addon would be so great! I tried to convert it to firefox using 'Chrome Store Foxified' but alas, there must be some function you're using that's not supported.

How can I build this?

I'm a java dev by trade... pulled this code, tried a few things to build/package it but nothing worked. Any quick tips to get it built?

Filtering to only eBooks OR audiobooks

Hi! First things first, this extension is astounding, thank you so much @rhollister and team for building this!

My partner is only interested in eBooks, and I'm only interested in audiobooks. Would y'all be able to pass me some code pointers for where I might add such a filter, perhaps to the set up view? Thank you!

Support for new Goodreads UI

Goodreads has been testing the new UI on some customers, and I was one of them. I'd occasionally see the new UI as part of a beta program. AvailableReads never worked on this new UI, so I always asked to go back to the old UI. I see a note today that the beta has been discontinued and the new UI will be rolling out to all customers soon. Is there a plan to update AvailableReads to work with this new UI?

Available Goodreads list column disappeared a few days ago

I just noticed my extension stopped working today, May 22. It was working two weeks ago. "Stopped working" means the Available Goodreads column disappeared from Goodreads webpages.

Two other people have reported the issue on the extension's Play Store site.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.