Welcome to the ICM Forum. If you have an account but have trouble logging in, or have other questions, see THIS THREAD.
Polls: 1930s (Results), 1972 (Jun 21st), 1954 awards (Jun 30th), 2010s (Jun 28th), Animation (Jul 21st)
Challenges: 1950s, Eastern Europe, Banned Films
Film of the Week: A tanú, July nominations (Jun 28th)

User-made scripts and apps etc

Post Reply
User avatar
mightysparks
Site Admin
Posts: 29184
Joined: May 05, 2011
Location: Perth, WA, Australia
Contact:

User-made scripts and apps etc

#1

Post by mightysparks » December 26th, 2012, 4:21 pm

I keep getting lost trying to find random scripts and apps people have made, so I thought it'd be a good idea to chuck 'em all into one post. If you've made an iCM/IMDb/list/movie related script or app that you want to share, just add it to a post here (preferably with a little description and a screenshot or something in the post).

I'm making this now as I was looking for that list ranking app that mjf made and can't find the fecking thing, so please post it again mjf :P
"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
bal3x
Donator
Posts: 12997
Joined: May 26, 2011
Contact:

#2

Post by bal3x » December 26th, 2012, 4:26 pm

Yeah, this is a good idea, I've been struggling to find some of the magician's magic scripts when I was doing a reinstall... took quite a while to find all the stuff. It would be a great if all of these scripts and apps could be brought under one place!
Last edited by bal3x on December 26th, 2012, 4:26 pm, edited 1 time in total.

AdamH
Site Admin
Posts: 12097
Joined: May 05, 2011
Contact:

#3

Post by AdamH » December 26th, 2012, 4:29 pm

Finally a thread for me to post all the scripts I've made.

:P

Good idea mighty.

mjf314
Moderator
Posts: 10721
Joined: May 08, 2011
Contact:

#4

Post by mjf314 » December 26th, 2012, 5:47 pm

Here are all of my programs.

For the film counter programs, just put the program in a folder where you have some csv files and run the program, and it creates a new file called filmcounts.csv with the results. It works with both IMDb lists and iCM lists, and the csv files that you're counting should be the only csv files in the folder.

filmcounter1: Just counts the number of votes

filmcounter2: Counts the votes and also lists who voted for each film (assuming the filenames are the names of the voters)

filmcounter3: Define your own scoring system in one of two ways by putting a file called scoring.txt in the folder.
1. The first line is a negative number and the second line indicates the point value for a #1 vote. The point value decreases by 1 until it reaches 0.
2. The first line indicates the number of lines that follow. The rest of the lines indicate the point values. When it reaches the last line, all remaining votes will have that point value.

filmcounter4: Same as filmcounter3 but it also tells you the vote counts, and it tells you where each film is ranked on each person's list.

filmcounter5: Same as filmcounter4 but uses an exponential decay point system. The first line is the half-life of the point value, and the second line is the point value of a #1 vote.

filmcounter5-ineligible: Same as filmcounter5 but you can exclude ineligible films by having a file called ineligible.txt with a list of ineligible IMDb URLs.

filmcounter-directors: Same as filmcounter3 but it works for people lists.

imdbsearchreader: Enter the URL of the first page of the advanced search results, and it reads through the results and creates a file called searchresults.csv with the first 20,000 URLs (an arbitrary number; I can set it higher if someone wants me to).

icmchartreader: Enter the URL of the first page of an iCM chart and how many pages you want to read, and it creates a file called icmchart.csv with the IMDb URLs. You can also use it to read the IMDb URLs from an iCM list which might be useful for people who can't export.

duplicatechecker: Creates a new file called duplicates.csv that lists all of the duplicates in the IMDb lists.

Attachments:
Last edited by mjf314 on November 19th, 2014, 8:19 am, edited 1 time in total.

mjf314
Moderator
Posts: 10721
Joined: May 08, 2011
Contact:

#5

Post by mjf314 » December 27th, 2012, 8:57 am

I made a new version of the filmcounter program (filmcounter4 in the post above). This one tells you both the points and the vote counts, and it tells you where each film is ranked on each person's list. The scoring works the same way as filmcounter3.
Last edited by mjf314 on December 27th, 2012, 9:00 am, edited 1 time in total.

mjf314
Moderator
Posts: 10721
Joined: May 08, 2011
Contact:

#6

Post by mjf314 » December 27th, 2012, 10:02 am

I just added filmcounter5 to the post above. It's the same as filmcounter4 except it uses an expontential decay point system, where the first line is the half-life of the point value, and the second line is the point value of a #1 vote. For example, if the half-life is 10, then a #11 vote is worth half as many points as a #1 vote.

mjf314
Moderator
Posts: 10721
Joined: May 08, 2011
Contact:

#7

Post by mjf314 » December 28th, 2012, 9:20 am

I uploaded a new program, duplicatechecker, that checks all of the IMDb lists for duplicates, and creates a new csv file that lists the duplicates (it also tells you the filename and the rank of the duplicate).
Last edited by mjf314 on December 28th, 2012, 9:25 am, edited 1 time in total.

mjf314
Moderator
Posts: 10721
Joined: May 08, 2011
Contact:

#8

Post by mjf314 » January 2nd, 2013, 3:42 pm

I found a bug in my filmcounter program. It doesn't work properly when there's a mixture of IMDb and iCM lists. I'll upload a fixed version soon (I guess this means I have to fix all 5 versions :( ). I forgot to reset the IMDb flag to false for each file, which means any iCM list that comes after the first IMDb list is ignored.

Edit: I replaced all 5 versions in the post above. filmcounter-directors and duplicatechecker are not affected because they only read IMDb lists so they don't have an IMDb flag.
Last edited by mjf314 on January 2nd, 2013, 4:06 pm, edited 1 time in total.

themagician
Posts: 3889
Joined: Jun 18, 2011
Location: Finland
Contact:

#9

Post by themagician » June 25th, 2013, 4:18 am

ScreenPicker 2.0 (beta)
Main windowShow
Image
OptionsShow
Image
Video settingsShow
Image
Script editorShow
Image
I've put a lot of time into this next iteration of this program. As a reminder, it's a program for generating screenshots with an Avisynth backend.

I've used it personally for over 200 films so obviously I think it's immensely useful, but it may have been inaccessible to many people in some aspects. For instance, if you wanted to grab screenshots from a DVD or Blu-ray, you had to do a bit of Avisynth scripting to get screenshots in the correct aspect ratio, without black borders, the interlace effect, etc. as well as running it through a program called DGIndex, configuring it, etc... Also the fact that the screenshot generation wasn't ideal.

With this new version, first of all, I wanted to make it so that you wouldn't have to touch the script editor for >99% of DVDs, practically never. You still do need to change some settings via the Video Settings window, but they're explained in the guide below.

I also added multithreading into the program so that the screenshot generation can happen in the background without freezing the program itself. You can visually see as the screenshots are added into the UI as they're grabbed. You can navigate through the video with the Previous/Next buttons and the seek slider under the video and by double-clicking the screenshots during the screenshot generation. You can Pause/Resume/Stop the screenshot generation if you need to. You have options to decide what the program should do when the container meets some user specified maximum number of thumbnails. And many other things, see the guide below for a full list of goodies.

I'm still constantly making changes to it and it seems to work very nicely, however I'm unable to completely test it myself so I'm putting this here now for you to play with and report any bugs you might encounter.

Download (old): https://mega.co.nz/#!iNARHSKI!N6nGFkLiS ... xGBs8nK8VQ
Version: 20130718.2131

Download (new): Installer (exe): http://www.mediafire.com/download/zodds ... rSetup.exe
Alternative 7-zip installer (extract): http://www.mediafire.com/download/2mbcf ... nPicker.7z
Alternative 7-zip (DLLs): http://www.mediafire.com/download/u7yto ... er-dlls.7z

Note: You must also install Avisynth from http://avisynth.nl (select v.2.5.8 ST, 32-bit)
Note: If you download the 7-zip installer extract the DLLs in the same directory.

If you want to use it with DVDs/Blu-rays, you also need to install a program called DGIndex: http://www.videohelp.com/tools/DGMPGDec

Please read the guide below for a full explanation of all the features. I might have forgotten something, so I'll revise it if needed.
GuideShow
Video->Open
You can open:
1) encodes (.avi, .mkv, ...)
2) existing avisynth scripts (.avs, .avsi)
3) existing DGIndex project files (.d2v)

Video->Open DVD/Blu-ray
You can open DVD VOBs and Blu-ray M2TSs. If your DVD/BR is in ISO format, you need to mount it.

The needed DVD files are in a VIDEO_TS directory and the needed Blu-ray files are in a BDMV\STREAM directory.

DVDs especially often have a long list of various VTS_0X_Y.VOB files. You need to select all the VOB/M2TS files that contain the movie you want to work with. Usually it's the one with the largest files. For instance, if you take a look at this DVD structure, the main movie is obviously in all the VTS_07_Y.VOB files, so you would select all the files between and including VTS_07_0.VOB and VTS_07_5.VOB. If you don't know what to select, you can try randomly selecting the VOBs and seeing what they contain.

View->Avisynth Script Editor
If you need to manually modify scripts, you can do it here. You can also save the scripts in another directory if you need them for later. By default the avisynth scripts are located in the application directory and removed when exited.

Important: If you load an existing Avisynth script, e.g. some of your own scripts, by default its contents are copied to a temporary script that's located in the application directory. if you make changes to it in the editor and save it, your original script is NOT changed. You need to explicitly save it to a new location for that to happen.

Reload - Saves the script in the location in the editor window title and reloads the video with the new Avisynth script. If the video frame position is still valid, it will stay in that frame position. E.g. if your video is at frame 110000 and after reloading Avisynth produces 110000 or more frames, it will go to that frame, otherwise it goes back to first frame.

Save as... - Saves the script in a new location where it is not removed after the application is closed. Default scripts are always removed. For now at least.

View->Video Settings
Crop - Removes pixel lines from video. Useful for removing black borders and bad borders.

Resize - You need to manually resize DVDs and some MKV files so that they display in the correct aspect ratio. The drop down menu Select contains some common DVD aspect ratios, combinations of NTSC/PAL and 16:9/4:3. If you don't know what your DVD is you can try both NTSC and PAL versions, or you can play the DVD and if your DVD plays at 25FPS, it's PAL, otherwise it's NTSC.

Deinterlace - Practically all DVDs, as well as some Blu-rays and MKVs need to be deinterlaced in some form. If your video looks like this, then you need to deinterlace it. That's what an interlaced frame looks like. First step in determining which option to use, find a section in the video with movement. Step through the scene frame by frame and look for a pattern: If every frame looks like that, select "Deinterlace", if the pattern is 2 interlaced frames and 3 progressive frames (frames that look normal), select "Inverse telecine". If the pattern is something else, well, good luck.

Apply - Applies the settings and reloads the video. See the info on Reload button in the Avisynth Script Editor above on behavior.
Note that this button only works if you haven't loaded a custom Avisynth script.

View->Options
Show Script editor/Video settings after loading video - By default these windows are not shown

Jump to last generated frame after:
Finishing - If checked, after the frame generator has generated the last screenshot (the progress bar in the middle is full) the program will seek the video to the last frame it generated.
Pausing - If checked, after pausing the frame generator by clicking the Pause button, will seek the video to the last frame it generated
Stopping - Same as pausing, but after clicking the Stop button
Reaching max thumbnails - After the screenshot container has become full (see max. thumbnails below), the program will seek the video to the last frame it generated

Max. thumbnails - Maximum number of thumbnails the screenshot container may contain at any point

After reaching max limit:
Pause - After the screenshot container becomes full, the frame generator will wait for the user to either to click Clear or Open a new file. Note: This will NOT trigger "Jump to last generated frame after Pausing".
Remove oldest - Instead of waiting for the user, it will remove the oldest frame it generated and it'll keep generating new frames until some user action that causes the generator to stop. Note: This will NOT trigger "Jump to last generated frame after Reaching max thumbnails"

Avisynth/Plugins path: Path to Avisynth plugins directory. By default it points to application directory\avisynth. You probably don't need to change it. Unless you have an existing Avisynth installation somewhere you may want to and also remove the plugins directory that came with the application.

DGIndex path: Path DGIndex.exe. Required only for DVDs and Blu-rays

Save DGIndex files: It can take some time to process DVDs and especially Blu-rays, so you may want to check this option and save the DGIndex files in some directory in case you need them later. After the files have been processed you're prompted for a path to save them in.

Main Window widgets
Seek slider - You can jump to any frame in the video by dragging the seek slider under the video.

Previous - Seek to previous frame
Next - Seek to next frame
Save - Saves the currently displayed frame to disk
Grab - Grabs a thumbnail of the currently displayed frame and places it under the Saved tab
Generate - Starts the frame generator. Resets any previous states.
Frame step - How many frames the generator will skip between each frame
Screenshots - How many frames the generator will grab
Unlimited - If checked, the frame generator won't stop until it reaches end of the video
Fullsize - If checked, will display the video in the original resolution. It's particularly useful if you need to change the video settings. If the option is not checked, the video will stretch to vertically fill the white area. Note that you can change the height by dragging the edge where the bottom of the video meets the seek slider.

Widgets under the Screenshots tab
Seek slider - Adjusts the thumbnail size

Center progress bar - Displays the frame generator progress
Pause/Resume - Pauses / resumes frame generator
Stop - Stops frame generator

Bottom-right progress bar - Displays how full the screenshot container is. Only shows the number for the container under the Screenshots tab
Clear - Removes all the screenshots from the screenshot container under the Screenshots tab. The screenshots under the Saved tab are never removed in any case.

Widgets under the Saved tab
Save - Saves all the screenshots in the screenshots container under the Saved tab. Note that all screenshots are re-grabbed by using the latest Avisynth script. If you have some old screenshots under the saved tab that are faulty, don't worry about it, you don't have to manually re-grab them.

Screenshot-specific
Double-click any screenshot and the application will seek to the frame

You can move screenshots between the containers under the Screenshots/Saved tabs by right-clicking the screenshots. Under the Screenshots tab you'll see a pop-up menu with an option to "Save" the screenshot (not to disk, to move it under the Saved tab), and under the Saved tab you'll see a pop-up menu with an option to "Unsave" the screenshot (move it back to the container under the Screenshots tab). Note that any screenshots not under the Saved tab will not be saved.
If you have any questions, just ask.
If you have any improvement suggestions, let me know.
Last edited by themagician on August 21st, 2014, 10:59 am, edited 1 time in total.

themagician
Posts: 3889
Joined: Jun 18, 2011
Location: Finland
Contact:

#10

Post by themagician » June 25th, 2013, 6:23 am

There was a problem with the setup.exe installer. I've replaced the old download link with a working one. I've also tested the app with a clean installation of Win XP Pro SP3 and it worked. Personally I run Win 7, but luckily Microsoft provides free virtual machines for all their current OSes I was able to test it and fix it.

User avatar
funkybusiness
Donator
Posts: 10426
Joined: Jan 22, 2013
Contact:

#11

Post by funkybusiness » June 25th, 2013, 8:34 am

Hey it works. and splendidly. You are the best, themagician.
Spoiler: click to toggleShow
Image

themagician
Posts: 3889
Joined: Jun 18, 2011
Location: Finland
Contact:

#12

Post by themagician » July 18th, 2013, 7:54 pm

New version of screenpicker fixes a bug where the D2V (DgIndex) files weren't replacing the old file correctly, it just kept adding .d2v to the filename so you'd get out.d2v.d2v.d2v etc. It also gets the correct video resolution for (anamorphic?) MKVs via AVInfo.exe (included) so that you don't have to specify it manually. You still have to resize DVDs via the Video Settings window.

User avatar
metaller
Donator
Posts: 2849
Joined: Jun 17, 2011
Contact:

#13

Post by metaller » August 8th, 2013, 7:48 pm

Hi, can someone guide me to the tool / script / how-to on how to easily add a list to IMDB. Wasn't there something like that around somewhere?

What I want to do:
For the Hidden Gems, I want to:
1. export my vote history from IMDB as a csv
2. re-upload all films I've rated 8/10 as an IMDB list
3. import the list to ICM to see the amount of checks

step 2 is where i'm looking for a tool. :)

Also, if someone knows a more elegant way to do so let me know.

Thanks!

(if the mods feel this post is better suited in the hidden gem thread then feel free to move it)
I've seen things you people wouldn't believe. Attack ships on fire off the shoulder of Orion. I watched C-beams glitter in the dark near the Tannhäuser Gate. All those moments will be lost in time, like tears in rain. Time to die.

User avatar
mightysparks
Site Admin
Posts: 29184
Joined: May 05, 2011
Location: Perth, WA, Australia
Contact:

#14

Post by mightysparks » August 8th, 2013, 7:50 pm

"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
metaller
Donator
Posts: 2849
Joined: Jun 17, 2011
Contact:

#15

Post by metaller » August 8th, 2013, 8:22 pm

mightysparks on Aug 8 2013, 01:50:50 PM wrote:http://www.icmforum.comsingle/?p=8243412&t=7026398
Oh my god! That thing is a marvel! (l)

Thanks Lauren!

And thanks magician. You are a friggin hero! :worship:
I've seen things you people wouldn't believe. Attack ships on fire off the shoulder of Orion. I watched C-beams glitter in the dark near the Tannhäuser Gate. All those moments will be lost in time, like tears in rain. Time to die.

User avatar
mightysparks
Site Admin
Posts: 29184
Joined: May 05, 2011
Location: Perth, WA, Australia
Contact:

#16

Post by mightysparks » August 8th, 2013, 8:25 pm

Yes, it is a beautiful thing. Themagician is indeed the greatest being who ever lived.
"I do not always know what I want, but I do know what I don't want." - Stanley Kubrick

iCM | IMDb | LastFM | TSZDT

Image

rokp
Posts: 1840
Joined: Sep 18, 2012
Contact:

#17

Post by rokp » August 8th, 2013, 9:30 pm

I think the easiest way is exporting all checked films under 400 checks (mjf's script), uploading it to imdb, exporting from there, sorting csv by ratings (and removing those with to low ratings) and re-uploading it... 5 minutes of work (+ manual sorting within same rating).

User avatar
mightysparks
Site Admin
Posts: 29184
Joined: May 05, 2011
Location: Perth, WA, Australia
Contact:

#18

Post by mightysparks » August 8th, 2013, 9:38 pm

This is what I did:

1) Exported IMDb ratings
2) Sorted by rating, took everything 7+ that was eligible
3) Copied all the links into an iCM list
4) Exported iCM list and sorted by # checks, removed all over 400
5) Copied URLs onto an IMDb list, exported that, then sorted by IMDb rating
6) Imported list onto iCM for easy drag-and-drop list making
7) When finished, copied URLs back onto IMDb
8) ????
9) PROFIT!!!!
"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
funkybusiness
Donator
Posts: 10426
Joined: Jan 22, 2013
Contact:

#19

Post by funkybusiness » August 8th, 2013, 11:35 pm

mightysparks on Aug 8 2013, 01:50:50 PM wrote:http://www.icmforum.comsingle/?p=8243412&t=7026398
How exactly do the regexps work on this? Can I make it so it skips non-imdb links?

themagician
Posts: 3889
Joined: Jun 18, 2011
Location: Finland
Contact:

#20

Post by themagician » August 9th, 2013, 12:01 am

funkybusiness on Aug 8 2013, 05:35:46 PM wrote:
mightysparks on Aug 8 2013, 01:50:50 PM wrote:http://www.icmforum.comsingle/?p=8243412&t=7026398
How exactly do the regexps work on this? Can I make it so it skips non-imdb links?
No but I could (should) make that change, that if the regex doesn't find a match it skips the entry. I'll probably make that change in a bit.

User avatar
mightysparks
Site Admin
Posts: 29184
Joined: May 05, 2011
Location: Perth, WA, Australia
Contact:

#21

Post by mightysparks » August 13th, 2013, 10:38 pm

Yo, magician. I've been using your handy little shortcut links thingy - the one you mentioned to me when I wanted to get screenshots for the highest voted lists - and was wondering if it was easy to edit to add extra linky things to (I want one for Pirateshore or some PirateBay proxy)?
"I do not always know what I want, but I do know what I don't want." - Stanley Kubrick

iCM | IMDb | LastFM | TSZDT

Image

themagician
Posts: 3889
Joined: Jun 18, 2011
Location: Finland
Contact:

#22

Post by themagician » August 14th, 2013, 2:59 am

mightysparks on Aug 13 2013, 04:38:40 PM wrote:Yo, magician. I've been using your handy little shortcut links thingy - the one you mentioned to me when I wanted to get screenshots for the highest voted lists - and was wondering if it was easy to edit to add extra linky things to (I want one for Pirateshore or some PirateBay proxy)?
Sure. First I'd recommend updating the script (remove old, install the new one, attached).

Then go to the page where all the installed GM scripts are listed. In Firefox e.g. Firefox->Add-ons and select "User Scripts" or if you have the GM icon visible click the down arrow and "Manage user scripts". Then right-click "IMDb details page links" and select "edit". It should open it in a text editor. Scroll down until you see a bunch of lines starting with man.add. You can change the order there (by moving a line), remove links (by removing a line), add links (by adding a new line). If you want to add a new page just add a line like:

Code: Select all

man.add("Link name here", "URL here");
Now to figure out what to put in the "URL here" part, go to the site you want to add and do a search for whatever and copy the URL after the search, e.g.:

Code: Select all

http://thepiratebay.sx/search/foobar/0/99/0
I searched for "foobar" as a test. So remove the foobar and replace it with e.g. these: {title} {year}. There's also {imdbid}.

So the line should look like:

Code: Select all

man.add("The Pirate Bay", "http://thepiratebay.sx/search/{title} {year}/0/99/0");
Then save the file and it should now appear as a new link. Then when you click "The Pirate Bay" it will go to

Code: Select all

http://thepiratebay.sx/search/The%20Matrix%201999/0/99/0
so {title} and {year} have been replaced with correct values.

It doesn't have a better interface because I need to edit it so rarely.

Attachments:

User avatar
mightysparks
Site Admin
Posts: 29184
Joined: May 05, 2011
Location: Perth, WA, Australia
Contact:

#23

Post by mightysparks » August 14th, 2013, 8:12 am

Thanks, got it working :thumbsup:
"I do not always know what I want, but I do know what I don't want." - Stanley Kubrick

iCM | IMDb | LastFM | TSZDT

Image

mjf314
Moderator
Posts: 10721
Joined: May 08, 2011
Contact:

#24

Post by mjf314 » August 22nd, 2013, 5:50 am

I added a new feature to the filmcounter program (see filmcounter5-ineligible in the post above). To use the program, create a file called ineligible.txt with a list of ineligible IMDb URLs and then run the program. Ineligible films will be skipped, so if your #1 film is ineligible then your #2 film gets counted as a #1 vote.

Each line of the file should be just the URL by itself, no extra spaces and no "reference". If you don't have the ineligible.txt file then it'll count the votes normally.

bobbybrown
Posts: 0
Joined: Dec 26, 2011
Contact:

#25

Post by bobbybrown » August 26th, 2013, 6:14 pm

A number of handy bookmarklets to filter ICM lists right in place. They aren't intended to replace other wonderful tools for listmaking, but they might make the life easier for small list-related tasks. To use them, copy&paste link into a new bookmark and click on it while on any ICM list (this guide may also help). Or you can also paste a link in the address bar with ICM list opened and press Enter. To revert, click on the header of your current list view.

Show only shorts: basically the same as tag filter on the ICM, but doesn't reload page

[font=Lucida Console]javascript:(function(){$("ul.tagList:not(:contains('short'))").parents("li.listItem").hide()})()[/font]

Hide shorts: both the scripts can be used for any tag, just replace "short" in the link

[font=Lucida Console]javascript:(function(){$("ul.tagList:contains('short')").parents("li.listItem").hide()})();[/font]

Filter by year: leaves only movies made in user-specified period

[font=Lucida Console]javascript:(function(){var%20a=prompt("Only%20show%20movies%20from");var%20b=prompt("to");$('span.info>a:first-child').filter(function(index){x=parseInt($(this).text());return%20x<a||x>b}).parents('li.listItem').hide()})();[/font]

Filter by official lists: leaves only movies on user-specified number of official lists

[font=Lucida Console]javascript:(function(){jQuery.expr[':']['nth-of-type']=function(elem,i,match){if(match[3].indexOf("n")===-1)return%20i+1==match[3];var%20parts=match[3].split("+");return(i+1-(parts[1]||0))%parseInt(parts[0],10)===0;};var%20a=prompt("At%20least%20#%20official%20lists:");var%20b=prompt("No%20more%20than%20#%20official%20lists:","50");$('span.info>a:nth-of-type(2)').filter(function(index){x=parseInt($(this).text());return%20x<a||x>b}).parents('li.listItem').hide()})();[/font]

Filter by checks: yada-yada; works only on /movies/checked/

[font=Lucida Console]javascript:(function(){jQuery.expr[':']['nth-of-type']=function(elem,i,match){if(match[3].indexOf("n")===-1)return%20i+1==match[3];var%20parts=match[3].split("+");return(i+1-(parts[1]||0))%parseInt(parts[0],10)===0;};var%20a=prompt("At%20least%20checks:","0");var%20b=prompt("Less%20than%20#%20checks:","400");$('span.info>a:nth-of-type(3)').filter(function(index){x=$(this).attr("title").replace(/&#092;D/g,'');x=parseInt(x);return%20x<a||x>=b}).parents('li.listItem').hide()})();[/font]
Last three scripts without dialog boxes (you'll have to manually…Show
Filter by year:

[font=Lucida Console]javascript:(function(){$('span.info>a:first-child').filter(function(index){x=parseInt($(this).text());return%20x<1950||x>1959}).parents('li.listItem').hide()})();[/font]

Filter by official lists:

[font=Lucida Console]javascript:(function(){jQuery.expr[':']['nth-of-type']=function(elem,i,match){if(match[3].indexOf("n")===-1)return%20i+1==match[3];var%20parts=match[3].split("+");return(i+1-(parts[1]||0))%parseInt(parts[0],10)===0;};$('span.info>a:nth-of-type(2)').filter(function(index){x=parseInt($(this).text());return%20x<5||x>20}).parents('li.listItem').hide()})();[/font]

Filter by checks:

[font=Lucida Console]javascript:(function(){jQuery.expr[':']['nth-of-type']=function(elem,i,match){if(match[3].indexOf("n")===-1)return%20i+1==match[3];var%20parts=match[3].split("+");return(i+1-(parts[1]||0))%parseInt(parts[0],10)===0;};$('span.info>a:nth-of-type(3)').filter(function(index){x=$(this).attr("title").replace(/&#092;D/g,'');x=parseInt(x);return%20x<0||x>=400}).parents('li.listItem').hide()})();[/font]
Dump all visible IMDd links in the page footer:

[font=Lucida Console]javascript:(function(){var%20s="";$("a:visible.optionIMDB").each(function(){s+=$(this).attr("href")+"<br>";});$("#colophon").html(s)})();[/font]

How it might be used for updating your <400 list:
1. Open your last checked movies and use any "load next page" script or extension to append how many pages you need until you see movies checked when the last version of the list was made. I prefer Space Next for Firefox.
2. Use filter by checks bookmarklet (no-dialog-boxes version is already set up for <400) and filter by year to remove all ineligible (<400, 2012-2013) films.
3. Get the list of IMDb links with the last bookmarklet.
4. Import on IMDb, trim a bit, append to the previous <400 list, reorder.
Last edited by bobbybrown on August 26th, 2013, 6:18 pm, edited 1 time in total.

AdamH
Site Admin
Posts: 12097
Joined: May 05, 2011
Contact:

#26

Post by AdamH » August 26th, 2013, 6:25 pm

Thanks bobby.

User avatar
bal3x
Donator
Posts: 12997
Joined: May 26, 2011
Contact:

#27

Post by bal3x » August 26th, 2013, 7:14 pm

Good work, bobby!
Q: Dump all visible IMDd links in the page footer - what does this actually do??

bobbybrown
Posts: 0
Joined: Dec 26, 2011
Contact:

#28

Post by bobbybrown » August 26th, 2013, 7:46 pm

bal3x on Aug 26 2013, 01:14:48 PM wrote:Good work, bobby!
Q: Dump all visible IMDd links in the page footer - what does this actually do??
What I tried to say is it finds all IMDb links to the movies left on the list after all filtering and puts them in an import-ready list of links in the bottom of the page (with all that © and ™ baloney). You can achieve the same with abandoned Multi Links addon for Firefox or its successor Snap Links Plus, but they are bound to catch some junk in between (esp. if you use "load next page" method).
Picture!Show
Image

Some men you just can't reach :)

User avatar
bal3x
Donator
Posts: 12997
Joined: May 26, 2011
Contact:

#29

Post by bal3x » August 26th, 2013, 7:52 pm

bobbybrown on Aug 26 2013, 01:46:36 PM wrote:
bal3x on Aug 26 2013, 01:14:48 PM wrote:Good work, bobby!
Q: Dump all visible IMDd links in the page footer - what does this actually do??
What I tried to say is it finds all IMDb links to the movies left on the list after all filtering and puts them in an import-ready list of links in the bottom of the page (with all that © and ™ baloney). You can achieve the same with abandoned Multi Links addon for Firefox or its successor Snap Links Plus, but they are bound to catch some junk in between (esp. if you use "load next page" method).
Picture!Show
Image

Some men you just can't reach :)
OK, thanks!

User avatar
bal3x
Donator
Posts: 12997
Joined: May 26, 2011
Contact:

#30

Post by bal3x » September 3rd, 2013, 11:22 am

bobby, is it possible to get the "Filter by checks" one working on unchecked movies??

bobbybrown
Posts: 0
Joined: Dec 26, 2011
Contact:

#31

Post by bobbybrown » September 4th, 2013, 2:48 pm

bal3x on Sep 3 2013, 05:22:59 AM wrote:bobby, is it possible to get the "Filter by checks" one working on unchecked movies??
All those scripts only use the data available directly on page, and since the only page with displayed checks is /movies/checked, "Filter by checks" works only there.

But there's nothing a monkey armed with a wrench and SODD (stackoverflow driven development) can't do! Try this one:

Filter by checks (universal): works everywhere, but parses ICM JSONs on the fly (that is, pages like /movies/<title>/dialog/) and can take some time on large lists. Since it's basically a resource hogging clone of ICM's "sort by checks" feature, the only use case I can think of is filtering /movies/unchecked/ together with an "append next page" extension/script.

Example: picture. Now I know that among my first 250 movies from the unchecked movies page only six are eligible for the <400 list.

[font=Lucida Console]javascript:(function(){function%20getChecks(url){var%20n;$.ajax({type:'GET',url:url+"dialog/",dataType:'json',success:function(json){var%20s=json.html.match(/movieChecks&#092;x22>[&#092;d,]+</g)[0].replace(/&#092;D/g,'');n=parseInt(s);},async:false});return%20n;};var%20a=prompt("At%20least%20checks:","0");var%20b=prompt("Less%20than%20#%20checks:","400");$('li.listItem>h2>a').filter(function(index){var%20url="http://www.icheckmovies.com"+$(this).attr("href");var%20x=getChecks(url);return%20x<a||x>=b}).parents('li.listItem').hide()})();[/font]

User avatar
bal3x
Donator
Posts: 12997
Joined: May 26, 2011
Contact:

#32

Post by bal3x » September 4th, 2013, 5:45 pm

bobbybrown on Sep 4 2013, 08:48:21 AM wrote:
bal3x on Sep 3 2013, 05:22:59 AM wrote:bobby, is it possible to get the "Filter by checks" one working on unchecked movies??
All those scripts only use the data available directly on page, and since the only page with displayed checks is /movies/checked, "Filter by checks" works only there.

But there's nothing a monkey armed with a wrench and SODD (stackoverflow driven development) can't do! Try this one:

Filter by checks (universal): works everywhere, but parses ICM JSONs on the fly (that is, pages like /movies/<title>/dialog/) and can take some time on large lists. Since it's basically a resource hogging clone of ICM's "sort by checks" feature, the only use case I can think of is filtering /movies/unchecked/ together with an "append next page" extension/script.

Example: picture. Now I know that among my first 250 movies from the unchecked movies page only six are eligible for the <400 list.

[font=Lucida Console]javascript:(function(){function%20getChecks(url){var%20n;$.ajax({type:'GET',url:url+"dialog/",dataType:'json',success:function(json){var%20s=json.html.match(/movieChecks&#092;x22>[&#092;d,]+</g)[0].replace(/&#092;D/g,'');n=parseInt(s);},async:false});return%20n;};var%20a=prompt("At%20least%20checks:","0");var%20b=prompt("Less%20than%20#%20checks:","400");$('li.listItem>h2>a').filter(function(index){var%20url="http://www.icheckmovies.com"+$(this).attr("href");var%20x=getChecks(url);return%20x<a||x>=b}).parents('li.listItem').hide()})();[/font]
Great, many thanks! :thumbsup:

User avatar
mightysparks
Site Admin
Posts: 29184
Joined: May 05, 2011
Location: Perth, WA, Australia
Contact:

#33

Post by mightysparks » September 22nd, 2013, 5:31 pm

mjf, how do you put the half-life scoring system into the scoring.txt?
"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
PeacefulAnarchy
Moderator
Posts: 22803
Joined: May 08, 2011
Contact:

#34

Post by PeacefulAnarchy » September 22nd, 2013, 5:47 pm

mightysparks on Sep 22 2013, 11:31:23 AM wrote:mjf, how do you put the half-life scoring system into the scoring.txt?
make a formula in excel, fill down, copy, paste. I assume, I haven't used his program.

mjf314
Moderator
Posts: 10721
Joined: May 08, 2011
Contact:

#35

Post by mjf314 » September 22nd, 2013, 7:57 pm

mightysparks on Sep 22 2013, 11:31:23 AM wrote:mjf, how do you put the half-life scoring system into the scoring.txt?
filmcounter5: Same as filmcounter4 but uses an exponential decay point system. The first line is the half-life of the point value, and the second line is the point value of a #1 vote.
For example, for the <400 poll (which had a half-life of 50), the file looked like this:

50
100
Last edited by mjf314 on September 22nd, 2013, 7:58 pm, edited 1 time in total.

User avatar
mightysparks
Site Admin
Posts: 29184
Joined: May 05, 2011
Location: Perth, WA, Australia
Contact:

#36

Post by mightysparks » September 22nd, 2013, 8:00 pm

Ah, ok. I just did the Excel thing for now, but was sure there had to be an easier way. I didn't read the descriptions that closely :P
"I do not always know what I want, but I do know what I don't want." - Stanley Kubrick

iCM | IMDb | LastFM | TSZDT

Image

mjf314
Moderator
Posts: 10721
Joined: May 08, 2011
Contact:

#37

Post by mjf314 » September 23rd, 2013, 12:55 am

If you do it the way that PeacefulAnarchy said, you'll have to use filmcounter4, but filmcounter4 only allows integers, so it wouldn't work well for half-lives.
Last edited by mjf314 on September 23rd, 2013, 12:55 am, edited 1 time in total.

User avatar
mightysparks
Site Admin
Posts: 29184
Joined: May 05, 2011
Location: Perth, WA, Australia
Contact:

#38

Post by mightysparks » September 23rd, 2013, 9:26 am

Neither of these options are working properly :/
"I do not always know what I want, but I do know what I don't want." - Stanley Kubrick

iCM | IMDb | LastFM | TSZDT

Image

allisoncm
Posts: 16009
Joined: May 11, 2011
Contact:

#39

Post by allisoncm » September 23rd, 2013, 2:56 pm

There used to be a script for YouTube that would disallow automatic play. Is there something like that still available?

themagician
Posts: 3889
Joined: Jun 18, 2011
Location: Finland
Contact:

#40

Post by themagician » September 23rd, 2013, 3:00 pm

allisoncm on Sep 23 2013, 08:56:34 AM wrote:There used to be a script for YouTube that would disallow automatic play. Is there something like that still available?
https://userscripts.org/scripts/show/114002

Post Reply