<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
	<link rel="self" type="application/atom+xml" href="https://forum.eggheads.org/app.php/feed/topic/20681" />

	<title>egghelp/eggheads community</title>
	<subtitle>Discussion of eggdrop bots, shell accounts and tcl scripts.</subtitle>
	<link href="https://forum.eggheads.org/index.php" />
	<updated>2019-10-27T10:19:51-04:00</updated>

	<author><name><![CDATA[egghelp/eggheads community]]></name></author>
	<id>https://forum.eggheads.org/app.php/feed/topic/20681</id>

		<entry>
		<author><name><![CDATA[Fire-Fox]]></name></author>
		<updated>2019-10-27T10:19:51-04:00</updated>

		<published>2019-10-27T10:19:51-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=107911#p107911</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=107911#p107911"/>
		<title type="html"><![CDATA[iMDB by B0unTy]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=107911#p107911"><![CDATA[
Hello,<br><br>I have some issues with the imdb script it says when i use !imdb title <br><div class="codebox"><p>Code: </p><pre><code>!imdb Beautiful MindError in search mechanics - you probably need a newer version.</code></pre></div><br>script:<br><div class="codebox"><p>Code: </p><pre><code>#################################################################################     This iMDB.tcl requires Eggdrop1.6.0 or higher                         ####                  (c) 2003 by B0unTy                                       ####                                                                           ####  changed by username                                                      ####  19.10.2010                                                               ####  *fixed page parsing errors                                               ####                                                                           ####  changed by OV2                                                           ####  05.01.2010                                                               ####    *fixed remaining bugs with imdb changes                                ####                                                                           ####  02.01.2010                                                               ####    *modified for imdb page changes                                        ####                                                                           ####  16.09.2008                                                               ####    *modified for new imdb page                                            ####                                                                           ####  25.05.2008                                                               ####    *plot works again                                                      ####                                                                           ####  19.05.2008                                                               ####    *fixed the non-working cookies (cert, soundmix ...)                    ####    * "|" characters in cookies are displayed again                        ####                                                                           ####  21.09.2007                                                               ####    *multiline color/underline/bold were broken                            ####    +added single-line cast (%castline)                                    ####    +added the remaining information from imdb (color, cert, etc...)       ####                                                                           ####  17.07.2007                                                               ####    *fix for the exact title matching                                      ####    *exact name matches are no longer confused with exact title matches    ####                                                                           ####  27.06.2007                                                               ####    *works with new imdb search page                                       ####    *%uline works again                                                    ####                                                                           ####  09.04.2007:                                                              ####    *fixed director/s writer/s                                             ####    +added support for plot keywords                                       ####    +added support for user comment line                                   ####                                                                           ####  28.02.2007:                                                              ####    *ratings work again                                                    ####    *director and writing credits work again                               ####                                                                           ####  25.02.2007:                                                              ####    *fixed some bugs of the previous changes (thanks to rosc2112)          ####                                                                           ####  24.02.2007:                                                              ####    *bold/underline/color in front of the multiline cast will now be       ####     applied to each of the cast lines                                     ####    *the | character is now used to declare sections in the announce line  ####     if any variable in a section is not found on the imdb page, the       ####     corresponding section will not be displayed in the output             ####     (see the default announce line for an example)                        ####                                                                           ####  22.02.2007:                                                              ####    *incorporated some code from rosc2112's version                        ####    *some small fixes                                                      ####                                                                           ####  20.02.2007:                                                              ####    *changed regexp queries to accomodate the new imdb layout              ####    *cleaned up the unneccesary post-regexp code                           ####                                                                           ####  14.05.2006:                                                              ####    *fixed plot outline not showing completely if it included links        ####      (thanks to darkwing for finding the bug)                             ####    +added support for awards (thanks to rosc2112)                         ####    +added support for the cast list (be careful with the limit)           ####    +added support for writing credits                                     ####                                                                           ####  21.01.2006:                                                              ####    *fixed problem with irregular search-result pages from imdb            ####                                                                           ####  31.08.2005:                                                              ####    *changed search result priority again:                                 ####      1. popular match where the title=search string                       ####      2. exact matches                                                     ####      3. first title on page                                               ####    *fixed missig warn_msg var                                             ####                                                                           ####  until 24.06.2005:                                                        ####    *works with new IMDB                                                   ####    *works with (hopefully) all search results (popular/exact/partial)     ####    +added timeouts (20secs)                                               ####    +added bottom 100 support                                              ####    +added rating bar from chilla's imdb-script                            ####    +added flood control                                                   ####    *small speedup (if your output does not include %screens or %budget    ####    *changed proc name to improve compatibility with other scripts         ####    *changed search result priority to {exact-&gt;first displayed}            ####                                                                           ###################################################################################                                                                           #### INSTALL:                                                                  #### ========                                                                  ####   1- Copy iMDB.tcl in your dir scripts/                                   ####   2- Add iMDB.tcl in your eggdrop.conf:                                   ####        source scripts/imdb.tcl                                            ####                                                                           ####   For each channel you want users to use !imdb cmd                        ####   Just type in partyline: .chanset #channel +imdb                         ####                                                                           ################################################################################## COOKIES ARE :# =============# TITLE             = %title               |    BOLD           = %bold# URL               = %url                 |    UNDERLINE      = %uline# DIRECTOR          = %name                |    COLORS         = %color#,## GENRE             = %genre               |    NEW LINE       = \n# PLOT OUTLINE      = %plot                |-----------------------------# RATING            = %rating              |    !! to reset color code !!# RATING_BAR        = %rbar                |    !! use %color w/o args !!# VOTES             = %votes               |# RUNTIME           = %time (numbers only) |    "|" declares a section# AWARDS            = %awards              |    if any cookie in a section# BUDGET            = %budget              |    is empty the whole section# SCREENS           = %screens             |    is removed from the output# TAGLINE           = %tagline             |    (end section with "|")# MPAA              = %mpaa                |# COUNTRY           = %country             |# LANGUAGE          = %language            |# SOUND MIX         = %soundmix            |# TOP 250           = %top250              |# CAST LINES        = %castmline           |# CAST SNGLELINE    = %castline            |# WRITING CREDITS   = %wcredits            |# PLOT KEYWORDS     = %keywords            |# COMMENT LINE      = %comment             |# RELEASE DATE      = %reldate             |# MOVIE COLOR       = %mcolor              |# ASPECT RATIO      = %aspect              |# CERTIFICATION     = %cert                |# LOCATIONS         = %locations           |# COMPANY           = %company             |## + 19.10.2010# Also Known As     = %aka## RANDOMIZING OUTPUT :# ====================# Exemple:#  set random(IMDBIRC-0)       "IMDB info for %bold%title%bold Directed by %name"#  set random(IMDBIRC-1)       "IMDB info for %title Directed by %bold%name%bold"#  set random(IMDBIRC-2)       "IMDB info for %title Directed by %name"# TYPE --------^   ^#       ID --------^##  set announce(IMDBIRC) "random 3"# TYPE ---------^        ^    ^#       RANDOM ----------^    ^#           # OF IDS ---------^## exemple random announces:# set announce(IMDBIRC) "random 3"# set random(IMDBIRC-0) "IMDB info for %bold%title%bold Directed by %name -&gt; rated %uline%rating%uline (%votes votes) - genre: %genre - runtime: %time mins &gt;&gt; URL: %uline%url%uline &gt;&gt; Budget: %budget &gt;&gt; Screens: (USA) %screens"# set random(IMDBIRC-1) "TITLE: %bold%title%bold - DIRECTOR: %name - RATE: %rating by %votes users - GENRE: %genre - RUNTIME: %time mins - URL: %url - BUDGET: %budget - SCREENS: (USA) %screens"# set random(IMDBIRC-2) "%bold%title%bold - %url\n%boldDirected by:%bold %name\n%boldGenre:%bold %genre\n%boldTagline:%bold %tagline\n%boldSynopsis:%bold %plot\n%boldRating:%bold %rating (%votes votes) top 250:%bold%top250%bold\n%boldMPAA:%bold %mpaa\n%boldRuntime:%bold %time mins.# example normal announce:# set announce(IMDBIRC) "%bold%title%bold - %url\n|Rating: %rating (%votes votes) %rbar| |%top250|\n|%plot|"# set announce(IMDBIRC) "%bold%title%bold |\[%time mins - %mcolor\]| - %url\n|Genre: %genre|\n|Tagline: %tagline|\n|Synopsis: %plot|\n|Rating: %rating (%votes votes) %rbar| |%color3%top250%color|\n|Awards: %awards|"#set announce(IMDBIRC) "%bold%title%bold - %url\n|%boldGenre:%bold %genre|\n|Plot Keywords: %keywords|\n|Tagline: %tagline|\n|Synopsis: %plot|\n|Rating: %rating (%votes votes) %rbar| |%color3%top250%color|\n|Comment: %comment|\n|Awards: %awards|\n|Runtime: %time mins.|"set announce(IMDBIRC) "%bold%title%bold (%aka) - %url\n|%boldGenre:%bold %genre|\n|Director: %name|\n|Writers: %wcredits|\n|Release Date: %reldate|\n|Cast: %castline|\n|Country: %country|\n|Language: %language|\n|Color: %mcolor|\n|Plot Keywords: %keywords|\n|Tagline: %tagline|\n|Synopsis: %plot|\n|Rating: %rating (%votes votes) %rbar|\n|Top 250: %color03%top250%color|\n|Locations: %locations|\n|Comment: %comment|\n|Awards: %awards|\n|Runtime: %time.|\n|MPAA: %mpaa|\n|Sound Mix: %soundmix|\n|Aspect Ratio: %aspect|\n|Company: %company|\n|Budget: %budget|\n|Screens: %screens|"#trigger command in channelset trigger "!imdb"#rating bar color#bracketset barcol1 "14"#starsset barcol2 "7"#cast count to return on multiline and single line (0 means no limit)set cast_linelimit "5"#http connection timeout (milliseconds)set imdb_timeout "25000"#flood-controlset queue_enabled 1#max requestsset queue_size 5#per ? secondsset queue_time 120# for a channel !imdb request# set to 1 = all results will be sent publicly to the channel# set to 0 = all results will be sent as private noticeset pub_or_not 1# use or not the imdb debugger (1=enable debug  0=disable debug)set IMDB_DEBUG 1# set IMDB_ALTERNATIVE 0 = use the internal tcl http 2.3 package# set IMDB_ALTERNATIVE 1 = use the external curl 6.0+set IMDB_ALTERNATIVE 1# set here the location path where find curl 6.0+set binary(CURL) "/usr/bin/curl"# note for windrop: use normal slashes, e.g. C:/path/to/curl.exe################################################################## DO NOT MODIFY BELOW HERE UNLESS YOU KNOW WHAT YOU ARE DOING!  ##################################################################if { $IMDB_ALTERNATIVE == 0 } { package require http 2.3 }setudef flag imdbbind pub -|- $trigger imdb_procset instance 0set warn_msg 0proc htmlcodes {tempfile} {#    set mapfile [string map {" \" &amp; &amp; ' ' ' ' [ ( \ / ] ) { ( } )   " " ? ? ? ? © © « « ­ ­ ® ® ? ? ? ? } $tempfile]#    set mapfile [string map {? ? · · ^(1) ^(1) » » 1/4 1/4 1/2 1/2 3/4 3/4 A` A` A' A' A^ A^ } $mapfile]#    set mapfile [string map {A~ A~ A" A" A* A* ? ? C, C, E` E` E' E' E^ E^ E" E" I` I` I' I' I^ I^ I" I" ? ? N~ N~ O` O` O' O' O^ O^ O~ O~ O" O" } $mapfile]#    set mapfile [string map {? ? ? ? U` U` U' U' U^ U^ U" U" Y' Y' ? ? ? ? a` a` a' a' a^ a^ a~ a~ a" a" a* a* ? ? c, c, e` e` e' e' e^ e^ } $mapfile]#    set mapfile [string map {e" e" i` i` i' i' i^ i^ i" i" ? ? n~ n~ o` o` o' o' o^ o^ o~ o~ o" o" ? ? ? ? u` u` u' u' u^ u^ u" u" y' y' ? ? } $mapfile]     set mapfile [string map {  "" &amp; "&amp;" " \"} $tempfile]    return $mapfile} proc channel_check_imdb { chan } {    foreach setting [channel info $chan] {        if {[regexp -- {^[\+-]} $setting]} {            if {![string compare "+imdb" $setting]} {                set permission 1                break            } else {                set permission 0            }        }    }    return $permission}proc replacevar {strin what withwhat} {    set output $strin    set replacement $withwhat    set cutpos 0    while { [string first $what $output] != -1 } {        set cutstart [expr [string first $what $output] - 1]        set cutstop  [expr $cutstart + [string length $what] + 1]        set output [string range $output 0 $cutstart]$replacement[string range $output $cutstop end]    }    return $output}proc findnth {strin what count} {     set ret 0     for {set x 0} {$x &lt; $count} {incr x} {         set ret [string first $what $strin [expr $ret + 1]]     }     return $ret}proc imdb_proc { nick uhost handle chan arg } {    global cast_linelimit instance queue_size queue_time queue_enabled imdb_timeout barcol1 barcol2 IMDB_DEBUG pub_or_not announce random warn_msg trigger binary IMDB_ALTERNATIVE    # channel_check permission    set permission_result [channel_check_imdb $chan]    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG permission_result == $permission_result" }    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG instance == $instance" }    if { $permission_result == 0} { return }    # public or private    if {$pub_or_not == 1 } { set toput "PRIVMSG $chan" } else { set toput "NOTICE $nick" }    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG toput_result == $toput" }    # if no arg passed, show help    if {$arg == ""} {        if { $IMDB_ALTERNATIVE == 0 } { set using "Http 2.3+" } else { set using "Curl 6.0+" }        if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG no arg passed, show help" }        puthelp "$toput :IMDb info script \002v05.01.2010\002 using \002$using\002"        puthelp "$toput :\002Syntax: $trigger &lt;movie title&gt;\002 example: $trigger Beautiful Mind"        return    }    #flood-control    if { $queue_enabled == 1 } {       #flooded?       if { $instance &gt;= $queue_size } {          if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG flood detected" }          if { $warn_msg == 0 } {             set warn_msg 1             putquick "$toput :Flood-Control: Request for \"$arg\" from user \"$nick\" will not be answered."             putquick "$toput :Flood-Control: Maximum of $queue_size requests every $queue_time seconds."             utimer 120 wmsg          }          return       }       incr instance       if { $IMDB_DEBUG == 1 } { putlog "IMDB_DEBUG new instance == $instance" }       utimer [set queue_time] decr_inst    }    # initial search    set imdburl "http://www.imdb.com"    set imdbsearchurl "http://akas.imdb.com/find?tt=on;nm=on;mx=5;"    set searchString [string map {\  %20 &amp; %26 , %2C} $arg]    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG searchString: \"$searchString\"" }    if { $IMDB_ALTERNATIVE == 0 } {        set page [::http::config -useragent "MSIE 6.0"]        if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG ${imdbsearchurl}q=$searchString" }        if [catch {set page [::http::geturl ${imdbsearchurl}q=$searchString -timeout $imdb_timeout]} error] {            puthelp "$toput :Error retrieving URL... try again later."            ::http::Finish $page            return        }        if { [::http::status $page] == "timeout" } {            puthelp "$toput :\002Connection to imdb.com timed out while doing initial search.\002"            ::http::Finish $page            return        }        set html [::http::data $page]        ::http::Finish $page    } else {        catch { exec $binary(CURL) "${imdbsearchurl}q=$searchString" } html    }    #if redirect necessary (search page), find first link and redirect    if { ([regexp {&lt;title&gt;IMDb.*Search} $html] == 1) } {        if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG redirect 1" }        set ttcode "0000001"        set start "0"        set temp $html        #dealing with different search results        set hit 0        if { [regexp -indices {Popular Titles} $temp tstart] } {           if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG found popular titles" }           set temp2 [string range $temp [lindex $tstart 1] end]           regexp {1\..*?&lt;a.*?&gt;(.*?)&lt;/a&gt;} $temp2 dummy title           if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG compare $title == $arg" }           if { [string equal -nocase $title $arg] } {              if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG equals - displaying first popular match" }              set temp $temp2              set hit 1           } else {              if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG not equal - searching for exact match" }           }        }        if { $hit == 0 } {           if { [regexp -indices {Titles \(Exact Matches\)} $temp start] } {              if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG displaying exact match" }           } elseif { [regexp -indices {Titles} $temp start] } {              if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG no exact match - displaying first title on page" }           } else {                puthelp "$toput :No useful results."                if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG no titles results found" }                return           }           set temp [string range $temp [lindex $start 1] end]        }        #searching for first ttcode        if [regexp {/title/tt[0-9]+} $temp ttcode] {           set pos [string last / $ttcode] ; incr pos           set ttcode [string range $ttcode $pos end]        }        # for bogus ttcode        if { $ttcode == "0000001" } {            puthelp "$toput :No no no! I can't find that!"            if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG bogus ttcode" }            return        }        set newurl "$imdburl/title/$ttcode/"        if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG redirect 1 = $newurl" }        # get the page redirected to        unset html        if { $IMDB_ALTERNATIVE == 0 } {            set page [::http::config -useragent "MSIE 6.0"]            set page [::http::geturl $newurl -timeout $imdb_timeout]            if [catch {set page [::http::geturl $newurl -timeout $imdb_timeout]} error] {                puthelp "$toput :Error retrieving URL... try again later."                ::http::Finish $page                return           }            if {[::http::status $page]=="timeout"} {                puthelp "$toput :\002Connection to imdb.com timed out.\002"                ::http::Finish $page                return            }            set html [::http::data $page]            ::http::Finish $page        } else {            catch { exec $binary(CURL) "$newurl" } html        }    # if no redirect necessary (only one match in meta), then go there    } else {        set location ""        if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG redirect 0" }        if { $IMDB_ALTERNATIVE == 0 } {            upvar 0 $page oldpage            regexp {title/tt[0-9]+/} $oldpage(meta) location        } else {            set result [catch { exec $binary(CURL) -i "${imdbsearchurl}q=$searchString" } oldpage]            putlog $oldpage            regexp {title/tt[0-9]+/} $oldpage location        }        if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG redirect 0 Location == $location" }        set newurl "$imdburl/$location"        if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG redirect 0 = $newurl" }        if { $location != "" } {            if { $IMDB_ALTERNATIVE == 0 } {                unset html                set page [::http::config -useragent "MSIE 6.0"]                if [catch {set page [::http::geturl $newurl -timeout $imdb_timeout]} error] {                    puthelp "$toput :Error retrieving URL... try again later."                    ::http::Finish $page                    return                }                if {[::http::status $page]=="timeout"} {                    puthelp "$toput :\002Connection to imdb.com timed out.\002"                    ::http::Finish $page                    return                }                set html [::http::data $page]                ::http::Finish $page            } else {                unset html                catch { exec $binary(CURL) "$newurl" } html            }        } else {            puthelp "$toput :Error in search mechanics - you probably need a newer version."            return        }    }    # for bogus searches    if {[string length $newurl] == 0} {        puthelp "$toput :No no no! I can't find that!"        if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG bogus searches" }        return    }    # decide on output    if { ! [string compare [lindex $announce(IMDBIRC) 0] "random"] &amp;&amp; [string is alnum -strict [lindex $announce(IMDBIRC) 1]] == 1 } {        set output $random(IMDBIRC\-[rand [lindex $announce(IMDBIRC) 1]])    } else {        set output $announce(IMDBIRC)    }    # collect output    set title "N/A"; set aka "N/A"; set name "N/A"; set genre "N/A"; set tagline "N/A"; set plot "N/A"; set rating "N/A";     set votes "N/A"; set mpaa "N/A"; set runtime "N/A"; set budget "N/A"; set screens "N/A"; set country "N/A"; set language "N/A";    set soundmix "N/A"; set top250 "top/bottom:N/A"; set awards "N/A"; set rating_bar ""; set cast_multiline "N/A"; set wcredits "N/A";    set keywords "N/A"; set comment "N/A"; set reldate "N/A"; set cast_line "N/A"; set movie_color "N/A"; set aspect_ratio "N/A";    set cert "N/A"; set film_locations "N/A"; set company "N/A"       ## get title    if [regexp {&lt;title&gt;[^&lt;]+} $html title] {        set pos [expr [string last &gt; $title] + 1]        set title [string range $title $pos end]        set title [htmlcodes $title]    }    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG title == $title" }        ## get aka    if [regexp {&lt;h4 class="inline"&gt;Also Known As:&lt;/h4&gt;(.*?)&lt;/div&gt;} $html dummy aka] {        regsub -all {&lt;[^\&gt;]*&gt;} $aka {} aka        set aka [string map {"See more" "" \n "" &amp; " &amp; " » ""} $aka]        set aka [string trim $aka]        set aka [htmlcodes $aka]    }    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG aka == $aka" }      ## get director    if [regexp {&lt;h4 class="inline"&gt;.*?Director:.*?&lt;/h4&gt;(.*?)&lt;/div&gt;} $html dummy name] {        regsub -all {\n[ ]*} $name {} name        set name [string map {"&amp;&lt;br/&gt;" "&amp; " "&lt;br/&gt;" ", " "See more" ""} $name]        regsub -all {&lt;[^&gt;]+&gt;} $name {} name        set name [string trim $name]        regsub -all {,$} $name {} name        set name [htmlcodes $name]    }    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG director == $name" }    ## get writing credits    if [regexp {&lt;h4 class="inline"&gt;.*?Writers:.*?&lt;/h4&gt;(.*?)&lt;/div&gt;} $html dummy wcredits] {        regsub -all {\n[ ]*} $wcredits {} wcredits        set wcredits [string map {"See more" "" "&lt;br/&gt; " "" "&amp;&lt;br/&gt;" "&amp; " "&amp;&lt;br/&gt;" "&amp; " "&lt;br/&gt;" ", " "»" ""} $wcredits]        regsub -all {&lt;[^&gt;]+&gt;} $wcredits {} wcredits        set wcredits [string trim $wcredits]        regsub -all {,$} $wcredits {} wcredits        set wcredits [htmlcodes $wcredits]    }    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG writer == $wcredits" }    # release date    if {[regexp {&lt;h4 class="inline"&gt;Release Date:&lt;/h4&gt;(.*?)&lt;/div&gt;} $html dummy reldate]} {        regsub -all {&lt;[^\&gt;]*&gt;} $reldate {} reldate        set reldate [string map {"See more" "" \n "" &amp; " &amp; "} $reldate]        set reldate [string trim $reldate]        set reldate [htmlcodes $reldate]    }    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG release date == $reldate" }    ## get genre    if [regexp {&lt;h4 class="inline"&gt;Genres:&lt;/h4&gt;(.*?)&lt;/div&gt;} $html dummy genre] {        set genre [string map {"See more" ""   " "} $genre]        regsub -all {&lt;[^\&gt;]*&gt;} $genre {} genre        set genre [string map {"|" "||" } $genre]        set genre [string trim $genre]        regsub {\(.*\)} $genre {} genre    }    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG genre == $genre" }    ## get tagline    if [regexp {&lt;h4 class="inline"&gt;Taglines:&lt;/h4&gt;(.*?)&lt;span .*?&gt;} $html dummy tagline] {        set tagline [string map {"See more" "" } $tagline]        regsub -all {&lt;[^\&gt;]*&gt;} $tagline {} tagline        set tagline [string trim $tagline]        set tagline [htmlcodes $tagline]    }    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG tagline == $tagline" }    ## get plot outline    if { [regexp {&lt;h2&gt;Storyline&lt;/h2&gt;(.*?)&lt;em .*?&gt;} $html dummy plot] || [regexp {&lt;h5&gt;Plot Summary:&lt;/h5&gt;(.*?)&lt;/div&gt;} $html dummy plot] } {        set plot [string map {"See more" "" "(view trailer)" "" "full summary" "" "add synopsis" "" "full synopsis (warning! may contain spoilers)" "" "full synopsis" "" " | " ""} $plot]        regsub -all {&lt;[^\&gt;]*&gt;} $plot {} plot        set plot [string trim $plot]        set plot [htmlcodes $plot]    }    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG plot == $plot" }    ## get plot keywords    if [regexp {&lt;h4 class="inline"&gt;Plot Keywords:&lt;/h4&gt;(.*?)&lt;/div&gt;} $html dummy keywords] {       set keywords [string map {"See more" "" \n ""   " " » ""} $keywords]       regsub -all {&lt;[^\&gt;]*&gt;} $keywords {} keywords       set keywords [string map {"|" "||"} $keywords]       set keywords [string trim $keywords]       set keywords [htmlcodes $keywords]    }    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG keywords == $keywords" }    ## get awards    if [regexp {&lt;strong&gt;Top 250 .*?&lt;/strong&gt;&lt;/a&gt;(.*?)&lt;/div&gt;} $html dummy awards] {       set awards [string map {"See more" "" \n "" » ""} $awards]       regsub -all {&lt;[^\&gt;]*&gt;} $awards { } awards       set awards [string trim [join $awards]]       set awards [htmlcodes $awards]    }    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG awards == $awards" }    ## get comment    if [regexp {&lt;h2&gt;User Reviews&lt;/h2&gt;(.*?)&lt;/strong&gt;} $html dummy comment] {       set comment [string map {"See more" "" \n ""} $comment]       regsub -all {&lt;[^\&gt;]*&gt;} $comment {} comment       set comment [string trim [join $comment]]       set comment [htmlcodes $comment]    }    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG comment == $comment" }    ## get iMDb rating                                                                    if [regexp {&lt;b&gt;((.*?)&lt;/b&gt;&lt;span class="mellow"&gt;/10)&lt;/span&gt;.*?&lt;a .*? href="ratings".*?&gt;(.*?) votes&lt;/a&gt;} $html dummy rating goldstars votes] {        regsub -all {&lt;[^\&gt;]*&gt;} $rating {} rating        #rating bar code        set goldstars [expr round($goldstars)]        set greystars [expr 10 - $goldstars]        # generating the rating bar        set marker "*"        set rating_bar "$barcol1\[$barcol2"        for {set i2 0} {$i2 &lt; $goldstars} {incr i2 1} {            set rating_bar "$rating_bar$marker"        }        set marker "-"        set rating_bar "$rating_bar14"        for {set i3 0} {$i3 &lt; $greystars} {incr i3 1} {            set rating_bar "$rating_bar$marker"        }        set rating_bar "$rating_bar$barcol1\]"        #end rating bar code    }    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG rating == $rating | votes == $votes | rating bar == $rating_bar" }    ## get TOP 250    if [regexp {&lt;strong&gt;Top 250 #([\d]+)&lt;/strong&gt;} $html dummy top250] {    } elseif [regexp {&gt;(Bottom 100: #[\d]+)&lt;/a&gt;} $html dummy top250] {    }    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG top250 == $top250" }    ## get MPAA    if [regexp {&lt;h4&gt;Motion Picture Rating.*?&lt;/h4&gt;(.*?)&lt;span .*?&gt;} $html dummy mpaa] {        regsub -all {&lt;[^\&gt;]*&gt;} $mpaa {} mpaa        #regsub {MPAA: } $mpaa {} mpaa        set mpaa [string trim $mpaa]        set mpaa [htmlcodes $mpaa]    }    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG mpaa == $mpaa" }    ## get runtime    if [regexp {&lt;h4 class="inline"&gt;Runtime:&lt;/h4&gt;(.*?)&lt;/div&gt;} $html dummy runtime] {        regsub -all {[\n\s]+} $runtime {} runtime    }    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG runtime == $runtime" }    ## get country    if [regexp {&lt;h4 class="inline"&gt;Country:&lt;/h4&gt;(.*?)&lt;/div&gt;} $html dummy country] {        set country [string map {  " "} $country]        regsub -all {&lt;[^\&gt;]*&gt;} $country {} country        set country [string map {"|" "||" } $country]        regsub -all {[\n]+} $country {} country    }    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG country == $country" }    ## get language    if [regexp {&lt;h4 class="inline"&gt;Language:&lt;/h4&gt;(.*?)&lt;/div&gt;} $html dummy language] {        set language [string map {"See more" "" \n ""   " " » ""} $language]        regsub -all {&lt;[^\&gt;]*&gt;} $language {} language        regsub -all {[\n]+} $language {} language        set language [string map {"|" "||"} $language]    }    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG language == $language" }    ## get movie color    if [regexp {&lt;h4 class="inline"&gt;Color:&lt;/h4&gt;(.*?)&lt;/div&gt;} $html dummy movie_color] {        regsub -all {&lt;[^\&gt;]*&gt;} $movie_color {} movie_color        regsub -all {[\n\s]+} $movie_color {} movie_color        set movie_color [string trim $movie_color]        set movie_color [string map {"|" "||"} $movie_color]    }    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG movie_color == $movie_color" }    ## get aspect ratio    if [regexp {&lt;h4 class="inline"&gt;Aspect Ratio:&lt;/h4&gt;(.*?)&lt;/div&gt;} $html dummy aspect_ratio] {        regsub -all {&lt;[^\&gt;]*&gt;} $aspect_ratio {} aspect_ratio        set aspect_ratio [string map {"more" "" } $aspect_ratio]        set aspect_ratio [string trim $aspect_ratio]    }    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG aspect_ratio == $aspect_ratio" }    ## get soundmix    if [regexp {&lt;h4 class="inline"&gt;Sound Mix:&lt;/h4&gt;(.*?)&lt;/div&gt;} $html dummy soundmix] {        set soundmix [string map {"See more" "" \n ""   "" » ""} $soundmix]        regsub -all {&lt;[^\&gt;]*&gt;} $soundmix {} soundmix        regsub -all {[\n]+} $soundmix {} soundmix        set soundmix [string map {"|" "||"} $soundmix]    }    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG soundmix == $soundmix" }    ## get certification    if [regexp {&lt;h5&gt;Certification:&lt;/h5&gt;\n(.*?)&lt;/div&gt;} $html dummy cert] {        regsub -all {&lt;[^\&gt;]*&gt;} $cert {} cert        regsub -all {[\n]+} $cert {} cert        set cert [string map {"|" "||"} $cert]    }    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG cert == $cert" }    ## get locations    if { [regexp {&lt;h4 class="inline"&gt;Filming Locations:&lt;/h4&gt;(.*?)&lt;/div&gt;} $html dummy film_locations] } {        set film_locations [string map {"See more" ""  » ""} $film_locations]        regsub -all {&lt;[^\&gt;]*&gt;} $film_locations {} film_locations        regsub -all {[\n\s]+} $film_locations { } film_locations        set film_locations [string trim $film_locations]        set film_locations [htmlcodes $film_locations]    }    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG film_locations == $film_locations" }    ## get company    if [regexp {&lt;h3&gt;Company Credits&lt;/h3&gt;(.*?)&lt;/div&gt;} $html dummy company] {        set company [string map {"See more" ""   "" » ""} $company]        regsub -all {&lt;[^\&gt;]*&gt;} $company {} company        regsub -all {[\n\s]+} $company { } company        set company [string trim $company]    }    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG company == $company" }       ## get cast    if [regexp {&lt;table class="cast_list"&gt;(.*?)&lt;/table&gt;} $html dummy cast] {        regsub -all {&lt;/tr&gt;.*?&lt;tr.*?&gt;} $cast "\n" cast_multiline        regsub -all {[\n]+} $cast_multiline {} cast_multiline        regsub -all {&lt;[^\&gt;]*&gt;} $cast_multiline {} cast_multiline        set cast_multiline [string map {"rest of cast listed alphabetically:" \n} $cast_multiline]        set cast_multiline [string trim [join [htmlcodes $cast_multiline]]]        if { $cast_linelimit &gt; 0 } {           set nthoccur [expr [findnth $cast_multiline \n $cast_linelimit] - 1]           if {$nthoccur &gt; 0} {set cast_multiline [string range $cast_multiline 0 $nthoccur]}        }    }    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG cast_multiline == $cast_multiline" }    ## fill singleline    regsub -all {\n} $cast_multiline " / " cast_line    if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG cast_line == $cast_line" }        ## get budget        if [regexp {&lt;h4 class="inline"&gt;Budget:&lt;/h4&gt; (.*?)&lt;/div&gt;} $html dummy budget] {           regsub -all {[\n]+} $budget {} budget           set budget [string map {ˆ ˆ ? ?} $budget]        }        if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG budget == $budget" }        ## get screens        if [regexp {&lt;h4 class="inline"&gt;Opening Weekend:&lt;/h4&gt;\n(.*?Screens\))} $html dummy screens] {           regsub -all {[\n]+} $screens { } screens           regsub -all {&lt;[^\&gt;]*&gt;} $screens {} screens           set screens [htmlcodes $screens]        }        if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG screens == $screens" }    ## output results       set output [replacevar $output "%title" $title]    set output [replacevar $output "%aka" $aka]    set output [replacevar $output "%url" $newurl]    set output [replacevar $output "%name" $name]    set output [replacevar $output "%genre" $genre]    set output [replacevar $output "%tagline" $tagline]    set output [replacevar $output "%plot" $plot]    set output [replacevar $output "%keywords" $keywords]    set output [replacevar $output "%awards" $awards]    set output [replacevar $output "%comment" $comment]    set output [replacevar $output "%rating" $rating]    set output [replacevar $output "%rbar" $rating_bar]    set output [replacevar $output "%votes" $votes]    set output [replacevar $output "%top250" $top250]    set output [replacevar $output "%mpaa" $mpaa]    set output [replacevar $output "%time" $runtime]    set output [replacevar $output "%country" $country]    set output [replacevar $output "%language" $language]    set output [replacevar $output "%mcolor" $movie_color]    set output [replacevar $output "%aspect" $aspect_ratio]    set output [replacevar $output "%soundmix" $soundmix]    set output [replacevar $output "%cert" $cert]    set output [replacevar $output "%locations" $film_locations]    set output [replacevar $output "%company" $company]    set output [replacevar $output "%budget" $budget]    set output [replacevar $output "%screens" $screens]    set output [replacevar $output "%reldate" $reldate]    set checkvar ""    regexp {.*?%castmline} $output checkvar    if { [expr [regexp -all {%uline} $checkvar] % 2] == 1 } {        set cast_multiline [string map {"\n" "\n%uline"} $cast_multiline]    }    if { [expr [regexp -all {%bold} $checkvar] % 2] == 1 } {        set cast_multiline [string map {"\n" "\n%bold"} $cast_multiline]    }    if { [regexp {.*%color([\d]+(?:,[\d]+)?)[^\n]*?%castmline} $checkvar dummy colormline] } {        regsub -all {\n} $cast_multiline "\n%color$colormline" cast_multiline    }    set output [replacevar $output "%castmline" $cast_multiline]    set output [replacevar $output "%castline" $cast_line]    set output [replacevar $output "%wcredits" $wcredits]    regsub -all {\|[^\|]*?N/A[^\|]*?\|} $output "" output    set output [string map {"||" "|" "|" ""} $output]    regsub -all {\n[\n\s]*\n} $output "\n" output    set output [string trim $output]    set output [replacevar $output "%bold" "\002"]    set output [replacevar $output "%color" "\003"]    set output [replacevar $output "%uline" "\037"]    foreach line [split $output "\n"] {        while {$line != ""} {            puthelp "$toput :[string range $line 0 399]"            set line [string range $line 400 end]        }     }}proc decr_inst { } {     global IMDB_DEBUG instance     if { $instance &gt; 0 } { incr instance -1 }     if { $IMDB_DEBUG == 1 } { putlog "IMDB_DEBUG instance decreased by timer to: $instance" }}proc wmsg { } {     global warn_msg     set warn_msg 0}putlog "IMDB info version 19.10.2010 loaded"</code></pre></div><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=8230">Fire-Fox</a> — Sun Oct 27, 2019 10:19 am</p><hr />
]]></content>
	</entry>
	</feed>
