version 1.93, 2006/05/24 09:56:58
|
version 1.98, 2006/07/24 17:31:06
|
Line 49 except:
|
Line 49 except:
|
|
|
manage_options=() |
manage_options=() |
|
|
|
tdir="tmp" |
tdir = "/mpiwg/temp/tmp/archivesImageServer/" |
#tdir = "/mpiwg/temp/tmp/archivesImageServer/" |
#tdir="/tmp/archivesImageServer/" |
#tdir="/tmp/archivesImageServer/" |
|
|
imageExtensions=['jpg','jpeg','tif','tiff','png'] |
imageExtensions=['.jpg','.jpeg','.tif','.tiff','.png','.gif'] |
|
|
def splitPath(str): |
def splitPath(str): |
str2=str.replace("\\","/") |
str2=str.replace("\\","/") |
Line 80 class generateSet:
|
Line 80 class generateSet:
|
"""generateSetThread""" |
"""generateSetThread""" |
|
|
|
|
def __init__(self,filenames,filenamesIds,ImageViewerPath,ids,url,local=None,version="working"): |
def __init__(self,filenames,filenamesIds,ImageViewerPath,ImageStoragePath,destBasis,ids,url,local=None,version="working"): |
"""init generateSet""" |
"""init generateSet""" |
self.filenames=filenames |
self.filenames=filenames |
self.filenamesIds=filenamesIds |
self.filenamesIds=filenamesIds |
self.ImageViewerPath=ImageViewerPath |
self.ImageViewerPath=ImageViewerPath |
|
self.ImageStoragePath=ImageStoragePath |
|
self.destBasis=destBasis |
self.ids=ids |
self.ids=ids |
self.local=local |
self.local=local |
self.url=url |
self.url=url |
self.version=version |
self.version=version |
self.done=None |
self.done=None |
|
self.response="" |
|
|
|
|
def __call__(self): |
def __call__(self): |
Line 115 class generateSet:
|
Line 118 class generateSet:
|
|
|
for id in self.filenames: |
for id in self.filenames: |
|
|
if self.filenamesIds.has_key(id[0]): |
if self.filenamesIds.has_key(id[0]) and self.filenamesIds[id[0]][0]: |
filename=self.filenamesIds[id[0]][0]+"_"+id[0] |
filename=self.filenamesIds[id[0]][0]+"_"+id[0] |
else: |
else: |
filename=id[0] |
filename=id[0] |
|
|
self.response+=str("<p>Get File: %s<br>\n"%filename) |
self.response+=str("<p>Get File: %s<br>\n"%filename) |
|
|
|
toggle=False |
|
|
if self.local: |
if self.local: |
|
|
if self.version=="working": |
if self.version=="working": |
|
|
sourcePath="/mpiwg/temp/online/scaled/small/"+self.ImageViewerPath+"/"+os.path.splitext(id[0])[0]+".jpg" |
sourcePath=self.destBasis+"/"+self.ImageViewerPath+"/"+os.path.splitext(id[0])[0]+".jpg" |
else: |
if not os.path.exists(sourcePath): |
sourcePath="/mpiwg/online/"+self.ImageViewerPath+"/"+id[0] |
self.response+=str("<p>%s doesn't exist I'll try the non scaled image</p>"%sourcePath) |
|
toggle=True |
|
if (self.version!="working") or toggle: |
|
toggle=False |
|
sourcePath=self.ImageStoragePath+"/"+id[0] |
|
if not os.path.exists(sourcePath): |
|
sourcePath=self.ImageStoragePath+"/"+os.path.splitext(id[0])[0]+".jpg" |
|
|
targetPath=tmpPath+"/"+filename |
targetPath=tmpPath+"/"+filename |
try: |
try: |
shutil.copyfile(sourcePath,targetPath) |
shutil.copyfile(sourcePath,targetPath) |
except: |
except: |
self.response+=(str("<p>Error in File: %s (possible missing)<br>\n"%filename)) |
self.response+=(str("<p>Error in File: %s (possible missing)<br>\n"%sourcePath)) |
else: |
else: |
if self.version=="working": |
if self.version=="working": |
requestString=self.ImageViewerPath+"/"+os.path.splitext(urllib.quote(id[0]))[0]+"&dh=2000&dw=2000" |
requestString=self.ImageViewerPath+"/"+os.path.splitext(urllib.quote(id[0]))[0]+"&dh=2000&dw=2000" |
Line 768 class ImageCollection(OrderedFolder, Per
|
Line 779 class ImageCollection(OrderedFolder, Per
|
|
|
|
|
#ret=scaleStr |
#ret=scaleStr |
|
#zLOG.LOG("ImageCollection:scale",zLOG.INFO,scaleStr) |
ret=os.popen2(scaleStr,1)[1].read() |
ret=os.popen2(scaleStr,1)[1].read() |
|
|
if RESPONSE: |
if RESPONSE: |
Line 781 class ImageCollection(OrderedFolder, Per
|
Line 793 class ImageCollection(OrderedFolder, Per
|
|
|
name=os.path.splitext(name)[0] |
name=os.path.splitext(name)[0] |
for extension in imageExtensions: |
for extension in imageExtensions: |
nameExt=name+"."+extension |
nameExt=name+extension |
|
|
if hasattr(self,nameExt): |
if hasattr(self,nameExt): |
return getattr(self,nameExt) |
return getattr(self,nameExt) |
|
|
nameExt=name+"_."+extension |
nameExt=name+"_"+extension |
if hasattr(self,nameExt): |
if hasattr(self,nameExt): |
return getattr(self,nameExt) |
return getattr(self,nameExt) |
|
|
Line 828 class ImageCollection(OrderedFolder, Per
|
Line 840 class ImageCollection(OrderedFolder, Per
|
|
|
|
|
if not threadName or threadName=="": |
if not threadName or threadName=="": |
threadStart=generateSet(self.REQUEST.SESSION['filenames'],self.REQUEST.SESSION['filenamesIds'],self.ImageViewerPath,self.show_thumbs(),self.absolute_url(),local=local,version=version) |
threadStart=generateSet(self.REQUEST.SESSION['filenames'],self.REQUEST.SESSION['filenamesIds'],self.ImageViewerPath,self.ImageStoragePath,self.destBasis,self.show_thumbs(),self.absolute_url(),local=local,version=version) |
thread=Thread(target=threadStart) |
thread=Thread(target=threadStart) |
|
|
thread.start() |
thread.start() |
Line 919 class ImageCollection(OrderedFolder, Per
|
Line 931 class ImageCollection(OrderedFolder, Per
|
dest=os.path.join(self.scaledBasis,'thumb') |
dest=os.path.join(self.scaledBasis,'thumb') |
self.scale(dir=self.getImageStoragePath(),dest=dest,scaleTo=100,RESPONSE=RESPONSE) |
self.scale(dir=self.getImageStoragePath(),dest=dest,scaleTo=100,RESPONSE=RESPONSE) |
#ret=os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl -src=/mpiwg/online/ -dir=%s -dest=/mpiwg/temp/online/scaled/thumb -scaleto=100 &"% self.ImageViewerPath) |
#ret=os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl -src=/mpiwg/online/ -dir=%s -dest=/mpiwg/temp/online/scaled/thumb -scaleto=100 &"% self.ImageViewerPath) |
if RESPONSE: |
#if RESPONSE: |
RESPONSE.write(ret.read()) |
# RESPONSE.write(ret.read()) |
RESPONSE.write("\n") |
# RESPONSE.write("\n") |
|
|
return "RESCALING STARTED" |
return "RESCALING STARTED" |
|
|
Line 1593 class ImageCollection(OrderedFolder, Per
|
Line 1605 class ImageCollection(OrderedFolder, Per
|
return ret |
return ret |
|
|
|
|
def show_thumbs_selected_rows(self,numberOfColumns): |
def show_thumbs_selected_rows(self,numberOfColumns,start=0,max=10000): |
"""Ausgabe anzahl""" |
"""Ausgabe anzahl""" |
ids=self.show_selected_thumbs() |
ids=self.show_selected_thumbs() |
|
|
if not ids: |
if not ids: |
return None |
return None |
self.REQUEST.SESSION['ids']=ids |
self.REQUEST.SESSION['ids']=ids |
number=int(len(ids)/numberOfColumns)+1 |
number=min(start+int(len(ids)/numberOfColumns)+1,max) |
self.REQUEST.SESSION['number']=range(number) |
|
return range(number+1) |
self.REQUEST.SESSION['number']=range(start,number) |
|
return range(start,number+1) |
|
|
def setColTimesRowForm(self): |
def setColTimesRowForm(self): |
"""form for matrix setting""" |
"""form for matrix setting""" |
Line 1775 class ImageCollection(OrderedFolder, Per
|
Line 1788 class ImageCollection(OrderedFolder, Per
|
#FIXME: umlaute in filename |
#FIXME: umlaute in filename |
fn=getattr(self,repr(filename),None) |
fn=getattr(self,repr(filename),None) |
if not fn: |
if not fn: |
filenameM=filename.split(".")[0] |
|
|
if os.path.splitext(filename)[1].lower() in imageExtensions: |
|
filenameM=os.path.splitext(filename)[0] |
|
else: |
|
filenameM=filename |
|
|
|
|
|
|
founds=self.ZopeFind(self,obj_metatypes=['ImageDigilib']) |
founds=self.ZopeFind(self,obj_metatypes=['ImageDigilib']) |
|
|
|
|
for found in founds: |
for found in founds: |
foundM=found[0].split(".")[0] |
if os.path.splitext(found[0])[1].lower() in imageExtensions: |
|
foundM=os.path.splitext(found[0])[0] |
|
else: |
|
foundM=found[0] |
|
|
if filenameM.lower()==foundM.lower(): |
if filenameM.lower()==foundM.lower(): |
if onlyName: |
if onlyName: |