Welcome to the ICM Forum. If you have an account but have trouble logging in, or have other questions, see THIS THREAD.
NOTE: Board emails should be working again. Information on forum upgrade and style issues.
Podcast: Talking Images (Episode 22 released November 17th * EXCLUSIVE * We Are Mentioned in a Book!!! Interview with Mary Guillermin on Rapture, JG & More)
Polls: 1970s (Results), 1950 (Jun 24th), Japan (Jun 30th), Essential Cinema (Jul 11th)
Challenges: Italy, Queer Cinema, Film From Each Year
Film of the Week: Drive a Crooked Road, July nominations (Jun 25th)

User-made scripts and apps etc

Post Reply
User avatar
Lonewolf2003
Donator
Posts: 11727
Joined: December 29th, 2012, 7:00 am
Contact:

#1001

Post by Lonewolf2003 »

monk-time wrote: April 12th, 2021, 5:47 pm Phew. Put together all my IMDb/ICM-related junk that I've amassed over the years. In case any of my userscripts/forks breaks and I don't see it in this thread you can ping me by posting an issue on my GitHub bug tracker, I always get notifications from there.

My userscripts:
ICM - Movie info labels
Install and read full description on OpenUserJS | Report an issue on GitHub

Adds clickable labels on lists with movie data (checks, runtime) and allows re-ordering lists without page reload. Clicking on a label (or an ↑↓ button that appears if you mouse over the year or the list count) sort the list by that label, clicking again sorts it in the reverse order.

Image
IMDb - Clutter-less
Install and read full description on OpenUserJS | Report an issue on GitHub

Remove junk from IMDb pages, such as a footer, recommendations, or images and ads in the sidebar.

Image
IMDb - Highlight movies with 400 checks on lists
Install and read full description on OpenUserJS | Report an issue on GitHub

Adds a button to IMDb lists that adds ICM check count for each movie to the last column and highlights movies that are no longer eligible for the ICM Board 500<400 poll.

Image
Userscripts that I've contributed to:
IMDb 'My Movies' enhancer (by Ricardo)
Install on OpenUserJS
Install my fork on GitHub | Report an issue on GitHub

An extremely useful tool for IMDb that loads your ratings history, your watchlist and all of your lists and highlights links to the movies on those lists all across the site. When you hover over a highlighted link it also shows a popup with your rating and the titles of your lists. You can configure the colors in the script's code.

At the time of writing Ricardo still maintains the script and releases fixes. But as an exercise (and to be able to fix it myself in case something breaks) I rewrote the script for my use and added an ability to control which color is used for a movie on multiple lists. My fork should also in theory handle larger numbers of stored lists and be more resilient when it reloads lists.

Image
iCheckMovies Enhanced (by themagician)
Discuss and read full description on this forum
Install on GreasyFork | Report an issue on GitHub

Absolutely invaluable tool for every ICM user with a dozen of enhancements to different parts of the website.

Image
IMDb - Details page links (by themagician)
Install on GreasyFork
Install my fork on GitHub | Report an issue on GitHub

Adds a block on IMDb movie pages with links to other websites.

My fork has deviated significantly from themagician's original script and doesn't have any other way to change the links except by editing them in the code. Don't expect much from it.

Image
IMDb - List Helper (by themagician)
Install and read full description on GreasyFork

Inserts a text field below an IMDb list in the editing mode. IMDb IDs inserted there will be automatically added to the list. If you input text titles you'll have to select the correct title manually.

Image
IMDb - Colorful vote history (by kuehlschrank)
Install my fork on GitHub | Report an issue on GitHub

Colorizes lists based on your ratings and adds stats to the sidebar (compact view only).

I couldn't find the original script hosted anywhere, but my fork still works.

Image
Other stuff from me:
Userstyle: IMDb - Compact list editing
Install on GitHub | Report an issue on GitHub
A userstyle that makes each IMDb list item take half as much vertical space when editing lists.

If you haven't used userstyles before, they are basically userscripts for minor visual changes on webpages; CSS instead of JS. Install the Stylus extension for Firefox/Chrome/Opera (Stylish will also work, but it's run by an ad company) and click on the link above.

Image
Python: imdb-backup-lists
Download and read full description on GitHub | Report an issue on GitHub

A simple Python program to backup all your lists from IMDb including your watchlist and ratings. Creates a .zip archive with .csv files exported from the site.

You can either run the one-file script from the source code (make sure to install pre-reqs beforehand, see README.rd), or download and run a portable .exe file for Windows that should work without having Python installed.
Bookmarklets for filtering ICM lists
A number of handy bookmarklets for filtering ICM lists right in place for small list-related tasks. All of them only work on currently visible list items.

To use a bookmarklet, bookmark any page, right-click on the bookmark, select Edit/Properties, paste one of the code blocks below into the Location/URL field. Now you can click on the bookmark while you have an ICM list open to execute it. To revert, click on the header of your current list view.

It's also possible to use these without bookmarking by pasting the code into the browser console: press F12, open the Console tab, paste the code into the empty line at the bottom, press Enter.

Show only shorts: the same as filtering by a tag on ICM but without reloading the page
Code

Code: Select all

javascript:[...document.querySelectorAll('.tagList')].filter(el=>!/\bshort\b/i.test(el.textContent)).forEach(el=>el.closest('.listItem').style.display='none');
Hide shorts: this one and the previous can be used for any tag, just replace "short" in the link
Code

Code: Select all

javascript:[...document.querySelectorAll('.tagList')].filter(el=>/\bshort\b/i.test(el.textContent)).forEach(el=>el.closest('.listItem').style.display='none');
Filter by year: show only movies made in the specified period
Code

Code: Select all

javascript:(()=>{const a=prompt('Only show movies from');const b=prompt('to');document.querySelectorAll('span.info>a:first-child').forEach(el=>{const year=Number(el.textContent);if(year<a||year>b){el.closest('.listItem').style.display='none';}});})();
Filter by official lists: show only movies on the specified number of official lists
Code

Code: Select all

javascript:(()=>{const a=prompt('At least # official lists:');const b=prompt('No more than # official lists:','50');document.querySelectorAll('span.info > a:nth-of-type(2)').forEach(el=>{const lists=Number(el.textContent.match(/\d+/));if(lists<a||lists>b){el.closest('.listItem').style.display='none';}});})();
Filter /checked/ by checks: show only movies with the specified number of checks; works only on /movies/checked/
Code

Code: Select all

javascript:(()=>{const a=prompt('At least # checks:','0');const b=prompt('Less than # checks:','400');document.querySelectorAll('span.info>a:nth-of-type(3)').forEach(el=>{const checks=Number(el.title.replace(/\D/g,''));if(checks<a||checks>=b){el.closest('.listItem').style.display='none';}});})();
Last three scripts without dialog boxes (you'll have to manually change the bold part)
Filter by year:
Code

Code: Select all

javascript:document.querySelectorAll('span.info>a:first-child').forEach(el=>{const year=Number(el.textContent);if(year<1970||year>2000){el.closest('.listItem').style.display='none';}});
Filter by official lists:
Code

Code: Select all

javascript:document.querySelectorAll('span.info > a:nth-of-type(2)').forEach(el=>{const lists=Number(el.textContent.match(/\d+/));if(lists<5||lists>10){el.closest('.listItem').style.display='none';}});
Filter /checked/ by checks:
Code

Code: Select all

javascript:document.querySelectorAll('span.info>a:nth-of-type(3)').forEach(el=>{const checks=Number(el.title.replace(/\D/g,''));if(checks<0||checks>=400){el.closest('.listItem').style.display='none';}});
Filter by checks (slow): works everywhere, but sends a lot of requests to ICM and can take quite some time on large lists.
Code

Code: Select all

javascript:(async()=>{const getChecks=async url=>{const r=await fetch(`${url}dialog/`);const json=await r.json();return Number(json.html.match(/movieChecks">[\d,]+</)[0].replace(/\D/g,''));};const a=prompt('At least checks:','0');const b=prompt('Less than # checks:','400');const els=[...document.querySelectorAll('.listItem > h2 > a')];const data=await Promise.all(els.map(async el=>({el,checks:await getChecks(el.href)})));data.forEach(({el,checks})=>{if(checks<a||checks>=b){el.closest('.listItem').style.display='none';}});})();
Dump all visible IMDd/list links into the page footer: example
Code

Code: Select all

javascript:(()=>{document.querySelector("#colophon").innerHTML=[...document.querySelectorAll(':is(#itemListToplists, #itemListMovies) .listItem')].filter(el=>el.style.display!=='none').map(el=>el.querySelector('.title, .optionIMDB').href.replace('https://www.icheckmovies.com/lists/','')).join('<br>');})();
Tip: reorder .csv lists with a keyboard shortcut
Moving items around on IMDb/ICM lists is not a simple task, but can be made much more feasible with this workaround using Excel+Word:
  • export an IMDb/ICM list as .csv (you can use ICM Enhanced if you want to export an ICM list and you don't have a premium account)
  • open it in Excel
  • select all (Ctrl+A) & copy the list into Word
  • double-click on any invisible line between the columns to expand the cell content (you might also want to reduce the font size)
  • use keyboard shortcuts Shift+Alt+↑ and Shift+Alt+↓ to move a row up and down, and up/down arrow keys to select rows
  • copy the column with IMDb urls
  • update your ICM list, or empty your list on IMDb and use themagician's IMDb List Helper to update it
Thanks. So many great scripts. Sure going to install some
User avatar
Tim2460
Posts: 6215
Joined: October 1st, 2018, 7:23 pm
Location: Dijon, France
Contact:

#1002

Post by Tim2460 »

Knaldskalle wrote: April 14th, 2021, 3:07 pm
monk-time wrote: April 14th, 2021, 12:15 pm
Armoreska wrote: April 14th, 2021, 11:55 am Is there a way to auto-populate an IMDb list with a list of URLs? I guess not though.
IMDb List Helper does this. I haven't used it in the last couple years so no idea if everything still works.
Worked for me a few months ago. I wanna say January, but it could be a little earlier or later.
I use it very often ... Works fine for small numbers... but it's gettign slow on huge list (took 6-7hours for an 5000 film list for ex)
User avatar
monk-time
Posts: 1446
Joined: March 23rd, 2015, 6:00 am
Contact:

#1003

Post by monk-time »

Tim2460 wrote: April 14th, 2021, 4:23 pm I use it very often ... Works fine for small numbers... but it's gettign slow on huge list (took 6-7hours for an 5000 film list for ex)
Wow, that's a lot. There's a hardcoded 1 second delay that should 83 minutes of delay in your case, not 7 hours. My guess is that it's on the IMDb's side of things.

I'll look into this when I find the time, I might be able to reduce the delay at least. AFAIR it being less than 1 sec used to break something and I was too lazy to fix it properly. And I left the code in a surprisingly convoluted state for such a small task. :circle:
User avatar
Armoreska
Posts: 13757
Joined: November 1st, 2012, 6:00 am
Location: Ukraine, former Free Territory
Contact:

#1004

Post by Armoreska »

Tim2460 wrote: April 14th, 2021, 4:23 pm ..5000 film list for ex)
i read that as a list for ex-partner :lol:
he or A. or Armo or any

Image
currently working towards a vegan/free world + thru such film lists: GODARD, r/antinatalism recommends,..
the rest
ANARCHISTS, ANIMAL RIGHTS, Assisted suicide, Existential films, SOCIALIST CINEMA (an amalgamation of lists), Feminist lists, various GSSRM lists (aka LGBTQ+), 2010s bests, Visual Effects nominees, kid-related stuff, great animes (mini-serie or feature), very 80s movies, mah huge sci-fi list, ENVIRO, remarkable Silent Films and Pre-Code (exploring 1925 atm) and every shorts and docu list I'm aware of and
/forum.icmforum.com/viewtopic.php?f=1&t=1434
and "Gordon" Liu Chia-Hui/Liu Chia-Liang and Yuen Woo-ping and "Sammo" Hung Kam-bo
imaginary awards | youtube channels | complaint lounge | explain how big a fan of slavery you are here, ..viewtopic.php?f=12&t=1535 and here: ..viewtopic.php?f=12&t=4484
User avatar
Tim2460
Posts: 6215
Joined: October 1st, 2018, 7:23 pm
Location: Dijon, France
Contact:

#1005

Post by Tim2460 »

The new Lists for the List Downloader's listdata.txt

Code: Select all

[url=https://www.icheckmovies.com/lists/1001+movies+you+must+see+before+you+die/]1001 Movies You Must See Before You Die[/url] 
[url=https://www.icheckmovies.com/lists/101+gangster+movies+you+must+see+before+you+die/]101 Gangster Movies You Must See Before You Die[/url] 
[url=https://www.icheckmovies.com/lists/101+war+movies+you+must+see+before+you+die/]101 War Movies You Must See Before You Die[/url] 
[url=https://www.icheckmovies.com/lists/366+weird+movies/]366 Weird Movies[/url] 
[url=https://www.icheckmovies.com/lists/a.v.+clubs+the+best+movies+of+the+2000s/]A.V. Club's The Best Movies of the 2000s[/url] 
[url=https://www.icheckmovies.com/lists/a.v.+clubs+the+best+movies+of+the+2010s/]A.V. Club’s The Best Movies of the 2010s[/url]
[url=https://www.icheckmovies.com/lists/a.v.+clubs+the+new+cult+canon/]A.V. Club's The New Cult Canon[/url] 
[url=https://www.icheckmovies.com/lists/a+personal+journey+with+martin+scorsese/]A Personal Journey with Martin Scorsese[/url] 
[url=https://www.icheckmovies.com/lists/abraccines+the+100+best+brazilian+films/]Abraccine's The 100 Best Brazilian Films[/url] 
[url=https://www.icheckmovies.com/lists/academy+award+-+best+cinematography/]Academy Award - Best Cinematography[/url] 
[url=https://www.icheckmovies.com/lists/academy+award+-+best+international+feature+film/]Academy Award - Best International Feature Film[/url] 
[url=https://www.icheckmovies.com/lists/academy+award+-+best+international+feature+film+nominees/]Academy Award - Best International Feature Film Nominees[/url] 
[url=https://www.icheckmovies.com/lists/academy+award+-+best+picture/]Academy Award - Best Picture[/url] 
[url=https://www.icheckmovies.com/lists/academy+award+-+best+picture+nominees/]Academy Award - Best Picture Nominees[/url] 
[url=https://www.icheckmovies.com/lists/afis+100+years...100+cheers/]AFI's 100 Years...100 Cheers[/url] 
[url=https://www.icheckmovies.com/lists/afis+100+years...100+laughs/]AFI's 100 Years...100 Laughs[/url] 
[url=https://www.icheckmovies.com/lists/afis+100+years...100+movies/]AFI's 100 Years...100 Movies[/url] 
[url=https://www.icheckmovies.com/lists/afis+100+years...100+passions/]AFI's 100 Years...100 Passions[/url] 
[url=https://www.icheckmovies.com/lists/afis+100+years...100+thrills/]AFI's 100 Years...100 Thrills[/url] 
[url=https://www.icheckmovies.com/lists/akira+kurosawas+a+dream+is+a+genius/]Akira Kurosawa's A Dream Is a Genius[/url] 
[url=https://www.icheckmovies.com/lists/amanda+award+-+best+norwegian+film/]Amanda Award - Best Norwegian Film[/url] 
[url=https://www.icheckmovies.com/lists/amos+vogels+film+as+a+subversive+art/]Amos Vogel's Film as a Subversive Art[/url] 
[url=https://www.icheckmovies.com/lists/amps+100plus1+essential+south+korean+movies/]AMP's 100+1 Essential South Korean Movies[/url] 
[url=https://www.icheckmovies.com/lists/annecy+festivals+100+films+for+a+century+of+animation/]Annecy Festival's 100 Films for a Century of Animation[/url] 
[url=https://www.icheckmovies.com/lists/anthology+film+archivess+essential+cinema/]Anthology Film Archives's Essential Cinema[/url] 
[url=https://www.icheckmovies.com/lists/ariel+award+-+best+mexican+film/]Ariel Award - Best Mexican Film[/url] 
[url=https://www.icheckmovies.com/lists/arts+and+faiths+top+100+films/]Arts & Faith's Top 100 Films[/url] 
[url=https://www.icheckmovies.com/lists/asociatia+criticilor+de+films+best+romanian+films/]Asociatiei Criticilor de Film's Best Romanian Films[/url] 
[url=https://www.icheckmovies.com/lists/badmovies.orgs+best+b-movies/]Badmovies.org's Best B-Movies[/url] 
[url=https://www.icheckmovies.com/lists/bafta+award+-+best+film/]BAFTA Award - Best Film[/url] 
[url=https://www.icheckmovies.com/lists/bbcs+the+100+greatest+comedies+of+all+time/]BBC's The 100 Greatest Comedies of All Time[/url] 
[url=https://www.icheckmovies.com/lists/bbcs+the+100+greatest+films+directed+by+women/]BBC's 100 Greatest Films Directed by Women[/url] 
[url=https://www.icheckmovies.com/lists/bbcs+the+21st+centurys+100+greatest+films/]BBC's The 21st Century's 100 Greatest Films[/url] 
[url=https://www.icheckmovies.com/lists/belgian+film+award+-+best+film/]Belgian Film Award - Best Film[/url] 
[url=https://www.icheckmovies.com/lists/berlin+international+film+festival+-+golden+bear/]Berlin International Film Festival - Golden Bear[/url] 
[url=https://www.icheckmovies.com/lists/bfi+flares+the+best+lgbtqplus+films+of+all+time/]BFI Flare's The Best LGBTQ+ Films of All Time[/url] 
[url=https://www.icheckmovies.com/lists/bfis+100+american+independent+films/]BFI's 100 American Independent Films[/url] 
[url=https://www.icheckmovies.com/lists/bfis+100+animated+feature+films/]BFI's 100 Animated Feature Films[/url] 
[url=https://www.icheckmovies.com/lists/bfis+100+documentary+films/]BFI's 100 Documentary Films[/url] 
[url=https://www.icheckmovies.com/lists/bfis+100+european+horror+films/]BFI's 100 European Horror Films[/url]
[url=https://www.icheckmovies.com/lists/bfis+100+film+musicals/]BFI's 100 Film Musicals[/url] 
[url=https://www.icheckmovies.com/lists/bfis+100+road+movies/]BFI's 100 Road Movies[/url] 
[url=https://www.icheckmovies.com/lists/bfis+100+science+fiction+films/]BFI's 100 Science Fiction Films[/url] 
[url=https://www.icheckmovies.com/lists/bfis+100+westerns/]BFI's 100 Westerns[/url] 
[url=https://www.icheckmovies.com/lists/bfis+360+classic+feature+films+project/]BFI's 360 Classic Feature Films Project[/url] 
[url=https://www.icheckmovies.com/lists/bfis+top+100+british+films/]BFI's Top 100 British Films[/url] 
[url=https://www.icheckmovies.com/lists/biffs+asian+cinema+100/]BIFF's Asian Cinema 100[/url] 
[url=https://www.icheckmovies.com/lists/bodil+award+-+best+danish+film/]Bodil Award - Best Danish Film[/url] 
[url=https://www.icheckmovies.com/lists/box+office+mojos+all+time+adjusted+box+office/]Box Office Mojo's All Time Adjusted Box Office[/url] 
[url=https://www.icheckmovies.com/lists/box+office+mojos+all+time+worldwide+box+office/]Box Office Mojo's All Time Worldwide Box Office[/url] 
[url=https://www.icheckmovies.com/lists/butlers+fantasy+cinema+impossible+worlds+on+screen/]Butler's Fantasy Cinema Impossible Worlds on Screen[/url] 
[url=https://www.icheckmovies.com/lists/cahiers+du+cinemas+100+films+for+an+ideal+cinematheque/]Cahiers du Cinéma's 100 Films for an Ideal Cinematheque[/url] 
[url=https://www.icheckmovies.com/lists/cahiers+du+cinemas+annual+top+10+lists/]Cahiers du Cinéma's Annual Top 10 Lists[/url] 
[url=https://www.icheckmovies.com/lists/caimans+top+spanish+films/]Caimán's Top Spanish Films[/url] 
[url=https://www.icheckmovies.com/lists/cannes+film+festival+-+grand+prix/]Cannes Film Festival - Grand Prix[/url] 
[url=https://www.icheckmovies.com/lists/cannes+film+festival+-+palme+dor/]Cannes Film Festival - Palme d'Or[/url] 
[url=https://www.icheckmovies.com/lists/cesar+award+-+best+french+film/]César Award - Best French Film[/url] 
[url=https://www.icheckmovies.com/lists/cien+anos+sin+soledad+greatest+latin+american+films/]Cien años sin soledad Greatest Latin American Films[/url] 
[url=https://www.icheckmovies.com/lists/cine.grs+the+best+of+greek+cinema/]Cine.gr's The Best of Greek Cinema[/url] 
[url=https://www.icheckmovies.com/lists/cinechiles+50+best+chilean+movies+of+all+time/]CineChile's 50 Best Chilean Movies of All Time[/url] 
[url=https://www.icheckmovies.com/lists/cinema+tropicals+best+latin+american+films+2000-2009/]Cinema Tropical's Best Latin American Films 2000-2009[/url] 
[url=https://www.icheckmovies.com/lists/cinema+tropicals+best+latin+american+films+2010-2019/]Cinema Tropical's Best Latin American Films 2010-2019[/url] 
[url=https://www.icheckmovies.com/lists/condor+de+plata+award+-+best+argentinian+film/]Cóndor de Plata Award - Best Argentinian Film[/url]
[url=https://www.icheckmovies.com/lists/david+thomsons+have+you+seenquestion/]David Thomson's Have You Seen[/url] 
[url=https://www.icheckmovies.com/lists/diffs+the+100+greatest+arab+films/]DIFF's The 100 Greatest Arab Films[/url] 
[url=https://www.icheckmovies.com/lists/doubling+the+canon/]Doubling the Canon[/url] 
[url=https://www.icheckmovies.com/lists/dutch+film+festivals+dutch+film+top+50/]Dutch Film Festival's Dutch Film Top 50[/url] 
[url=https://www.icheckmovies.com/lists/emma+beares+501+must-see+movies/]Emma Beare's 501 Must-See Movies[/url] 
[url=https://www.icheckmovies.com/lists/empire+russias+100+best+russian+films+readers+choice/]Empire Russia's 100 Best Russian Films Readers' Choice[/url] 
[url=https://www.icheckmovies.com/lists/empires+the+100+best+films+of+world+cinema/]Empire's The 100 Best Films of World Cinema[/url] 
[url=https://www.icheckmovies.com/lists/empires+the+500+greatest+movies+of+all+time/]Empire's The 500 Greatest Movies of All Time[/url] 
[url=https://www.icheckmovies.com/lists/empires+the+greatest+movie+sequels/]Empire's The Greatest Movie Sequels[/url] 
[url=https://www.icheckmovies.com/lists/eurekaexclamations+the+masters+of+cinema+series/]Eureka!'s The Masters of Cinema Series[/url] 
[url=https://www.icheckmovies.com/lists/european+film+award+-+best+film/]European Film Award - Best Film[/url] 
[url=https://www.icheckmovies.com/lists/fespaco+film+festival+-+etalon+de+yennenga/]FESPACO Film Festival - Étalon de Yennenga[/url] 
[url=https://www.icheckmovies.com/lists/film+magazines+best+iranian+films/]Film Magazine's Best Iranian Films[/url] 
[url=https://www.icheckmovies.com/lists/filmtotaal+forums+top+100/]FilmTotaal Forum's Top 100[/url] 
[url=https://www.icheckmovies.com/lists/filmtvs+the+best+italian+films/]FilmTV's The Best Italian Films[/url] 
[url=https://www.icheckmovies.com/lists/flms+best+swedish+films+of+all+time/]FLM's Best Swedish Films of All Time[/url] 
[url=https://www.icheckmovies.com/lists/fokexclamations+film+top+250/]FOK!'s Film Top 250[/url] 
[url=https://www.icheckmovies.com/lists/francois+truffauts+the+films+in+my+life/]François Truffaut's The Films in My Life[/url] 
[url=https://www.icheckmovies.com/lists/galloways+samurai+film+handbook+and+companion/]Galloway's Samurai Film Handbook & Companion[/url] 
[url=https://www.icheckmovies.com/lists/geoff+kings+film+comedy/]Geoff King's Film Comedy[/url] 
[url=https://www.icheckmovies.com/lists/golden+foundation+of+czech+and+slovak+cinema/]Golden Foundation of Czech and Slovak Cinema[/url] 
[url=https://www.icheckmovies.com/lists/golden+globe+award+-+best+motion+picture/]Golden Globe Award - Best Motion Picture[/url] 
[url=https://www.icheckmovies.com/lists/golden+horses+100+greatest+chinese-language+films/]Golden Horse's 100 Greatest Chinese-Language Films[/url] 
[url=https://www.icheckmovies.com/lists/golden+lotus+award+-+best+indian+feature+film/]Golden Lotus Award - Best Indian Feature Film[/url] 
[url=https://www.icheckmovies.com/lists/gouden+kalf+award+-+best+dutch+film/]Gouden Kalf Award - Best Dutch Film[/url] 
[url=https://www.icheckmovies.com/lists/goya+award+-+best+spanish+film/]Goya Award - Best Spanish Film[/url] 
[url=https://www.icheckmovies.com/lists/grindhouse+cinema+databases+top+grindhouse+classics/]Grindhouse Cinema Database's Top Grindhouse Classics[/url] 
[url=https://www.icheckmovies.com/lists/guldbagge+award+-+best+swedish+film/]Guldbagge Award - Best Swedish Film[/url] 
[url=https://www.icheckmovies.com/lists/halliwells+top+1000+the+ultimate+movie+countdown/]Halliwell's Top 1000 The Ultimate Movie Countdown[/url] 
[url=https://www.icheckmovies.com/lists/harvards+suggested+film+viewing+narrative+films/]Harvard's Suggested Film Viewing Narrative Films[/url] 
[url=https://www.icheckmovies.com/lists/harvards+suggested+film+viewing+non-fiction+films/]Harvard's Suggested Film Viewing Non-Fiction Films[/url] 
[url=https://www.icheckmovies.com/lists/hkfas+the+best+100+chinese+motion+pictures/]HKFA's The Best 100 Chinese Motion Pictures[/url] 
[url=https://www.icheckmovies.com/lists/hurriyets+the+100+best+movies+of+turkish+cinema/]Hürriyet's The 100 Best Movies of Turkish Cinema[/url] 
[url=https://www.icheckmovies.com/lists/icheckmoviess+most+checked/]iCheckMovies's Most Checked[/url] 
[url=https://www.icheckmovies.com/lists/icheckmoviess+most+favorited/]iCheckMovies's Most Favorited[/url] 
[url=https://www.icheckmovies.com/lists/icm+forums+500dashleft400/]ICM Forum's 500-400[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+1910s+top+50/]IMDb's 1910s Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+1920s+top+50/]IMDb's 1920s Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+1930s+top+50/]IMDb's 1930s Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+1940s+top+50/]IMDb's 1940s Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+1950s+top+50/]IMDb's 1950s Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+1960s+top+50/]IMDb's 1960s Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+1970s+top+50/]IMDb's 1970s Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+1980s+top+50/]IMDb's 1980s Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+1990s+top+50/]IMDb's 1990s Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+2000s+top+50/]IMDb's 2000s Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+2010s+top+50/]IMDb's 2010s Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+action+top+50/]IMDb's Action Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+adventure+top+50/]IMDb's Adventure Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+animation+top+50/]IMDb's Animation Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+biography+top+50/]IMDb's Biography Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+comedy+top+50/]IMDb's Comedy Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+crime+top+50/]IMDb's Crime Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+documentary+top+50/]IMDb's Documentary Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+drama+top+50/]IMDb's Drama Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+family+top+50/]IMDb's Family Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+fantasy+top+50/]IMDb's Fantasy Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+film-noir+top+50/]IMDb's Film-Noir Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+history+top+50/]IMDb's History Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+horror+top+50/]IMDb's Horror Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+independent+top+50/]IMDb's Independent Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+mini-series+top+50/]IMDb's Mini-Series Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+music+top+50/]IMDb's Music Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+musical+top+50/]IMDb's Musical Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+mystery+top+50/]IMDb's Mystery Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+romance+top+50/]IMDb's Romance Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+sci-fi+top+50/]IMDb's Sci-Fi Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+shorts+top+50/]IMDb's Shorts Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+sport+top+50/]IMDb's Sport Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+thriller+top+50/]IMDb's Thriller Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+top+250/]IMDb's Top 250[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+war+top+50/]IMDb's War Top 50[/url] 
[url=https://www.icheckmovies.com/lists/imdbs+western+top+50/]IMDb's Western Top 50[/url] 
[url=https://www.icheckmovies.com/lists/jennifer+eisss+500+essential+cult+movies/]Jennifer Eiss's 500 Essential Cult Movies[/url] 
[url=https://www.icheckmovies.com/lists/jerry+becks+the+50+greatest+cartoons/]Jerry Beck's The 50 Greatest Cartoons[/url] 
[url=https://www.icheckmovies.com/lists/jonathan+rosenbaums+essential+cinema/]Jonathan Rosenbaum's Essential Cinema[/url] 
[url=https://www.icheckmovies.com/lists/kinema+junpos+top+200+japanese+films/]Kinema Junpo's Top 200 Japanese Films[/url] 
[url=https://www.icheckmovies.com/lists/kinemathekverbunds+the+100+most+important+german+films/]Kinemathekverbund's The 100 Most Important German Films[/url] 
[url=https://www.icheckmovies.com/lists/kofas+100+korean+films/]KOFA's 100 Korean Films[/url] 
[url=https://www.icheckmovies.com/lists/leonard+maltins+100+must-see+films+of+the+20th+century/]Leonard Maltin's 100 Must-See Films of the 20th Century[/url] 
[url=https://www.icheckmovies.com/lists/library+of+congresss+national+film+registry/]Library of Congress's National Film Registry[/url] 
[url=https://www.icheckmovies.com/lists/locarno+film+festival+-+golden+leopard/]Locarno Film Festival - Golden Leopard[/url] 
[url=https://www.icheckmovies.com/lists/lola+award+-+best+german+film/]Lola Award - Best German Film[/url] 
[url=https://www.icheckmovies.com/lists/lovehkfilm.coms+the+best+hong+kong+films+ever/]LoveHKFilm.com's The Best Hong Kong Films Ever[/url] 
[url=https://www.icheckmovies.com/lists/maarivs+best+israeli+films+of+all+time/]Maariv's Best Israeli Films of All Time[/url]
[url=https://www.icheckmovies.com/lists/magyar+m/]Magyar Muvészeti Akadémia's 53 Hungarian Films[/url] 
[url=https://www.icheckmovies.com/lists/mark+cousinss+the+story+of+film+an+odyssey/]Mark Cousins's The Story of Film An Odyssey[/url] 
[url=https://www.icheckmovies.com/lists/marshall+juliuss+actionexclamation+the+action+movie+a-z/]Marshall Julius's Action! The Action Movie A-Z[/url] 
[url=https://www.icheckmovies.com/lists/moviesense+101/]MovieSense 101[/url] 
[url=https://www.icheckmovies.com/lists/muzeum+kinematografii+w+/]Muzeum Kinematografii w Lodzi's Best Polish Films[/url] 
[url=https://www.icheckmovies.com/lists/national+board+of+review+award+-+best+film/]National Board of Review Award - Best Film[/url] 
[url=https://www.icheckmovies.com/lists/national+film+archive+of+indias+125+great+indian+films/]National Film Archive of India's 125 Great Indian Films[/url] 
[url=https://www.icheckmovies.com/lists/nickel+odeons+best+spanish+films/]Nickel Odeón's Best Spanish Films[/url] 
[url=https://www.icheckmovies.com/lists/ofcss+top+100+animated+features+of+all+time/]OFCS's Top 100 Animated Features of All Time[/url] 
[url=https://www.icheckmovies.com/lists/outlook+indias+best+bollywood+films/]Outlook India's Best Bollywood Films[/url] 
[url=https://www.icheckmovies.com/lists/pastes+the+100+best+anime+movies+of+all+time/]Paste's The 100 Best Anime Movies of All Time[/url] 
[url=https://www.icheckmovies.com/lists/pastes+the+100+best+romantic+comedies+of+all+time/]Paste's The 100 Best Romantic Comedies of All Time[/url] 
[url=https://www.icheckmovies.com/lists/paul+rothas+silent+but+not+forgotten/]Paul Rotha's Silent but Not Forgotten[/url] 
[url=https://www.icheckmovies.com/lists/pinoy+rebyus+100+greatest+pinoy+films+of+all+time/]Pinoy Rebyu's 100 Greatest Pinoy Films of All Time[/url]
[url=https://www.icheckmovies.com/lists/pixar+directors+recommend+films+for+kids+under+13/]Pixar Directors Recommend Films for Kids Under 13[/url]
[url=https://www.icheckmovies.com/lists/polski+instytut+sztuki+filmowejs+100+years+of+polish+film/]Polski Instytut Sztuki Filmowej's 100 Years of Polish Film[/url] 
[url=https://www.icheckmovies.com/lists/publicos+top+portuguese+films+to+show+in+schools/]Público's Top Portuguese Films to Show in Schools[/url] 
[url=https://www.icheckmovies.com/lists/quentin+tarantinos+coolest+movies+of+all+time/]Quentin Tarantino's Coolest Movies of All Time[/url] 
[url=https://www.icheckmovies.com/lists/reddit+top+250/]Reddit Top 250[/url] 
[url=https://www.icheckmovies.com/lists/roger+eberts+great+movies/]Roger Ebert's Great Movies[/url] 
[url=https://www.icheckmovies.com/lists/rotten+tomatoess+top+100+movies+of+all+time/]Rotten Tomatoes's Top 100 Movies of All Time[/url] 
[url=https://www.icheckmovies.com/lists/roy+menarinis+il+grande+cinema+italiano/]Roy Menarini's Il Grande Cinema Italiano[/url] 
[url=https://www.icheckmovies.com/lists/russian+guild+of+film+criticss+best+russian+films/]Russian Guild of Film Critics's Best Russian Films[/url] 
[url=https://www.icheckmovies.com/lists/scott+hockings+100+greatest+films+of+australian+cinema/]Scott Hocking's 100 Greatest Films of Australian Cinema[/url] 
[url=https://www.icheckmovies.com/lists/sector+cines+best+mexican+films+of+all+time/]Sector Cine's Best Mexican Films of All Time[/url]
[url=https://www.icheckmovies.com/lists/sharon+a.+russells+guide+to+african+cinema/]Sharon A. Russell's Guide to African Cinema[/url] 
[url=https://www.icheckmovies.com/lists/sight+and+sounds+75+hidden+gems/]Sight & Sound's 75 Hidden Gems[/url] 
[url=https://www.icheckmovies.com/lists/sight+and+sounds+the+greatest+documentaries+of+all+time/]Sight & Sound's The Greatest Documentaries of All Time[/url] 
[url=https://www.icheckmovies.com/lists/sight+and+sounds+the+greatest+films+of+all+time/]Sight & Sound's The Greatest Films of All Time[/url] 
[url=https://www.icheckmovies.com/lists/silent+eras+the+top+300+silent+era+films/]Silent Era's The Top 300 Silent Era Films[/url] 
[url=https://www.icheckmovies.com/lists/slates+the+black+film+canon/]Slate's The Black Film Canon[/url]
[url=https://www.icheckmovies.com/lists/spike+lees+essential+list+of+films+for+filmmakers/]Spike Lee's Essential List of Films for Filmmakers[/url] 
[url=https://www.icheckmovies.com/lists/stanley+kubrick+cinephile/]Stanley Kubrick, Cinephile[/url] 
[url=https://www.icheckmovies.com/lists/sundance+film+festival+-+grand+jury+prize/]Sundance Film Festival - Grand Jury Prize[/url] 
[url=https://www.icheckmovies.com/lists/taschens+100+all-time+favorite+movies/]Taschen's 100 All-Time Favorite Movies[/url] 
[url=https://www.icheckmovies.com/lists/the+criterion+collection/]The Criterion Collection[/url] 
[url=https://www.icheckmovies.com/lists/the+criterion+collections+eclipse+series/]The Criterion Collection's Eclipse Series[/url] 
[url=https://www.icheckmovies.com/lists/the+guardians+1000+films+to+see+before+you+die/]The Guardian's 1000 Films to See Before You Die[/url] 
[url=https://www.icheckmovies.com/lists/the+new+york+timess+book+of+movies/]The New York Times's Book of Movies[/url] 
[url=https://www.icheckmovies.com/lists/the+spaghetti+western+databases+essential+top+50+films/]The Spaghetti Western Database's Essential Top 50 Films[/url] 
[url=https://www.icheckmovies.com/lists/the+timess+100+best+french+films/]The Times's 100 Best French Films[/url] 
[url=https://www.icheckmovies.com/lists/tiffs+top+canadian+films/]TIFF's Top Canadian Films[/url] 
[url=https://www.icheckmovies.com/lists/tiff+-+peoples+choice+award/]TIFF - People's Choice Award[/url] 
[url=https://www.icheckmovies.com/lists/tim+dirkss+100plus+most+controversial+films+of+all-time/]Tim Dirks's 100+ Most Controversial Films of All-Time[/url] 
[url=https://www.icheckmovies.com/lists/time+outs+1000+films+to+change+your+life/]Time Out's 1000 Films to Change Your Life[/url] 
[url=https://www.icheckmovies.com/lists/time+outs+the+100+best+british+films/]Time Out's The 100 Best British Films[/url] 
[url=https://www.icheckmovies.com/lists/time+outs+the+100+best+french+films/]Time Out's The 100 Best French Films[/url] 
[url=https://www.icheckmovies.com/lists/time+outs+the+100+best+romantic+films/]Time Out's The 100 Best Romantic Films[/url] 
[url=https://www.icheckmovies.com/lists/time+outs+the+101+best+action+movies+ever+made/]Time Out's The 101 Best Action Movies Ever Made[/url] 
[url=https://www.icheckmovies.com/lists/tom+vicks+asian+cinema+a+field+guide/]Tom Vick's Asian Cinema A Field Guide[/url] 
[url=https://www.icheckmovies.com/lists/total+films+50+amazing+films+youve+probably+never+seen/]Total Film's 50 Amazing Films You've Probably Never Seen[/url] 
[url=https://www.icheckmovies.com/lists/total+sci-fis+the+100+greatest+sci-fi+movies/]Total Sci-Fi's The 100 Greatest Sci-Fi Movies[/url] 
[url=https://www.icheckmovies.com/lists/tspdts+100+essential+noir+films/]TSPDT's 100 Essential Noir Films[/url] 
[url=https://www.icheckmovies.com/lists/tspdts+1000+greatest+films/]TSPDT's 1,000 Greatest Films[/url] 
[url=https://www.icheckmovies.com/lists/tspdts+1000+greatest+films+1001-2000/]TSPDT's 1,000 Greatest Films 1001-2000[/url]
[url=https://www.icheckmovies.com/lists/tspdts+1000+noir+films/]TSPDT's 1,000 Noir Films[/url] 
[url=https://www.icheckmovies.com/lists/tspdts+21st+centurys+most+acclaimed+films/]TSPDT's 21st Century's Most Acclaimed Films[/url] 
[url=https://www.icheckmovies.com/lists/tspdts+aint+nobodys+blues+but+my+own/]TSPDT's Ain't Nobody's Blues but My Own[/url] 
[url=https://www.icheckmovies.com/lists/tspdts+brief+encounters/]TSPDT's Brief Encounters[/url] 
[url=https://www.icheckmovies.com/lists/tszdts+the+1000+greatest+horror+films/]TSZDT's The 1,000 Greatest Horror Films[/url] 
[url=https://www.icheckmovies.com/lists/unescos+memory+of+the+world/]UNESCO's Memory of the World[/url] 
[url=https://www.icheckmovies.com/lists/venice+film+festival+-+golden+lion/]Venice Film Festival - Golden Lion[/url] 
[url=https://www.icheckmovies.com/lists/wei+jun+zis+100+classic+martial+arts+films/]Wei Jun Zi's 100 Classic Martial Arts Films[/url] 
[url=https://www.icheckmovies.com/lists/yle+newss+best+finnish+films/]Yle News's Best Finnish Films[/url] 
User avatar
Tim2460
Posts: 6215
Joined: October 1st, 2018, 7:23 pm
Location: Dijon, France
Contact:

#1006

Post by Tim2460 »

IMDB has an new format ... ZAnd the main script that links the film to Google, youtube and several other sites don't work anymore ;(
User avatar
Fergenaprido
Donator
Posts: 5669
Joined: June 3rd, 2014, 6:00 am
Location: Canada
Contact:

#1007

Post by Fergenaprido »

Tim2460 wrote: May 23rd, 2021, 10:03 pm IMDB has an new format ... ZAnd the main script that links the film to Google, youtube and several other sites don't work anymore ;(
The script still works for me.
🧚‍♂️🦫
User avatar
monk-time
Posts: 1446
Joined: March 23rd, 2015, 6:00 am
Contact:

#1008

Post by monk-time »

Tim2460 wrote: May 23rd, 2021, 10:03 pm IMDB has an new format ... ZAnd the main script that links the film to Google, youtube and several other sites don't work anymore ;(
Oh, they have started rolling out the new design. Expect all scripts to break in the meanwhile. I'll fix mine when I receive the update and have the time to look into it.
User avatar
mightysparks
Site Admin
Posts: 31513
Joined: May 5th, 2011, 6:00 am
Location: Perth, WA, Australia
Contact:

#1009

Post by mightysparks »

Urgh I saw the preview button a while ago and tried it once and hated it. I've been dreading the rollout :(
"I do not always know what I want, but I do know what I don't want." - Stanley Kubrick

iCM | IMDb | LastFM | TSZDT

Image
User avatar
xianjiro
Donator
Posts: 9619
Joined: June 17th, 2015, 6:00 am
Location: Kakistani Left Coast
Contact:

#1010

Post by xianjiro »

not sure what effect it might have, but I am still able to get reference view - it's been a long, long time since I last looked at that setting. Has it always said, "Contributors - Show reference view with full cast and crew (advanced view)"? I want to say anyone could select reference view when I last looked. So, if one doesn't contribute, is that no longer an option? BTW, it's under Account Settings/Preferences/Content Settings.

So while I've seen examples of the new format, I still get pages like I've always gotten them. Thankfully!
User avatar
mightysparks
Site Admin
Posts: 31513
Joined: May 5th, 2011, 6:00 am
Location: Perth, WA, Australia
Contact:

#1011

Post by mightysparks »

I just changed back to reference view. I think it is worded differently now though. They changed the look of reference view some years ago and I switched to the normal view but they've made it worse twice since then anyway.
"I do not always know what I want, but I do know what I don't want." - Stanley Kubrick

iCM | IMDb | LastFM | TSZDT

Image
User avatar
Onderhond
Posts: 7123
Joined: December 23rd, 2012, 7:00 am
Contact:

#1012

Post by Onderhond »

I'm glad they're finally doing the rollout, got kinda tired of that big yellow banner with the option to revert to the old view.
User avatar
Tim2460
Posts: 6215
Joined: October 1st, 2018, 7:23 pm
Location: Dijon, France
Contact:

#1013

Post by Tim2460 »

xianjiro wrote: May 24th, 2021, 7:53 am not sure what effect it might have, but I am still able to get reference view - it's been a long, long time since I last looked at that setting. Has it always said, "Contributors - Show reference view with full cast and crew (advanced view)"? I want to say anyone could select reference view when I last looked. So, if one doesn't contribute, is that no longer an option? BTW, it's under Account Settings/Preferences/Content Settings.

So while I've seen examples of the new format, I still get pages like I've always gotten them. Thankfully!
Xian : thx it worked fine : every movie page i get is the ref view and the script works
User avatar
xianjiro
Donator
Posts: 9619
Joined: June 17th, 2015, 6:00 am
Location: Kakistani Left Coast
Contact:

#1014

Post by xianjiro »

Maybe you've see this headline (or one like it):
Microsoft's first OpenAI-powered feature helps beginners build productivity apps
It enables users to code apps using conversational language.
= https://www.engadget.com/microsoft-firs ... 57556.html

I'm curious to see if there will be any way to use it to automate or make things we do easier. Will be interesting to see what comes out next month. Can't say I've got anything at the top of my head, but imagine if it could scrape iCM and give me all the movies I checked in 2018 or something. I just have no motivation to actually learn to write script any more (been there, done that, ugh) It says users will still have to understand the script that is generated, that might be doable. Don't know at this stage. Just an interesting development.
mjf314
Moderator
Posts: 12011
Joined: May 8th, 2011, 6:00 am
Contact:

#1015

Post by mjf314 »

xianjiro wrote: May 26th, 2021, 5:59 pm but imagine if it could scrape iCM and give me all the movies I checked in 2018 or something.
You don't need a script for that. Just export your checks (or ask someone to export it for you), open in Excel, and sort by check date.
User avatar
Melvelet
Posts: 2571
Joined: March 29th, 2013, 6:00 am
Location: Berlin, Germany
Contact:

#1016

Post by Melvelet »

Or put your ICM checks on Letterboxd (using the aforementioned export)
Current recommendation: Mandala (1981)


ImageImage


Current focus: Doubling the Canon nominees, Japan, South Korea

Last.fm | RYM
User avatar
Onderhond
Posts: 7123
Joined: December 23rd, 2012, 7:00 am
Contact:

#1017

Post by Onderhond »

Little update to the Top 500 script.

- some visual changes
- highlight of the aim
- added percentages

Image

Code: Select all

// ==UserScript==
// @name         ICM Progress
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://*.icheckmovies.com/profiles/progress/*
// @grant        none
// ==/UserScript==

let counts = [1, 10, 100, 250, 500, 625, 750, 1000, 1250, 1500, 1750, 2000, 2250];
let aim = 500;

let allLists = document.getElementById('progressall');
let allRanksRaw = allLists.querySelectorAll(':scope > li .rank a');
let allRanks = [];
for (let i=0; i < allRanksRaw.length; ++i) {
    allRanks.push(allRanksRaw[i].innerHTML.substring(1));
}
allRanks.sort(function(a, b){return a-b});
let results = [];
let countIndex = 0;
let countPositions = 0;
let countRanks = 0;
for (let j=0; j < allRanks.length; ++j) {
    if (allRanks[j] > counts[countIndex]){
        results.push(j);
        countIndex++;
    }
    if (j == (allRanks.length - 1) ){
        results.push(j+1);
    }

    if (allRanks[j] > aim) {
        countPositions += (allRanks[j] - aim);
    }
    countRanks += parseInt(allRanks[j]);
}

let allCount = parseInt(allRanks.length);
let bronzeCount = parseInt(document.querySelectorAll('#progressall .awardCutoffBronze .cutoff').length);
let silverCount = parseInt(document.querySelectorAll('#progressall .awardCutoffSilver .cutoff').length);
let goldCount = parseInt(document.querySelectorAll('#progressall .awardCutoffGold .cutoff').length);
let platinumCount = parseInt(document.querySelectorAll('#progressall .awardCutoffPlatinum .cutoff').length);

let extraInfo = '<div class="ohWrap"><div class="ohExtraInfo">';
extraInfo += '<div class="table"><div><table><thead><tr>';
extraInfo += '<th>Platinum</th><th>Gold</th><th>Silver</th><th>Bronze</th>';
extraInfo += '</tr></thead><tbody><tr>';
extraInfo += '<td>' + (allCount - platinumCount) + '</td><td>' + (allCount - goldCount) + '</td><td>' + (allCount - silverCount) + '</td><td>' + (allCount - bronzeCount) + '</td>';
extraInfo += '</tr></table></div></div></div>';
extraInfo += '<div class="ohExtraInfo"><div class="table"><div><table><thead><tr>'
for (let k=0; k < counts.length; ++k) {
    if (aim == counts[k]) {
        extraInfo += '<th class="aim">T' + counts[k] + '</th>'
    } else {
        extraInfo += '<th>T' + counts[k] + '</th>'
    }
}
extraInfo += '</tr></thead><tbody><tr>';
for (let k=0; k < results.length; ++k) {
    if (aim == counts[k]) {
        extraInfo += '<td class="aim">' + results[k] + '</td>'
    } else {
        extraInfo += '<td>' + results[k] + '</td>'
    }
}
extraInfo += '</tr><tr class="percentages">';
for (let k=0; k < results.length; ++k) {
    if (aim == counts[k]) {
        extraInfo += '<td class="aim">' + Math.round(results[k]/allCount*100) + '%</td>'
    } else {
        extraInfo += '<td>' + Math.round(results[k]/allCount*100) + '%</td>'
    }
}
extraInfo += '</tr></tbody></table></div></div>';
extraInfo += '<div class="ohAll">';
extraInfo += '<div>T' + aim + ' overshoot: <b>' + countPositions + '</b></div>';
extraInfo += '<div>Sum of all ranks: <b>' + countRanks + '</b></div>';
extraInfo += '</div></div>';
extraInfo += '<style>';
extraInfo += '.ohWrap {margin:32px 0;}';
extraInfo += '.ohExtraInfo {border:4px solid #dee3d1; padding:8px; border-radius:16px;} .ohExtraInfo + .ohExtraInfo {margin-top:12px;} .ohExtraInfo .table {border-radius:8px; overflow:hidden;} .ohExtraInfo .table > div {margin:0 -2px;} .ohExtraInfo table {border-spacing:2px 0; margin:0;} .ohExtraInfo table th {background:#dee3d1; padding:0 8px; text-align:center; color:#567d68;} .ohExtraInfo table th.aim {background:#C02525; color:#fff;} .ohExtraInfo table td.aim {color:#C02525; font-weight:700;} .ohExtraInfo table td {background:#fff; padding:0 8px; text-align:center;} .spec {display:flex; margin:4px 0;}.spec .label {font-weight:700; flex-basis:160px;}';
extraInfo += '.ohExtraInfo tr.percentages {font-size:12px;} .ohExtraInfo tr.percentages td {border-top:1px solid #dee3d1;}';
extraInfo += '.ohExtraInfo .ohAll {background:#fff; padding:8px; border-radius:8px; margin-top:8px;} .ohExtraInfo .ohAll > * {display:inline-block;} .ohExtraInfo .ohAll > * + * {margin-left:12px;} .ohExtraInfo .ohAll > * + *:before {content:"|"; margin-right:12px;}';
extraInfo += '</style>';
let printExtraLocation = document.getElementById('progressFilter');
printExtraLocation.insertAdjacentHTML('beforebegin', extraInfo);

User avatar
Fergenaprido
Donator
Posts: 5669
Joined: June 3rd, 2014, 6:00 am
Location: Canada
Contact:

#1018

Post by Fergenaprido »

OMG that looks so fucking sexy Onderhond!

I'm going to update that script ASAP! Which reminds me, I still need to downgrade, save settings, and then reupgrade the enhanced script. I should do that this weekend too.
🧚‍♂️🦫
User avatar
mightysparks
Site Admin
Posts: 31513
Joined: May 5th, 2011, 6:00 am
Location: Perth, WA, Australia
Contact:

#1019

Post by mightysparks »

Unlike IMDb, updates to these scripts are always actual upgrades :cheers:
"I do not always know what I want, but I do know what I don't want." - Stanley Kubrick

iCM | IMDb | LastFM | TSZDT

Image
User avatar
Knaldskalle
Moderator
Posts: 10478
Joined: May 9th, 2011, 6:00 am
Location: New Mexico, USA
Contact:

#1020

Post by Knaldskalle »

Fergenaprido wrote: May 27th, 2021, 8:44 pm OMG that looks so fucking sexy Onderhond!

I'm going to update that script ASAP! Which reminds me, I still need to downgrade, save settings, and then reupgrade the enhanced script. I should do that this weekend too.
I second this. Combined with the iCM Enhanced it takes up a fair amount of space on the top of the page, but man, it looks amazing!
ImageImageImageImage

Please don't hurt yourself, talk to someone.
User avatar
Onderhond
Posts: 7123
Joined: December 23rd, 2012, 7:00 am
Contact:

#1021

Post by Onderhond »

Glad you like it. There's not much functional change (apart from the percentages, which just saves me a bit of mental gymnastics), but as a non-designer even I got a bit irritated by the bare table that was there before :D

I do agree it takes up a bit more space now. I could add an option where you could hide the info behind an expand/collapse if you wanted, but I'm making no promises.
User avatar
Tim2460
Posts: 6215
Joined: October 1st, 2018, 7:23 pm
Location: Dijon, France
Contact:

#1022

Post by Tim2460 »

Thx Ond : it looks nice !
User avatar
Onderhond
Posts: 7123
Joined: December 23rd, 2012, 7:00 am
Contact:

#1023

Post by Onderhond »

Mkay, so if you want the progress data there but you rather have it behind an expand/collapse (so it doesn't take up as much space), just update your script with this code to get the following layout:

Image

Code: Select all

// ==UserScript==
// @name         ICM Progress
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://*.icheckmovies.com/profiles/progress/*
// @grant        none
// ==/UserScript==

let counts = [1, 10, 100, 250, 500, 625, 750, 1000, 1250, 1500, 1750, 2000, 2250];
let aim = 500;
let minimizeRealEstate = true;

let allLists = document.getElementById('progressall');
let allRanksRaw = allLists.querySelectorAll(':scope > li .rank a');
let allRanks = [];
for (let i=0; i < allRanksRaw.length; ++i) {
    allRanks.push(allRanksRaw[i].innerHTML.substring(1));
}
allRanks.sort(function(a, b){return a-b});
let results = [];
let countIndex = 0;
let countPositions = 0;
let countRanks = 0;
for (let j=0; j < allRanks.length; ++j) {
    if (allRanks[j] > counts[countIndex]){
        results.push(j);
        countIndex++;
    }
    if (j == (allRanks.length - 1) ){
        results.push(j+1);
    }

    if (allRanks[j] > aim) {
        countPositions += (allRanks[j] - aim);
    }
    countRanks += parseInt(allRanks[j]);
}

let allCount = parseInt(allRanks.length);
let bronzeCount = parseInt(document.querySelectorAll('#progressall .awardCutoffBronze .cutoff').length);
let silverCount = parseInt(document.querySelectorAll('#progressall .awardCutoffSilver .cutoff').length);
let goldCount = parseInt(document.querySelectorAll('#progressall .awardCutoffGold .cutoff').length);
let platinumCount = parseInt(document.querySelectorAll('#progressall .awardCutoffPlatinum .cutoff').length);

let extraInfo = '<div class="ohProgressData">';

extraInfo += (minimizeRealEstate) ? '<details><summary><span>Progress data</span></summary><div class="summaryDetails">' : '';

extraInfo += '<div class="ohWrap"><div class="ohExtraInfo">';
extraInfo += '<div class="table"><div><table><thead><tr>';
extraInfo += '<th>Platinum</th><th>Gold</th><th>Silver</th><th>Bronze</th>';
extraInfo += '</tr></thead><tbody><tr>';
extraInfo += '<td>' + (allCount - platinumCount) + '</td><td>' + (allCount - goldCount) + '</td><td>' + (allCount - silverCount) + '</td><td>' + (allCount - bronzeCount) + '</td>';
extraInfo += '</tr></table></div></div></div>';
extraInfo += '<div class="ohExtraInfo"><div class="table"><div><table><thead><tr>'
for (let k=0; k < counts.length; ++k) {
    if (aim == counts[k]) {
        extraInfo += '<th class="aim">T' + counts[k] + '</th>'
    } else {
        extraInfo += '<th>T' + counts[k] + '</th>'
    }
}
extraInfo += '</tr></thead><tbody><tr>';
for (let k=0; k < results.length; ++k) {
    if (aim == counts[k]) {
        extraInfo += '<td class="aim">' + results[k] + '</td>'
    } else {
        extraInfo += '<td>' + results[k] + '</td>'
    }
}
extraInfo += '</tr><tr class="percentages">';
for (let k=0; k < results.length; ++k) {
    if (aim == counts[k]) {
        extraInfo += '<td class="aim">' + Math.round(results[k]/allCount*100) + '%</td>'
    } else {
        extraInfo += '<td>' + Math.round(results[k]/allCount*100) + '%</td>'
    }
}
extraInfo += '</tr></tbody></table></div></div>';
extraInfo += '<div class="ohAll">';
extraInfo += '<div>T' + aim + ' overshoot: <b>' + countPositions + '</b></div>';
extraInfo += '<div>Sum of all ranks: <b>' + countRanks + '</b></div>';
extraInfo += '</div></div>';
extraInfo += '<style>';
extraInfo += '.ohProgressData {margin:32px 0;}';
extraInfo += '.ohExtraInfo {border:4px solid #dee3d1; padding:8px; border-radius:16px;} .ohExtraInfo + .ohExtraInfo {margin-top:12px;} .ohExtraInfo .table {border-radius:8px; overflow:hidden;} .ohExtraInfo .table > div {margin:0 -2px;} .ohExtraInfo table {border-spacing:2px 0; margin:0;} .ohExtraInfo table th {background:#dee3d1; padding:0 8px; text-align:center; color:#567d68;} .ohExtraInfo table th.aim {background:#C02525; color:#fff;} .ohExtraInfo table td.aim {color:#C02525; font-weight:700;} .ohExtraInfo table td {background:#fff; padding:0 8px; text-align:center;} .spec {display:flex; margin:4px 0;}.spec .label {font-weight:700; flex-basis:160px;}';
extraInfo += '.ohExtraInfo tr.percentages {font-size:12px;} .ohExtraInfo tr.percentages td {border-top:1px solid #dee3d1;}';
extraInfo += '.ohExtraInfo .ohAll {background:#fff; padding:8px; border-radius:8px; margin-top:8px;} .ohExtraInfo .ohAll > * {display:inline-block;} .ohExtraInfo .ohAll > * + * {margin-left:12px;} .ohExtraInfo .ohAll > * + *:before {content:"|"; margin-right:12px;}';
extraInfo += '.ohProgressData details summary {padding-bottom:6px; border-bottom:2px solid #567d68;} .ohProgressData details summary span {margin-left:3px; font-size:16px; color:#567d68; font-weight:700;} .ohProgressData details .summaryDetails {padding-top:16px;}' ;
extraInfo += '</style>';

extraInfo += (minimizeRealEstate) ? '</div></details>' : '';
extraInfo += '</div>';

let printExtraLocation = document.getElementById('progressFilter');
printExtraLocation.insertAdjacentHTML('beforebegin', extraInfo);
There's a parameter there (let minimizeRealEstate = true;) which triggers the behavior. If you set it to

Code: Select all

let minimizeRealEstate = false;
You just get the old layout again. Hope that's helpful!
User avatar
maxwelldeux
Donator
Posts: 9078
Joined: June 7th, 2016, 6:00 am
Location: Seattle-ish, WA, USA
Contact:

#1024

Post by maxwelldeux »

Onderhond wrote: May 28th, 2021, 7:32 am Mkay, so if you want the progress data there but you rather have it behind an expand/collapse (so it doesn't take up as much space), just update your script with this code to get the following layout:
So I just discovered that script exists... that's awesome!

Except for two things.
Image of problems
Image
1. Since I'm pretty sure I didn't win ICM, my award counts seem... off. Did I miss a parameter I needed to update to get accurate Award counts?
2. My top-10 count is off by one. Everything else seems accurate. Any idea what's going on?

FYI: This is installed in an updated Chrome browser with and updated Tampermonkey. I changed the array in "let counts = ..." (line 11) and "let aim = ..." (line 12). No other changes.
User avatar
Onderhond
Posts: 7123
Joined: December 23rd, 2012, 7:00 am
Contact:

#1025

Post by Onderhond »

maxwelldeux wrote: May 28th, 2021, 8:46 pm Except for two things.
1/ the odd thing is that you don't seem to have the awards (bronze-platinum) listed next to each list either? I use that data to compute the number, so I'm not surprised something goes wrong there.

2/ I think monk-time fixed this in the updated/cleaned-up script he sent me. Can you try it again with the code below?

Code: Select all

// ==UserScript==
// @name         ICM Progress
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       Onderhond for the base code, monk-time for code cleanup and debugging
// @match        https://*.icheckmovies.com/profiles/progress/*
// @grant        none
// ==/UserScript==

'use strict';

const limits = [1, 10, 100, 250, 500, 625, 750, 1000, 1250, 1500, 1750, 2000, 2250];
const aim = 500;
const minimizeRealEstate = false;

const allRanksRaw = document.querySelectorAll('#progressall > li .rank a');
const allRanks = [...allRanksRaw].map(el => parseInt(el.innerHTML.slice(1), 10));
allRanks.sort((a, b) => a - b);
const allCount = allRanks.length;

const nf = Intl.NumberFormat();
const sumAimOvershoot = allRanks.filter(x => x > aim).map(x => x - aim).reduce((a, b) => a + b);
const sumRanks = allRanks.reduce((a, b) => a + b);

const results = limits.map(limit => {
    const firstIndexAbove = allRanks.findIndex(x => x > limit);
    const count = firstIndexAbove !== -1 ? firstIndexAbove : allRanks.length;
    return {
        limit,
        count,
        limitLabel: limit !== Infinity ? `T${limit}` : '',
        percentage: Math.round((count / allCount) * 100),
    };
});

const awardTypes = ['Platinum', 'Gold', 'Silver', 'Bronze'];
const awardCounts = awardTypes.map(type =>
    document.querySelectorAll(`#progressall .awardCutoff${type} .cutoff`).length);

const getHeader = ({ limit, limitLabel }) =>
    `<th ${limit === aim ? 'class="aim"' : ''}>${limitLabel}</th>`;
const getCell1 = ({ limit, count }) =>
    `<td ${limit === aim ? 'class="aim"' : ''}>${count}</td>`;
const getCell2 = ({ limit, percentage }) =>
    `<td ${limit === aim ? 'class="aim"' : ''}>${percentage}%</td>`;

const wrap = `
    <div class="ohWrap">
        <div class="ohExtraInfo">
            <div class="table">
                <div>
                    <table>
                        <thead>
                            <tr>${awardTypes.map(type => `<th>${type}</th>`).join('\n')}</tr>
                        </thead>
                        <tbody>
                            <tr>${awardCounts.map(count => `<td>${allCount - count}</td>`).join('\n')}</tr>
                        </tbody>
                    </table>
                </div>
            </div>
        </div>
        <div class="ohExtraInfo">
            <div class="table">
                <div>
                    <table>
                        <thead>
                            <tr>${results.map(getHeader).join('\n')}</tr>
                        </thead>
                        <tbody>
                            <tr>${results.map(getCell1).join('\n')}</tr>
                            <tr class="percentages">${results.map(getCell2).join('\n')}</tr>
                        </tbody>
                    </table>
                </div>
            </div>
            <div class="ohAll">
                <div>T${aim} overshoot: <b>${nf.format(sumAimOvershoot)}</b></div>
                <div>Sum of all ranks: <b>${nf.format(sumRanks)}</b></div>
            </div>
        </div>
    </div>
`;

const minimized = `
    <details>
        <summary><span>Progress data</span></summary>
        <div class="summaryDetails">${wrap}</div>
    </details>
`;

const html = `
    <div class="ohProgressData">
        ${minimizeRealEstate ? minimized : wrap}
    </div>
`;

const printExtraLocation = document.getElementById('progressFilter');
printExtraLocation.insertAdjacentHTML('beforebegin', html);

document.head.insertAdjacentHTML('beforeend', `
    <style>
        .ohProgressData { margin: 32px 0; }
        .ohExtraInfo { border: 4px solid #dee3d1; padding: 8px; border-radius: 16px; }
        .ohExtraInfo + .ohExtraInfo { margin-top: 12px; }
        .ohExtraInfo .table { border-radius: 8px; overflow: hidden; }
        .ohExtraInfo .table > div { margin: 0 -2px; }
        .ohExtraInfo table { border-spacing: 2px 0; margin: 0; }
        .ohExtraInfo table th { background: #dee3d1; padding: 0 8px; text-align: center; color: #567d68; }
        .ohExtraInfo table th.aim { background: #C02525; color: #fff; }
        .ohExtraInfo table td.aim { color: #C02525; font-weight: 700; }
        .ohExtraInfo table td { background: #fff; padding: 0 8px; text-align: center; }
        .spec { display: flex; margin: 4px 0; }
        .spec .label { font-weight: 700; flex-basis: 160px; }
        .ohExtraInfo tr.percentages { font-size: 12px; }
        .ohExtraInfo tr.percentages td { border-top: 1px solid #dee3d1; }
        .ohExtraInfo .ohAll { background: #fff; padding: 8px; border-radius: 8px; margin-top: 8px; }
        .ohExtraInfo .ohAll > * { display: inline-block; }
        .ohExtraInfo .ohAll > * + * { margin-left: 12px; }
        .ohExtraInfo .ohAll > * + *:before { content: "|"; margin-right: 12px; }
        .ohProgressData details summary { padding-bottom: 6px; border-bottom: 2px solid #567d68; }
        .ohProgressData details summary span { margin-left: 3px; font-size: 16px; color: #567d68; font-weight: 700; }
        .ohProgressData details .summaryDetails { padding-top: 16px; }
    </style>
`);
Also big props to monk-time for taking my crummy javascript code and cleaning it up so that it's a lot more manageable.
User avatar
maxwelldeux
Donator
Posts: 9078
Joined: June 7th, 2016, 6:00 am
Location: Seattle-ish, WA, USA
Contact:

#1026

Post by maxwelldeux »

Onderhond wrote: May 28th, 2021, 8:55 pm
maxwelldeux wrote: May 28th, 2021, 8:46 pm Except for two things.
1/ the odd thing is that you don't seem to have the awards (bronze-platinum) listed next to each list either? I use that data to compute the number, so I'm not surprised something goes wrong there.

2/ I think monk-time fixed this in the updated/cleaned-up script he sent me. Can you try it again with the code below?

Also big props to monk-time for taking my crummy javascript code and cleaning it up so that it's a lot more manageable.
1. Ah yes - that makes sense. That's a paid feature, and I'm on the free plan.

2. That fixed it. Thanks!
User avatar
Onderhond
Posts: 7123
Joined: December 23rd, 2012, 7:00 am
Contact:

#1027

Post by Onderhond »

maxwelldeux wrote: May 28th, 2021, 9:09 pm 1. Ah yes - that makes sense. That's a paid feature, and I'm on the free plan.
Oh, wasn't even aware of that. I could compute it myself I guess, maybe if I've got some time in the coming week :)
maxwelldeux wrote: May 28th, 2021, 9:09 pm 2. That fixed it. Thanks!
You're welcome (but really it's all thanks to monk-time that got fixed :)
User avatar
Tim2460
Posts: 6215
Joined: October 1st, 2018, 7:23 pm
Location: Dijon, France
Contact:

#1028

Post by Tim2460 »

Hmmm

Progress page script is broken today ??

It is checked .... but nothing happens
Post Reply