#!/usr/bin/envpython####pic2htmlv0.1####Asmallcgi-scripttoconvertbinary-picturesto##colorizedhtml-data.####Author:RikardBosnjakovicbos@hack.org,2001-03-27#importcgi,Image,os,StringIO,sy
s,tempfile,urllibprint"Content-type:text/html\n"#readthefiletouseasthebackgroundandremoveallcrappycharstxt=open("pic2html.py").read()foriin"\n":txt=txt.replace(i,"")#gettheurltothepictu
restorage=cgi.FieldStorage()ifnotstorage.has_key("url"):print"EmptyURL."exiturl=storage["url"].valuetry:urlfile=urllib.urlopen(url)exceptIOError:print"Anerroroccuredwhileretrievingthefi
le."sys.exit()pagedata=urlfile.read()try:im=Image.open(StringIO.StringIO(pagedata))except:print"ERROR-",sys.exc_type,":",sys.exc_valueprintprint"Ifthedebuginfoabovewastoocryptic,thenthe
authorstillwouldliketoseeit!"sys.exit()#integer(index)?iftype(im.getpixel((0,0)))==type(0):#yes,obtainthepaletteandputtheminalistof3-tuples(R,G,B)palette=im.getdata().getpalette()pal=[t
uple(palette[3*i:3*i+3])foriinrange(len(palette)/3)]else:pal=()#scalethepicturetobetterproportionalsx=im.size[0]y=im.size[1]ifx1000ory1000:print"Toobigpicture,tryasmallerone(below1000*1
000)."exitifx256:im=im.resize((256,(256*y)/x))ify256:im=im.resize(((256*x)/y,256))im=im.resize((im.size[0],im.size[1]/2))#printthepictureinasciiandsaveittempfile.tempdir="/tmp/pic2html"
tmpname=tempfile.mktemp(".html")f=open(tmpname,"a")pagedata="htmlheadtitlepic2htmlv0.1lt;bos@hack.org"pagedata+="gt;/title/head"pagedata+='bodybgcolor="#000000"basefontsize=1pre'printpa
gedataf.write(pagedata+"\n")filecount=0lastcol=()newcol=()foryinrange(im.size[1]):pagedata="font"forxinrange(im.size[0]):ifpal:newcol=pal[im.getpixel((x,y))]coltuple=tuple(map(ord,newco
l))else:newcol=coltuple=im.getpixel((x,y))ifnotnewcol==lastcol:pagedata+="/fontfontcolor=#%02x%02x%02x"%coltuplelastcol=newcolpagedata+=txt[filecount]filecount+=1iffilecountlen(txt)-1:f
ilecount=0printpagedataf.write(pagedata+"\n")pagedata="/pre/basefont/body"printpagedataf.write(pagedata+"\n")f.close()#logtherequestifnotos.environ["REMOTE_HOST"]:host=os.environ["REMOT
E_ADDR"]else:host=os.environ["REMOTE_HOST"]log=open("log.txt","a")log.write(host+"-"+url+"-("+tmpname+")\n")log.close()#!/usr/bin/envpython####pic2htmlv0.1####Asmallcgi-scripttoconvertb
inary-picturesto##colorizedhtml-data.####Author:RikardBosnjakovicbos@hack.org,2001-03-27#importcgi,Image,os,StringIO,sys,tempfile,urllibprint"Content-type:text/html\n"#readthefiletousea
sthebackgroundandremoveallcrappycharstxt=open("pic2html.py").read()foriin"\n":txt=txt.replace(i,"")#gettheurltothepicturestorage=cgi.FieldStorage()ifnotstorage.has_key("url"):print"Empt
yURL."exiturl=storage["url"].valuetry:urlfile=urllib.urlopen(url)exceptIOError:print"Anerroroccuredwhileretrievingthefile."sys.exit()pagedata=urlfile.read()try:im=Image.open(StringIO.St
ringIO(pagedata))except:print"ERROR-",sys.exc_type,":",sys.exc_valueprintprint"Ifthedebuginfoabovewastoocryptic,thentheauthorstillwouldliketoseeit!"sys.exit()#integer(index)?iftype(im.g
etpixel((0,0)))==type(0):#yes,obtainthepaletteandputtheminalistof3-tuples(R,G,B)palette=im.getdata().getpalette()pal=[tuple(palette[3*i:3*i+3])foriinrange(len(palette)/3)]else:pal=()#sc
alethepicturetobetterproportionalsx=im.size[0]y=im.size[1]ifx1000ory1000:print"Toobigpicture,tryasmallerone(below1000*1000)."exitifx256:im=im.resize((256,(256*y)/x))ify256:im=im.resize(
((256*x)/y,256))im=im.resize((im.size[0],im.size[1]/2))#printthepictureinasciiandsaveittempfile.tempdir="/tmp/pic2html"tmpname=tempfile.mktemp(".html")f=open(tmpname,"a")pagedata="htmlh
eadtitlepic2htmlv0.1lt;bos@hack.org"pagedata+="gt;/title/head"pagedata+='bodybgcolor="#000000"basefontsize=1pre'printpagedataf.write(pagedata+"\n")filecount=0lastcol=()newcol=()foryinra
nge(im.size[1]):pagedata="font"forxinrange(im.size[0]):ifpal:newcol=pal[im.getpixel((x,y))]coltuple=tuple(map(ord,newcol))else:newcol=coltuple=im.getpixel((x,y))ifnotnewcol==lastcol:pag
edata+="/fontfontcolor=#%02x%02x%02x"%coltuplelastcol=newcolpagedata+=txt[filecount]filecount+=1iffilecountlen(txt)-1:filecount=0printpagedataf.write(pagedata+"\n")pagedata="/pre/basefo
nt/body"printpagedataf.write(pagedata+"\n")f.close()#logtherequestifnotos.environ["REMOTE_HOST"]:host=os.environ["REMOTE_ADDR"]else:host=os.environ["REMOTE_HOST"]log=open("log.txt","a")
log.write(host+"-"+url+"-("+tmpname+")\n")log.close()#!/usr/bin/envpython####pic2htmlv0.1####Asmallcgi-scripttoconvertbinary-picturesto##colorizedhtml-data.####Author:RikardBosnjakovicb
os@hack.org,2001-03-27#importcgi,Image,os,StringIO,sys,tempfile,urllibprint"Content-type:text/html\n"#readthefiletouseasthebackgroundandremoveallcrappycharstxt=open("pic2html.py").read(
)foriin"\n":txt=txt.replace(i,"")#gettheurltothepicturestorage=cgi.FieldStorage()ifnotstorage.has_key("url"):print"EmptyURL."exiturl=storage["url"].valuetry:urlfile=urllib.urlopen(url)e
xceptIOError:print"Anerroroccuredwhileretrievingthefile."sys.exit()pagedata=urlfile.read()try:im=Image.open(StringIO.StringIO(pagedata))except:print"ERROR-",sys.exc_type,":",sys.exc_val
ueprintprint"Ifthedebuginfoabovewastoocryptic,thentheauthorstillwouldliketoseeit!"sys.exit()#integer(index)?iftype(im.getpixel((0,0)))==type(0):#yes,obtainthepaletteandputtheminalistof3
-tuples(R,G,B)palette=im.getdata().getpalette()pal=[tuple(palette[3*i:3*i+3])foriinrange(len(palette)/3)]else:pal=()#scalethepicturetobetterproportionalsx=im.size[0]y=im.size[1]ifx1000o
ry1000:print"Toobigpicture,tryasmallerone(below1000*1000)."exitifx256:im=im.resize((256,(256*y)/x))ify256:im=im.resize(((256*x)/y,256))im=im.resize((im.size[0],im.size[1]/2))#printthepi
ctureinasciiandsaveittempfile.tempdir="/tmp/pic2html"tmpname=tempfile.mktemp(".html")f=open(tmpname,"a")pagedata="htmlheadtitlepic2htmlv0.1lt;bos@hack.org"pagedata+="gt;/title/head"page
data+='bodybgcolor="#000000"basefontsize=1pre'printpagedataf.write(pagedata+"\n")filecount=0lastcol=()newcol=()foryinrange(im.size[1]):pagedata="font"forxinrange(im.size[0]):ifpal:newco
l=pal[im.getpixel((x,y))]coltuple=tuple(map(ord,newcol))else:newcol=coltuple=im.getpixel((x,y))ifnotnewcol==lastcol:pagedata+="/fontfontcolor=#%02x%02x%02x"%coltuplelastcol=newcolpageda
ta+=txt[filecount]filecount+=1iffilecountlen(txt)-1:filecount=0printpagedataf.write(pagedata+"\n")pagedata="/pre/basefont/body"printpagedataf.write(pagedata+"\n")f.close()#logtherequest
ifnotos.environ["REMOTE_HOST"]:host=os.environ["REMOTE_ADDR"]else:host=os.environ["REMOTE_HOST"]log=open("log.txt","a")log.write(host+"-"+url+"-("+tmpname+")\n")log.close()#!/usr/bin/en
vpython####pic2htmlv0.1####Asmallcgi-scripttoconvertbinary-picturesto##colorizedhtml-data.####Author:RikardBosnjakovicbos@hack.org,2001-03-27#importcgi,Image,os,StringIO,sys,tempfile,ur
llibprint"Content-type:text/html\n"#readthefiletouseasthebackgroundandremoveallcrappycharstxt=open("pic2html.py").read()foriin"\n":txt=txt.replace(i,"")#gettheurltothepicturestorage=cgi
.FieldStorage()ifnotstorage.has_key("url"):print"EmptyURL."exiturl=storage["url"].valuetry:urlfile=urllib.urlopen(url)exceptIOError:print"Anerroroccuredwhileretrievingthefile."sys.exit(
)pagedata=urlfile.read()try:im=Image.open(StringIO.StringIO(pagedata))except:print"ERROR-",sys.exc_type,":",sys.exc_valueprintprint"Ifthedebuginfoabovewastoocryptic,thentheauthorstillwo
uldliketoseeit!"sys.exit()#integer(index)?iftype(im.getpixel((0,0)))==type(0):#yes,obtainthepaletteandputtheminalistof3-tuples(R,G,B)palette=im.getdata().getpalette()pal=[tuple(palette[
3*i:3*i+3])foriinrange(len(palette)/3)]else:pal=()#scalethepicturetobetterproportionalsx=im.size[0]y=im.size[1]ifx1000ory1000:print"Toobigpicture,tryasmallerone(below1000*1000)."exitifx
256:im=im.resize((256,(256*y)/x))ify256:im=im.resize(((256*x)/y,256))im=im.resize((im.size[0],im.size[1]/2))#printthepictureinasciiandsaveittempfile.tempdir="/tmp/pic2html"tmpname=tempf
ile.mktemp(".html")f=open(tmpname,"a")pagedata="htmlheadtitlepic2htmlv0.1lt;bos@hack.org"pagedata+="gt;/title/head"pagedata+='bodybgcolor="#000000"basefontsize=1pre'printpagedataf.write
(pagedata+"\n")filecount=0lastcol=()newcol=()foryinrange(im.size[1]):pagedata="font"forxinrange(im.size[0]):ifpal:newcol=pal[im.getpixel((x,y))]coltuple=tuple(map(ord,newcol))else:newco
l=coltuple=im.getpixel((x,y))ifnotnewcol==lastcol:pagedata+="/fontfontcolor=#%02x%02x%02x"%coltuplelastcol=newcolpagedata+=txt[filecount]filecount+=1iffilecountlen(txt)-1:filecount=0pri
ntpagedataf.write(pagedata+"\n")pagedata="/pre/basefont/body"printpagedataf.write(pagedata+"\n")f.close()#logtherequestifnotos.environ["REMOTE_HOST"]:host=os.environ["REMOTE_ADDR"]else:
host=os.environ["REMOTE_HOST"]log=open("log.txt","a")log.write(host+"-"+url+"-("+tmpname+")\n")log.close()#!/usr/bin/envpython####pic2htmlv0.1####Asmallcgi-scripttoconvertbinary-picture
sto##colorizedhtml-data.####Author:RikardBosnjakovicbos@hack.org,2001-03-27#importcgi,Image,os,StringIO,sys,tempfile,urllibprint"Content-type:text/html\n"#readthefiletouseasthebackgroun
dandremoveallcrappycharstxt=open("pic2html.py").read()foriin"\n":txt=txt.replace(i,"")#gettheurltothepicturestorage=cgi.FieldStorage()ifnotstorage.has_key("url"):print"EmptyURL."exiturl
=storage["url"].valuetry:urlfile=urllib.urlopen(url)exceptIOError:print"Anerroroccuredwhileretrievingthefile."sys.exit()pagedata=urlfile.read()try:im=Image.open(StringIO.StringIO(pageda
ta))except:print"ERROR-",sys.exc_type,":",sys.exc_valueprintprint"Ifthedebuginfoabovewastoocryptic,thentheauthorstillwouldliketoseeit!"sys.exit()#integer(index)?iftype(im.getpixel((0,0)
))==type(0):#yes,obtainthepaletteandputtheminalistof3-tuples(R,G,B)palette=im.getdata().getpalette()pal=[tuple(palette[3*i:3*i+3])foriinrange(len(palette)/3)]else:pal=()#scalethepicture
tobetterproportionalsx=im.size[0]y=im.size[1]ifx1000ory1000:print"Toobigpicture,tryasmallerone(below1000*1000)."exitifx256:im=im.resize((256,(256*y)/x))ify256:im=im.resize(((256*x)/y,25
6))im=im.resize((im.size[0],im.size[1]/2))#printthepictureinasciiandsaveittempfile.tempdir="/tmp/pic2html"tmpname=tempfile.mktemp(".html")f=open(tmpname,"a")pagedata="htmlheadtitlepic2h
tmlv0.1lt;bos@hack.org"pagedata+="gt;/title/head"pagedata+='bodybgcolor="#000000"basefontsize=1pre'printpagedataf.write(pagedata+"\n")filecount=0lastcol=()newcol=()foryinrange(im.size[1
]):pagedata="font"forxinrange(im.size[0]):ifpal:newcol=pal[im.getpixel((x,y))]coltuple=tuple(map(ord,newcol))else:newcol=coltuple=im.getpixel((x,y))ifnotnewcol==lastcol:pagedata+="/font
fontcolor=#%02x%02x%02x"%coltuplelastcol=newcolpagedata+=txt[filecount]filecount+=1iffilecountlen(txt)-1:filecount=0printpagedataf.write(pagedata+"\n")pagedata="/pre/basefont/body"print
pagedataf.write(pagedata+"\n")f.close()#logtherequestifnotos.environ["REMOTE_HOST"]:host=os.environ["REMOTE_ADDR"]else:host=os.environ["REMOTE_HOST"]log=open("log.txt","a")log.write(hos
t+"-"+url+"-("+tmpname+")\n")log.close()#!/usr/bin/envpython####pic2htmlv0.1####Asmallcgi-scripttoconvertbinary-picturesto##colorizedhtml-data.####Author:RikardBosnjakovicbos@hack.org,2
001-03-27#importcgi,Image,os,StringIO,sys,tempfile,urllibprint"Content-type:text/html\n"#readthefiletouseasthebackgroundandremoveallcrappycharstxt=open("pic2html.py").read()foriin"\n":t
xt=txt.replace(i,"")#gettheurltothepicturestorage=cgi.FieldStorage()ifnotstorage.has_key("url"):print"EmptyURL."exiturl=storage["url"].valuetry:urlfile=urllib.urlopen(url)exceptIOError:
print"Anerroroccuredwhileretrievingthefile."sys.exit()pagedata=urlfile.read()try:im=Image.open(StringIO.StringIO(pagedata))except:print"ERROR-",sys.exc_type,":",sys.exc_valueprintprint"
Ifthedebuginfoabovewastoocryptic,thentheauthorstillwouldliketoseeit!"sys.exit()#integer(index)?iftype(im.getpixel((0,0)))==type(0):#yes,obtainthepaletteandputtheminalistof3-tuples(R,G,B
)palette=im.getdata().getpalette()pal=[tuple(palette[3*i:3*i+3])foriinrange(len(palette)/3)]else:pal=()#scalethepicturetobetterproportionalsx=im.size[0]y=im.size[1]ifx1000ory1000:print"
Toobigpicture,tryasmallerone(below1000*1000)."exitifx256:im=im.resize((256,(256*y)/x))ify256:im=im.resize(((256*x)/y,256))im=im.resize((im.size[0],im.size[1]/2))#printthepictureinasciia
ndsaveittempfile.tempdir="/tmp/pic2html"tmpname=tempfile.mktemp(".html")f=open(tmpname,"a")pagedata="htmlheadtitlepic2htmlv0.1lt;bos@hack.org"pagedata+="gt;/title/head"pagedata+='bodybg
color="#000000"basefontsize=1pre'printpagedataf.write(pagedata+"\n")filecount=0lastcol=()newcol=()foryinrange(im.size[1]):pagedata="font"forxinrange(im.size[0]):ifpal:newcol=pal[im.getp
ixel((x,y))]coltuple=tuple(map(ord,newcol))else:newcol=coltuple=im.getpixel((x,y))ifnotnewcol==lastcol:pagedata+="/fontfontcolor=#%02x%02x%02x"%coltuplelastcol=newcolpagedata+=txt[filec
ount]filecount+=1iffilecountlen(txt)-1:filecount=0printpagedataf.write(pagedata+"\n")pagedata="/pre/basefont/body"printpagedataf.write(pagedata+"\n")f.close()#logtherequestifnotos.envir
on["REMOTE_HOST"]:host=os.environ["REMOTE_ADDR"]else:host=os.environ["REMOTE_HOST"]log=open("log.txt","a")log.write(host+"-"+url+"-("+tmpname+")\n")log.close()#!/usr/bin/envpython####pi
c2htmlv0.1####Asmallcgi-scripttoconvertbinary-picturesto##colorizedhtml-data.####Author:RikardBosnjakovicbos@hack.org,2001-03-27#importcgi,Image,os,StringIO,sys,tempfile,urllibprint"Con
tent-type:text/html\n"#readthefiletouseasthebackgroundandremoveallcrappycharstxt=open("pic2html.py").read()foriin"\n":txt=txt.replace(i,"")#gettheurltothepicturestorage=cgi.FieldStorage
()ifnotstorage.has_key("url"):print"EmptyURL."exiturl=storage["url"].valuetry:urlfile=urllib.urlopen(url)exceptIOError:print"Anerroroccuredwhileretrievingthefile."sys.exit()pagedata=url
file.read()try:im=Image.open(StringIO.StringIO(pagedata))except:print"ERROR-",sys.exc_type,":",sys.exc_valueprintprint"Ifthedebuginfoabovewastoocryptic,thentheauthorstillwouldliketoseei
t!"sys.exit()#integer(index)?iftype(im.getpixel((0,0)))==type(0):#yes,obtainthepaletteandputtheminalistof3-tuples(R,G,B)palette=im.getdata().getpalette()pal=[tuple(palette[3*i:3*i+3])fo
riinrange(len(palette)/3)]else:pal=()#scalethepicturetobetterproportionalsx=im.size[0]y=im.size[1]ifx1000ory1000:print"Toobigpicture,tryasmallerone(below1000*1000)."exitifx256:im=im.res
ize((256,(256*y)/x))ify256:im=im.resize(((256*x)/y,256))im=im.resize((im.size[0],im.size[1]/2))#printthepictureinasciiandsaveittempfile.tempdir="/tmp/pic2html"tmpname=tempfile.mktemp(".
html")f=open(tmpname,"a")pagedata="htmlheadtitlepic2htmlv0.1lt;bos@hack.org"pagedata+="gt;/title/head"pagedata+='bodybgcolor="#000000"basefontsize=1pre'printpagedataf.write(pagedata+"\n
")filecount=0lastcol=()newcol=()foryinrange(im.size[1]):pagedata="font"forxinrange(im.size[0]):ifpal:newcol=pal[im.getpixel((x,y))]coltuple=tuple(map(ord,newcol))else:newcol=coltuple=im
.getpixel((x,y))ifnotnewcol==lastcol:pagedata+="/fontfontcolor=#%02x%02x%02x"%coltuplelastcol=newcolpagedata+=txt[filecount]filecount+=1iffilecountlen(txt)-1:filecount=0printpagedataf.w
rite(pagedata+"\n")pagedata="/pre/basefont/body"printpagedataf.write(pagedata+"\n")f.close()#logtherequestifnotos.environ["REMOTE_HOST"]:host=os.environ["REMOTE_ADDR"]else:host=os.envir
on["REMOTE_HOST"]log=open("log.txt","a")log.write(host+"-"+url+"-("+tmpname+")\n")log.close()#!/usr/bin/envpython####pic2htmlv0.1####Asmallcgi-scripttoconvertbinary-picturesto##colorize
dhtml-data.####Author:RikardBosnjakovicbos@hack.org,2001-03-27#importcgi,Image,os,StringIO,sys,tempfile,urllibprint"Content-type:text/html\n"#readthefiletouseasthebackgroundandremoveall
crappycharstxt=open("pic2html.py").read()foriin"\n":txt=txt.replace(i,"")#gettheurltothepicturestorage=cgi.FieldStorage()ifnotstorage.has_key("url"):print"EmptyURL."exiturl=storage["url
"].valuetry:urlfile=urllib.urlopen(url)exceptIOError:print"Anerroroccuredwhileretrievingthefile."sys.exit()pagedata=urlfile.read()try:im=Image.open(StringIO.StringIO(pagedata))except:pr
int"ERROR-",sys.exc_type,":",sys.exc_valueprintprint"Ifthedebuginfoabovewastoocryptic,thentheauthorstillwouldliketoseeit!"sys.exit()#integer(index)?iftype(im.getpixel((0,0)))==type(0):#
yes,obtainthepaletteandputtheminalistof3-tuples(R,G,B)palette=im.getdata().getpalette()pal=[tuple(palette[3*i:3*i+3])foriinrange(len(palette)/3)]else:pal=()#scalethepicturetobetterpropo
rtionalsx=im.size[0]y=im.size[1]ifx1000ory1000:print"Toobigpicture,tryasmallerone(below1000*1000)."exitifx256:im=im.resize((256,(256*y)/x))ify256:im=im.resize(((256*x)/y,256))im=im.resi
ze((im.size[0],im.size[1]/2))#printthepictureinasciiandsaveittempfile.tempdir="/tmp/pic2html"tmpname=tempfile.mktemp(".html")f=open(tmpname,"a")pagedata="htmlheadtitlepic2htmlv0.1lt;bos
@hack.org"pagedata+="gt;/title/head"pagedata+='bodybgcolor="#000000"basefontsize=1pre'printpagedataf.write(pagedata+"\n")filecount=0lastcol=()newcol=()foryinrange(im.size[1]):pagedata="
font"forxinrange(im.size[0]):ifpal:newcol=pal[im.getpixel((x,y))]coltuple=tuple(map(ord,newcol))else:newcol=coltuple=im.getpixel((x,y))ifnotnewcol==lastcol:pagedata+="/fontfontcolor=#%0
2x%02x%02x"%coltuplelastcol=newcolpagedata+=txt[filecount]filecount+=1iffilecountlen(txt)-1:filecount=0printpagedataf.write(pagedata+"\n")pagedata="/pre/basefont/body"printpagedataf.wri
te(pagedata+"\n")f.close()#logtherequestifnotos.environ["REMOTE_HOST"]:host=os.environ["REMOTE_ADDR"]else:host=os.environ["REMOTE_HOST"]log=open("log.txt","a")log.write(host+"-"+url+"-(
"+tmpname+")\n")log.close()#!/usr/bin/envpython####pic2htmlv0.1####Asmallcgi-scripttoconvertbinary-picturesto##colorizedhtml-data.####Author:RikardBosnjakovicbos@hack.org,2001-03-27#imp
ortcgi,Image,os,StringIO,sys,tempfile,urllibprint"Content-type:text/html\n"#readthefiletouseasthebackgroundandremoveallcrappycharstxt=open("pic2html.py").read()foriin"\n":txt=txt.replac
e(i,"")#gettheurltothepicturestorage=cgi.FieldStorage()ifnotstorage.has_key("url"):print"EmptyURL."exiturl=storage["url"].valuetry:urlfile=urllib.urlopen(url)exceptIOError:print"Anerror
occuredwhileretrievingthefile."sys.exit()pagedata=urlfile.read()try:im=Image.open(StringIO.StringIO(pagedata))except:print"ERROR-",sys.exc_type,":",sys.exc_valueprintprint"Ifthedebuginf
oabovewastoocryptic,thentheauthorstillwouldliketoseeit!"sys.exit()#integer(index)?iftype(im.getpixel((0,0)))==type(0):#yes,obtainthepaletteandputtheminalistof3-tuples(R,G,B)palette=im.g
etdata().getpalette()pal=[tuple(palette[3*i:3*i+3])foriinrange(len(palette)/3)]else:pal=()#scalethepicturetobetterproportionalsx=im.size[0]y=im.size[1]ifx1000ory1000:print"Toobigpicture
,tryasmallerone(below1000*1000)."exitifx256:im=im.resize((256,(256*y)/x))ify256:im=im.resize(((256*x)/y,256))im=im.resize((im.size[0],im.size[1]/2))#printthepictureinasciiandsaveittempf
ile.tempdir="/tmp/pic2html"tmpname=tempfile.mktemp(".html")f=open(tmpname,"a")pagedata="htmlheadtitlepic2htmlv0.1lt;bos@hack.org"pagedata+="gt;/title/head"pagedata+='bodybgcolor="#00000
0"basefontsize=1pre'printpagedataf.write(pagedata+"\n")filecount=0lastcol=()newcol=()foryinrange(im.size[1]):pagedata="font"forxinrange(im.size[0]):ifpal:newcol=pal[im.getpixel((x,y))]c
oltuple=tuple(map(ord,newcol))else:newcol=coltuple=im.getpixel((x,y))ifnotnewcol==lastcol:pagedata+="/fontfontcolor=#%02x%02x%02x"%coltuplelastcol=newcolpagedata+=txt[filecount]filecoun
t+=1iffilecountlen(txt)-1:filecount=0printpagedataf.write(pagedata+"\n")pagedata="/pre/basefont/body"printpagedataf.write(pagedata+"\n")f.close()#logtherequestifnotos.environ["REMOTE_HO
ST"]:host=os.environ["REMOTE_ADDR"]else:host=os.environ["REMOTE_HOST"]log=open("log.txt","a")log.write(host+"-"+url+"-("+tmpname+")\n")log.close()#!/usr/bin/envpython####pic2htmlv0.1###
#Asmallcgi-scripttoconvertbinary-picturesto##colorizedhtml-data.####Author:RikardBosnjakovicbos@hack.org,2001-03-27#importcgi,Image,os,StringIO,sys,tempfile,urllibprint"Content-type:tex
t/html\n"#readthefiletouseasthebackgroundandremoveallcrappycharstxt=open("pic2html.py").read()foriin"\n":txt=txt.replace(i,"")#gettheurltothepicturestorage=cgi.FieldStorage()ifnotstorag
e.has_key("url"):print"EmptyURL."exiturl=storage["url"].valuetry:urlfile=urllib.urlopen(url)exceptIOError:print"Anerroroccuredwhileretrievingthefile."sys.exit()pagedata=urlfile.read()tr
y:im=Image.open(StringIO.StringIO(pagedata))except:print"ERROR-",sys.exc_type,":",sys.exc_valueprintprint"Ifthedebuginfoabovewastoocryptic,thentheauthorstillwouldliketoseeit!"sys.exit()
#integer(index)?iftype(im.getpixel((0,0)))==type(0):#yes,obtainthepaletteandputtheminalistof3-tuples(R,G,B)palette=im.getdata().getpalette()pal=[tuple(palette[3*i:3*i+3])foriinrange(len
(palette)/3)]else:pal=()#scalethepicturetobetterproportionalsx=im.size[0]y=im.size[1]ifx1000ory1000:print"Toobigpicture,tryasmallerone(below1000*1000)."exitifx256:im=im.resize((256,(256
*y)/x))ify256:im=im.resize(((256*x)/y,256))im=im.resize((im.size[0],im.size[1]/2))#printthepictureinasciiandsaveittempfile.tempdir="/tmp/pic2html"tmpname=tempfile.mktemp(".html")f=open(
tmpname,"a")pagedata="htmlheadtitlepic2htmlv0.1lt;bos@hack.org"pagedata+="gt;/title/head"pagedata+='bodybgcolor="#000000"basefontsize=1pre'printpagedataf.write(pagedata+"\n")filecount=0
lastcol=()newcol=()foryinrange(im.size[1]):pagedata="font"forxinrange(im.size[0]):ifpal:newcol=pal[im.getpixel((x,y))]coltuple=tuple(map(ord,newcol))else:newcol=coltuple=im.getpixel((x,
y))ifnotnewcol==lastcol:pagedata+="/fontfontcolor=#%02x%02x%02x"%coltuplelastcol=newcolpagedata+=txt[filecount]filecount+=1iffilecountlen(txt)-1:filecount=0printpagedataf.write(pagedata
+"\n")pagedata="/pre/basefont/body"printpagedataf.write(pagedata+"\n")f.close()#logtherequestifnotos.environ["REMOTE_HOST"]:host=os.environ["REMOTE_ADDR"]else:host=os.environ["REMOTE_HO
ST"]log=open("log.txt","a")log.write(host+"-"+url+"-("+tmpname+")\n")log.close()#!/usr/bin/envpython####pic2htmlv0.1####Asmallcgi-scripttoconvertbinary-picturesto##colorizedhtml-data.##
##Author:RikardBosnjakovicbos@hack.org,2001-03-27#importcgi,Image,os,StringIO,sys,tempfile,urllibprint"Content-type:text/html\n"#readthefiletouseasthebackgroundandremoveallcrappycharstx
t=open("pic2html.py").read()foriin"\n":txt=txt.replace(i,"")#gettheurltothepicturestorage=cgi.FieldStorage()ifnotstorage.has_key("url"):print"EmptyURL."exiturl=storage["url"].valuetry:u
rlfile=urllib.urlopen(url)exceptIOError:print"Anerroroccuredwhileretrievingthefile."sys.exit()pagedata=urlfile.read()try:im=Image.open(StringIO.StringIO(pagedata))except:print"ERROR-",s
ys.exc_type,":",sys.exc_valueprintprint"Ifthedebuginfoabovewastoocryptic,thentheauthorstillwouldliketoseeit!"sys.exit()#integer(index)?iftype(im.getpixel((0,0)))==type(0):#yes,obtainthe
paletteandputtheminalistof3-tuples(R,G,B)palette=im.getdata().getpalette()pal=[tuple(palette[3*i:3*i+3])foriinrange(len(palette)/3)]else:pal=()#scalethepicturetobetterproportionalsx=im.