rendered paste bodyalias imdb {
unset %imdb.* | set %imdb.screens 0
sockclose imdb* | sockclose boximdb | set %imdb.url $1
sockopen $+(imdb,$rand(111,999)) www.imdb.com 80
sockopen boximdb www.imdb.com 80
echo -a %imdb.url
}
on *:sockopen:imdb*: { var %s = sockwrite -tn $sockname | var %p $remove(%imdb.url,http://,www.,imdb.com)
%s GET %p HTTP/1.1 | %s Host: www.imdb.com | %s
}
on *:SOCKREAD:imdb*: { var %f,%s,%1,%2,%3,%4,%5,%6,%7,%8,%9,%0,%r,%t,%c,%l,%g,%u,%r,%v
sockread %f | while $sockbr { var %s = sockwrite -tn $sockname
if (%1) { var %r = $remove(%f,<,/b,b,>) | var %1 }
if (%2) { var %g = $remove($_h(%f),more,/) | var %2 }
if (%3) { var %u = %f | var %3 }
if (%4) { var %l = $remove($_h(%f),/) | var %4 }
if (%5) { var %c = $remove($_h(%f),/) | var %5 }
if (<a href="ratings"> isin %f) { var %v = $remove($_h(%f),$chr(32),votes,$chr(40),$chr(41)) }
if (<h5>Genre:</h5> isin %f) { var %2 1 }
if (<h5>Language:</h5> isin %f) { var %4 1 }
if (<title> isin %f) { var %t = $remove(%f,<title>,</title>) }
if (<h5>Runtime:</h5> isin %f) { var %3 1 }
if (<b>User Rating:</b> isin %f) { var %1 1 }
if (<h5>Country:</h5> isin %f) { var %5 1 }
sockread %f
if (%t) set %imdb.title %t
if (%g) set %imdb.genre %g
if (%r) set %imdb.rating %r
if (%v) set %imdb.votes %v
if (%u) set %imdb.runtime %u
if (%l) set %imdb.languages %l
if (%c) set %imdb.country %c
if (</html> isin %f) { kill $sockname }
}
}
on *:sockopen:boximdb: { var %s = sockwrite -tn $sockname | var %p $remove(%imdb.url,http://,www.,imdb.com)
%s GET $+(%p,business) HTTP/1.1 | %s Host: www.imdb.com | %s
}
on *:SOCKREAD:boximdb: { var %f,%s,%o,%p
sockread %f | while $sockbr { var %s = sockwrite -tn $sockname
if (screens isin $_h(%f)) {
if (USA isin $_h(%f)) || (UK isin $_h(%f)) {
set %imdb.screens $_h(%f)
}
}
if (Gross isin $_h(%f)) { kill $sockname | return }
sockread %f
if (</html> isin %f) { kill $sockname }
}
}
alias -l kill {
if (!%imdb.rdy) { set %imdb.rdy 1 | return }
echo -a %imdb.title
echo -a %imdb.genre
echo -a %imdb.rating
echo -a %imdb.votes
echo -a %imdb.runtime
echo -a %imdb.languages
echo -a %imdb.country
echo -a %imdb.screens
unset %imdb.*
sockclose $1
}
alias -l _h {
if ($1) {
var %strip,%parm = <> $remove($1-,> <,><,$chr(9)) <>,%n = 2
while ($gettok($gettok(%parm,%n,62),1,60)) {
%strip = %strip $ifmatch
inc %n
}
return %strip
}
}
alias fimdb { sockopen fimdb www.imdb.com 80 | set %imdb.search $1- }
on *:sockopen:fimdb: { var %s = sockwrite -tn $sockname | var %p $remove(%imdb.url,http://,www.,imdb.com)
%s GET $+(/find?s=all&q=,$_e(%imdb.search)) HTTP/1.1 | %s Host: www.imdb.com | %s | unset %imdb.search
}
alias _e {
var %s, %p = $len($1-)
while (%p) {
if ($mid($1-,%p,1) isalnum) { %s = $+($ifmatch,%s) }
else { %s = $+(%,$base($asc($mid($1-,%p,1)),10,16),%s) }
dec %p
}
return %s
}
on *:SOCKREAD:fimdb: {
sockread %f | while $sockbr { var %s = sockwrite -tn $sockname
if (/title/tt isin %f) {
imdb $+(www.imdb.com/,$gettok($remove($gettok(%f,2,61),"),1-2,47),/)
sockclose $sockname | return
}
if (</html> isin %f) { sockclose $sockname | return }
sockread %f
}
}