New structure for storing images
This commit is contained in:
60
Qalbum.py
60
Qalbum.py
@@ -132,20 +132,25 @@ def getpathlist(path,options=False):
|
||||
|
||||
def pathscript(path,list):
|
||||
''' Returns the javascript string of pathlist and pathimage arrays '''
|
||||
scrstr='<script language="javascript">'
|
||||
scrstr='<script language="javascript">var pathlist=['
|
||||
elements=[]
|
||||
for p in list:
|
||||
imglist=getimagelist(os.path.join(path,p))
|
||||
pathlist=getpathlist(os.path.join(path,p))
|
||||
scrstr+='pathlist.push(["'+unicode(p,encoding="utf8").encode('ascii', 'xmlcharrefreplace')+'",'+str(len(imglist)+len(pathlist))+']);'
|
||||
this_str='{ name:"'+unicode(p,encoding="utf8").encode('ascii', 'xmlcharrefreplace')+'", '
|
||||
this_str+='size:'+str(len(imglist)+len(pathlist))+', '
|
||||
if len(imglist)>0:
|
||||
scrstr+='pathimage.push("'+unicode(p,encoding="utf8").encode('ascii', 'xmlcharrefreplace')+'/_tn/tn_'+unicode(imglist[0],encoding="utf8").encode('ascii', 'xmlcharrefreplace')+'.jpg");'
|
||||
this_str+='image:"'+unicode(p,encoding="utf8").encode('ascii', 'xmlcharrefreplace')+'/_tn/tn_'+unicode(imglist[0],encoding="utf8").encode('ascii', 'xmlcharrefreplace')+'.jpg"}'
|
||||
else:
|
||||
scrstr+='pathimage.push("");'
|
||||
scrstr+='</script>'
|
||||
this_str+='image:"" }'
|
||||
elements.append(this_str)
|
||||
scrstr+=','.join(elements)+'];</script>'
|
||||
return scrstr
|
||||
|
||||
def pathlinks(path,list):
|
||||
''' Returns the HTML string of subfolders '''
|
||||
if len(list)==0:
|
||||
return '<div id="pathcontainer"></div>'
|
||||
pathstr='<div id="pathcontainer">'
|
||||
pathstr+='<h1>Subfolders</h1>'
|
||||
for p in list:
|
||||
@@ -164,24 +169,28 @@ def pathlinks(path,list):
|
||||
|
||||
def imagescript(path,list):
|
||||
''' Returns the javascript string of imagelist and imagedesc '''
|
||||
strout='<script language="javascript">'
|
||||
strout='<script language="javascript">var imagelist=['
|
||||
descriptions=getdescriptions(path,list)
|
||||
times=getfiletimes(path,list)
|
||||
n=0
|
||||
elements=[]
|
||||
for i in list:
|
||||
try:
|
||||
desc=singlequotes.sub("\\'",unicode(descriptions[n],encoding="utf8").encode('ascii', 'xmlcharrefreplace'))
|
||||
except:
|
||||
desc=singlequotes.sub("\\'",filter(lambda x: x in string.printable, descriptions[n]).encode('ascii', 'xmlcharrefreplace'))
|
||||
strout+='imagelist.push("'+unicode(i,encoding="utf8").encode('ascii', 'xmlcharrefreplace')+'");'
|
||||
strout+='imagedesc.push(\''+desc+'\');\n'
|
||||
strout+='imagetime.push('+str(times[n])+');\n'
|
||||
this_str='\n{name:"'+unicode(i,encoding="utf8").encode('ascii', 'xmlcharrefreplace')+'", '
|
||||
this_str+='desc:\''+desc+'\', '
|
||||
this_str+='time:'+str(times[n])+'}'
|
||||
elements.append(this_str)
|
||||
n+=1
|
||||
strout+='</script>'
|
||||
strout+=','.join(elements)+'];</script>'
|
||||
return strout
|
||||
|
||||
def imagelinks(path,list):
|
||||
''' Returns the HTML string of images '''
|
||||
if len(list)==0:
|
||||
return '<div id="thumbcontainer"></div>'
|
||||
strout='<div id="thumbcontainer"><noscript>'
|
||||
strout+='<h1>Images</h1>'
|
||||
descriptions=getdescriptions(path,list)
|
||||
@@ -200,12 +209,11 @@ def imagelinks(path,list):
|
||||
|
||||
def filescript(path,list):
|
||||
''' Returns the javascript string of filelist '''
|
||||
strout='<script language="javascript">'
|
||||
n=0
|
||||
strout='<script language="javascript">var filelist=['
|
||||
elements=[];
|
||||
for i in list:
|
||||
strout+='filelist.push("'+unicode(i,encoding="utf8").encode('ascii', 'xmlcharrefreplace')+'");'
|
||||
n+=1
|
||||
strout+='</script>'
|
||||
elements.append('"'+unicode(i,encoding="utf8").encode('ascii', 'xmlcharrefreplace')+'"')
|
||||
strout+=','.join(elements)+'];</script>'
|
||||
return strout
|
||||
|
||||
def filelinks(path,list):
|
||||
@@ -385,27 +393,19 @@ def traverse(path,crumbs,inputs,options):
|
||||
filelist=getnonimagelist(path,options)
|
||||
print(str(len(pathlist))+' paths, '+str(len(imagelist))+' images, '+str(len(filelist))+' other files')
|
||||
crumbstring=crumblinks(crumbs,options.gallery,options.parent)
|
||||
if len(pathlist)>0:
|
||||
pathstring=pathlinks(path,pathlist)
|
||||
pathjs=pathscript(path,pathlist)
|
||||
else:
|
||||
pathstring='<div id="pathcontainer"></div>'
|
||||
pathjs=''
|
||||
pathjs=pathscript(path,pathlist)
|
||||
pathstring=pathlinks(path,pathlist)
|
||||
filestring=filelinks(path,filelist)
|
||||
filejs=filescript(path,filelist)
|
||||
if len(imagelist)>0:
|
||||
imagestring=imagelinks(path,imagelist)
|
||||
imagejs=imagescript(path,imagelist)
|
||||
else:
|
||||
imagestring='<div id="thumbcontainer"></div>'
|
||||
imagejs=''
|
||||
|
||||
#filejs=filescript(path,filelist) # Filelist is not currently used in javascript
|
||||
imagestring=imagelinks(path,imagelist)
|
||||
imagejs=imagescript(path,imagelist)
|
||||
|
||||
f=open(os.path.join(path,"index.html"),"w")
|
||||
f.write(header)
|
||||
f.write('<div id="preloadcontainer"></div>')
|
||||
f.write(pathjs)
|
||||
f.write(imagejs)
|
||||
f.write(filejs)
|
||||
#f.write(filejs)
|
||||
f.write(crumbstring)
|
||||
f.write(pathstring)
|
||||
f.write('<div id="imagecontainer">'+getinfo(path,options)+'</div>')
|
||||
|
||||
Reference in New Issue
Block a user