Ascoware / get-iplayer-automator

The goal of Get iPlayer Automator is to allow iTunes and your Mac to become the hub for your British Television experience regardless of where in the world you are. Currently, Get iPlayer Automator allows you to download and watch BBC and ITV shows on your Mac. Series-Link/PVR functionality ensures you will never miss your favourite shows. Programmes are fully tagged and added to iTunes automatically upon completion. It is simple and easy to use, and runs on any machine running Mac OS X 10.7 or later. And since the shows are in iTunes, it is extremely easy to transfer them to your iPod, iPhone, or Apple TV allowing you to enjoy your shows on the go or on your television.
GNU General Public License v3.0
146 stars 26 forks source link

"Doctor Who" appears to be unavailable, but can be downloaded #182

Closed ghost closed 6 years ago

ghost commented 6 years ago

What steps will reproduce the problem? 1] Search for "Doctor Who" 2] Using Webpage and

What is the expected output? What do you see instead? 1] Search for "Doctor Who" - not found 2] Using Webpage and gives: Status "Available: none" Show name: "get_iPlayer: b0074div"

...not sure if this is 1 or 2 problems...

What version of GiA are you using? On what version of OS X? GiA 1.13.6 OSX 10.13.5

Are you using a web proxy? DNS proxy? VPN? VPS? No.

What program are you attempting to download (full title, series and episode)? Doctor Who s01e01 "Rose"

Please provide any additional information below. Downie can download this.

skovatch commented 6 years ago

I have seen this when the app has been running for some time and the cache hasn't had a chance to update. ~Try command-R to trigger a cache update, or quit the app and start it again. Does it show up after either of those things?~ Never mind, that's not the problem.

skovatch commented 6 years ago

Oh wait... I see what's going on (at least, in part). BBC have put the entire library of Doctor Who online! My suspicion is that get_iplayer doesn't have a way to scan this for its cache, so it doesn't know about it. It is able to download the show once I start running the d/l, though.

One change I made was to search the cache after "Use Current Webpage" was clicked. In this case, that's a bad idea since the program isn't in the cache, and the code isn't smart enough to ignore the missing result. It may be easier to revert that change -- it looks like the code used to do that at one point, but was commented out. I uncommented it but now I think that code was what caused this bug.

hugofalkman commented 6 years ago

Yes Scott, please comment it out again. When trying to download a recently added programme* one always forgets to first force update the cache.

Edit: *using "Use Current Webpage"

skovatch commented 6 years ago

Fair enough. I suppose I could trigger an update check when you click Get Current Webpage, since it only checks after a certain amount of time. I'll have to see how that affects performance.

hugofalkman commented 6 years ago

Thinking about it, do I remember right that during the time it was commented out, the metadata went missing from iTunes if the programme wasn't in the cache?

ghost commented 6 years ago

Does this mean it can be found or not (sorry, I got last in the last few comments).

I guess this is a copy of #181 which I will close if it helps?

skovatch commented 6 years ago

That could be... get_iplayer relies on having the metadata available for metadata tagging. I'd have to check if it tries to fetch the metadata again before attempting to tag. I don't think it does.

skovatch commented 6 years ago

Does this mean it can be found or not (sorry, I got last in the last few comments).

It won't be found if you do a search, but get_iplayer is able to download it. I also verified it fetches metadata at the time of download, so not being in the cache isn't an issue.

skovatch commented 6 years ago

I am writing up a comment in #181 -- get_iplayer could, in theory, cache the program data for these special collections. EDIT: but they probably won't -- they make it clear they only search the last 30 days of broadcast shows, and not special collections or podcasts.

ghost commented 6 years ago

...shall I close this thread then?

skovatch commented 6 years ago

You can close #181. I'll use this to track un-commenting the search after "Get Current Webpage".

skovatch commented 6 years ago

It turns out that the code for fetching the name when you use "Get Current Webpage" was actually right, but now needs the perl https support to do its job. It also had some odd string parsing that I cleaned up. So, the lookup can stay. In fact, I may get rid of the other scraping and just let get_iplayer do the work.

skovatch commented 6 years ago

Fixed as of v1.13.7