'''Image Galary
Builder
Copyright (C) 2008 KURIAN O.Samuel
This program is free software; you can redistribute it
and/or modify
it under the terms of the GNU General Public License as
published by
the Free Software Foundation; either version 2 of the
License, or
(at your option) any later version.
This program is distributed in the hope that it will be
useful,
but WITHOUT ANY WARRANTY; without even the implied warranty
of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the
GNU General Public License for more
details.
You should have received a copy of the GNU General Public
License
along with this program; if not, write to the Free
Software
Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA
Creadits : LightBox Team
http://www.lokeshdhakar.com/projects/lightbox2/
'''
import Image
import os
import sys
def makeThumbHere(getFileName,outputFld):
imageFile = getFileName
im1 = Image.open(imageFile)
width = 100
height = 75
im5 = im1.resize((width, height), Image.ANTIALIAS)
getTotaleFilename=os.path.basename(imageFile)
im5.save(outputFld+"/"+getTotaleFilename)
def findFilesinFolder(getFolderNameHere,outputFld,getRowHere):
sendToHtmlFiles=[]
os.chdir(getFolderNameHere)
mainFilepath=os.listdir(getFolderNameHere)
for
eachfile in mainFilepath:
if os.path.isfile(eachfile) == True :
eachfile=eachfile.lower()
if((eachfile.endswith('.jpg')) or (eachfile.endswith('.bmp')) or (eachfile.endswith('.png')) or (eachfile.endswith('.gif'))):
myFullFilePath=getFolderNameHere+"/"+eachfile
makeThumbHere(myFullFilePath,outputFld)
sendToHtmlFiles.append(eachfile)
elif os.path.isdir(eachfile) == True :
mst='fld'
createHtmFileHere(sendToHtmlFiles,getRowHere,getFolderNameHere)
def createHtmFileHere(getTotaleFilename,getRowHere,getFolderNameHere):
myHeadLine='''<html xmlns="http://www.w3.org/1999/xhtml"
lang="en">
<head>
<title>My Photo
Gallery</title>
<link
rel="stylesheet" href="css/lightbox.css" type="text/css"
media="screen" />
<script
src="js/prototype.js"
type="text/javascript"></script>
<script
src="js/scriptaculous.js?load=effects,builder"
type="text/javascript"></script>
<script
src="js/lightbox.js"
type="text/javascript"></script>
<style
type="text/css">
body{ color: #333; font: 13px 'Lucida Grande', Verdana,
sans-serif; }
</style>
</head>
<body>
<table cellpadding=8 cellspacing=8 border=0 align=center
width=30%>'''+"\n"
myEndLine='''</tr></table>
</div></body>
</html>'''
fileHandle = open ( getFolderNameHere+"/my_gallary.html", 'w' )
fileHandle.write(myHeadLine)
fileHandle.close()
myDivsart='''<tr valign=top align=center>'''+"\n"
myDivEnd='''</tr>'''+"\n"
myint=1
for
myCnt in range(len(getTotaleFilename)):
if myCnt=='1':
mytablepars=myDivsart+'''<td><a href=\"'''+getTotaleFilename[myCnt]+'''\" rel="lightbox"><img src="gal_thum/'''+getTotaleFilename[myCnt]+'''\" width="100"
height="75" alt="" /></a></td>'''+"\n"
fileHandle = open (
getFolderNameHere+"/my_gallary.html", 'a' )
fileHandle.write(mytablepars)
fileHandle.close()
myint=myint+1
else:
mytablepars='''<td><a
href=\"'''+getTotaleFilename[myCnt]+'''\"
rel="lightbox"><img src="gal_thum/'''+getTotaleFilename[myCnt]+'''\" width="100"
height="75" alt="" /></a></td>'''+"\n"
if myint == getRowHere:
myparserMost=mytablepars+myDivEnd+myDivsart
fileHandle = open (
getFolderNameHere+"/my_gallary.html", 'a' )
fileHandle.write(myparserMost)
fileHandle.close()
myint=1
else:
fileHandle = open (
getFolderNameHere+"/my_gallary.html", 'a' )
fileHandle.write(mytablepars)
fileHandle.close()
myint=myint+1
fileHandle = open ( getFolderNameHere+"/my_gallary.html", 'a' )
fileHandle.write(myEndLine)
fileHandle.close()
getRootFolderHere=raw_input("Enter Image Folder Name ... \nWhere you kept galary images please give
foldername here...\n")
getRowHere=int(raw_input("How Much Image You Want in a Raw ???
...\n"))
setThumbFloder=getRootFolderHere.replace("\\","/")+"/gal_thum"
setJsFloder=getRootFolderHere.replace("\\","/")+"/js"
getRootFolderHere=getRootFolderHere.replace("\\","/")
try:
os.mkdir(setThumbFloder)
os.mkdir(setJsFloder)
except WindowsError:
print
"Thumbnail Folder is exists !!! please move or rename the folder
and run script again !!!"
raw_input("Press any Key To Exit
!!!")
sys.exit(1)
findFilesinFolder(getRootFolderHere,setThumbFloder,getRowHere)