The 2020 Resources Page can be found here.
The 2019 Resources Page can be found here and the previous Resources page here.
Amazon Prime Video Expiry Viewer
Part One: For those of you who do not have the Expiry Viewer
How does the Expiry Viewer Work in Your Watchlist?
Reminder: Amazon's date is the day the movie "Leaves Prime"; we list the movie one day earlier,
which is the Last Day To Watch.
that are available on IMDb TV to make it easier to see those titles in Your Watchlist.
For first time users, in order to make the Expiry Viewer work, first you have to add a javascript manager extension like Tampermonkey to your Chrome browser. The Tampermonkey javascript manager can be found in the Google Chrome Extensions webstore at:
After you install the Tampermonkey extension, then you can add the Expiry Viewer script.
to open the Add A New Userscript tab in Tampermonkey.
While holding the Shift key down, press the Down Arrow key to highlight all of the script code in the window. Release the keys and then press the Delete key to delete it all.
// ==UserScript==
// @name 1-20-2021 Amazon Prime Video Expiry Viewer
// @version 2.0.4
// @description Makes it obvious which and when videos are going to expire.
// @author Various
// @icon http://i.imgur.com/oGRQwPN.png
// @include https://www.amazon.com/gp/video/mystuff/*
// @include https://www.amazon.com/gp/video/detail/*
// ==/UserScript==
var myVar;
if (window.location.href.indexOf('amazon.com/gp/video/detail/') > 0) {
myVar = 2;
} else {
myVar = 1;
}
setTimeout(pause, 12000);
function pause () {
const pauseVar = 1;
}
const checked = {}
function checkShelf () {
if (myVar == 2) {
// for (const el of document.getElementsByClassName('dv-shelf-item')) checkIfLeaving(el);
for (const el of document.getElementsByClassName('_2AgxOB')) checkIfLeaving(el);
} else {
// for (const el of document.getElementsByClassName('dv-packshot')) checkIfLeaving(el);
for (const el of document.getElementsByClassName('D0Lu_p')) checkIfLeaving(el);
}
}
async function checkIfLeaving (item) {
const asin = item.querySelector('[data-asin]').dataset.asin;
const leaving = await fetchHover(asin);
if (leaving.isLeaving) {
const date = document.createElement('div');
date.textContent = 'Leaves on ' + leaving.isLeaving;
date.style = 'text-align: center; color: black; font-size: 16px; line-height: 28px;';
date.style.backgroundColor = 'yellow';
item.appendChild(date);
}
if (leaving.isLeaves) {
const date = document.createElement('div');
date.textContent = 'Leaves in ' + leaving.isLeaves;
date.style = 'text-align: center; color: black; font-size: 16px; line-height: 28px;';
date.style.backgroundColor = 'yellow';
item.appendChild(date);
}
if (leaving.isImdb) {
const date = document.createElement('div');
date.textContent = 'Available on IMDb TV';
date.style = 'text-align: center; color: black; font-size: 16px; line-height: 28px;';
date.style.backgroundColor = 'lightskyblue';
item.appendChild(date);
}
}
function fetchHover (asin) {
return new Promise(async (resolve) => {
if (asin && !checked[asin]) {
// const response = await window.fetch(`https://www.amazon.com/gp/video/hover/${asin}?format=json`);
const response = await window.fetch(`https://www.amazon.com/gp/video/detail/${asin}?format=json`);
const text = await response.text();
// console.log(text);
const imdb = text.match(/ncluded with IMDb TV/);
const leaving = text.match(/eaves Prime on ([\w\s,]+)/);
const leaves = text.match(/eaves Prime in ([\w\s,]+)/);
const isImdb = !!imdb;
const isLeaving = leaving ? leaving[1] : false;
const isLeaves = leaves ? leaves[1] : false;
checked[asin] = { isImdb, isLeaving, isLeaves };
resolve(checked[asin]);
} else if (checked[asin]) {
resolve(checked[asin]);
}
})
}
checkShelf();
// @name 1-20-2021 Amazon Prime Video Expiry Viewer
// @version 2.0.4
// @description Makes it obvious which and when videos are going to expire.
// @author Various
// @icon http://i.imgur.com/oGRQwPN.png
// @include https://www.amazon.com/gp/video/mystuff/*
// @include https://www.amazon.com/gp/video/detail/*
// ==/UserScript==
var myVar;
if (window.location.href.indexOf('amazon.com/gp/video/detail/') > 0) {
myVar = 2;
} else {
myVar = 1;
}
setTimeout(pause, 12000);
function pause () {
const pauseVar = 1;
}
const checked = {}
function checkShelf () {
if (myVar == 2) {
// for (const el of document.getElementsByClassName('dv-shelf-item')) checkIfLeaving(el);
for (const el of document.getElementsByClassName('_2AgxOB')) checkIfLeaving(el);
} else {
// for (const el of document.getElementsByClassName('dv-packshot')) checkIfLeaving(el);
for (const el of document.getElementsByClassName('D0Lu_p')) checkIfLeaving(el);
}
}
async function checkIfLeaving (item) {
const asin = item.querySelector('[data-asin]').dataset.asin;
const leaving = await fetchHover(asin);
if (leaving.isLeaving) {
const date = document.createElement('div');
date.textContent = 'Leaves on ' + leaving.isLeaving;
date.style = 'text-align: center; color: black; font-size: 16px; line-height: 28px;';
date.style.backgroundColor = 'yellow';
item.appendChild(date);
}
if (leaving.isLeaves) {
const date = document.createElement('div');
date.textContent = 'Leaves in ' + leaving.isLeaves;
date.style = 'text-align: center; color: black; font-size: 16px; line-height: 28px;';
date.style.backgroundColor = 'yellow';
item.appendChild(date);
}
if (leaving.isImdb) {
const date = document.createElement('div');
date.textContent = 'Available on IMDb TV';
date.style = 'text-align: center; color: black; font-size: 16px; line-height: 28px;';
date.style.backgroundColor = 'lightskyblue';
item.appendChild(date);
}
}
function fetchHover (asin) {
return new Promise(async (resolve) => {
if (asin && !checked[asin]) {
// const response = await window.fetch(`https://www.amazon.com/gp/video/hover/${asin}?format=json`);
const response = await window.fetch(`https://www.amazon.com/gp/video/detail/${asin}?format=json`);
const text = await response.text();
// console.log(text);
const imdb = text.match(/ncluded with IMDb TV/);
const leaving = text.match(/eaves Prime on ([\w\s,]+)/);
const leaves = text.match(/eaves Prime in ([\w\s,]+)/);
const isImdb = !!imdb;
const isLeaving = leaving ? leaving[1] : false;
const isLeaves = leaves ? leaves[1] : false;
checked[asin] = { isImdb, isLeaving, isLeaves };
resolve(checked[asin]);
} else if (checked[asin]) {
resolve(checked[asin]);
}
})
}
checkShelf();
END OF SCRIPT CODE
and continue all the way down to the last line: checkShelf();
Press Ctrl + C to do a Copy of all the script code. Switch back to Tampermonkey and
press Ctrl + P to Paste all the code into the New Userscript window in Tampermonkey.
If you have some expiring Prime movies in Your Watchlist [or you can add some from the Master List], you should see their Yellow expiration date banners. If you have some IMDb TV movies in Your Watchlist, you should see their Blue IMDb TV banners.
Part Two: For those of you who do have the Expiry Viewer and need to update the script
How do I update the script?
Part Three: Some Notes
• The script does NOT work on the continuous scrolling Watchlist after the first 60 titles on page 1.
What to do?
Option 1: You can manually change the pages of your Watchlist by typing each page number into the URL address at the top of your browser and then pressing Enter.
Option 2: You can bookmark each page so that you do not have to manually change the page numbers every time. You can create a folder (within your bookmarks) for your bookmarked Watchlist pages so that you can access them quickly.
Option 2: You can bookmark each page so that you do not have to manually change the page numbers every time. You can create a folder (within your bookmarks) for your bookmarked Watchlist pages so that you can access them quickly.
https://www.amazon.com/gp/video/mystuff/watchlist/movie/ref=atv_wtlp_mv?page=1&sort=DATE_ADDED_DESC
You must go to the next page 2 by manually changing the page number in the URL address at the top of your browser to page=2, then moving the cursor to the end of the URL address and pressing Enter. The Expiry Viewer will then display the Yellow expiration notices for any expiring titles on page 2. Repeat for page 3, 4, 5, etc. until you reach the end of your Movies Watchlist.
Note: There are a total of 60 titles listed on each Your Watchlist page. The Expiry Viewer will only work on the first 60 titles displayed on each page. It will not work on the titles beyond 60 that are added by the Your Watchlist continuous scroll feature.
You must go to the next page 2 by manually changing the page number in the URL address at the top of your browser to page=2, then moving the cursor to the end of the URL address and pressing Enter. The Expiry Viewer will then display the Yellow expiration notices for any expiring titles on page 2. Repeat for page 3, 4, 5, etc. until you reach the end of your Movies Watchlist.
https://www.amazon.com/gp/video/mystuff/watchlist/tv/ref=atv_wtlp_tv?page=1&sort=DATE_ADDED_DESC
Repeat the procedure above to go to page 2, 3, 4, 5, etc. until you reach the end of your TV Shows Watchlist. Be sure to bookmark each Your Watchlist TV Show page as you go.
Repeat the procedure above to go to page 2, 3, 4, 5, etc. until you reach the end of your TV Shows Watchlist. Be sure to bookmark each Your Watchlist TV Show page as you go.
that are available on the IMDb TV channel to make it easier to see those titles in Your Watchlist.
the Yellow Leaving Prime banner and the Blue IMDb TV banner below the posters of any expiring Prime titles or IMDb TV titles included in the "Customers Who Watched This Item Also Watched" listing and the "Cast and Crew" listings.
wait up to 60 seconds or more for the Yellow expiring banners and
the Blue IMDb TV banners to load on each Your Watchlist page. And as long again
to see the banners display on individual Movie and TV Show webpages.
other browsers, like Firefox, Safari, MS Edge, etc., that you may prefer to use. The procedure is the same. Install the javascript manager extension for your browser first, then add the userscript. The URL address is https://greasyfork.org
More Websites to Check Out
- Instantwatcher - see what is new on Prime on a daily basis
- IMDb - learn more about your favorite movies and shows and more
- Carol's blog, "What's Expiring On Netflix Soon?"
No comments:
New comments are not allowed.