version 1.57, 2005/04/29 18:24:04
|
version 1.60, 2005/06/05 10:10:44
|
Line 16 from types import *
|
Line 16 from types import *
|
import time |
import time |
from threading import Thread |
from threading import Thread |
import Queue |
import Queue |
|
try: |
|
from Products.ZSQLExtend.ZSQLExtend import ZSQLExtendFolder |
|
except: |
|
print "ZSQL Extend Folder nicht importiert" |
|
print "Metadatendfolder funktioniert nicht!!!" |
|
|
try: |
try: |
from Products.ECHO_content.ECHO_collection import ECHO_basis |
from Products.ECHO_content.ECHO_collection import ECHO_basis |
Line 111 class generateSet:
|
Line 116 class generateSet:
|
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"%filename)) |
else: |
else: |
if self.version=="working": |
if self.version=="working": |
path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+os.path.splitext(urllib.quote(id[0]))[0]+"&dh=2000&dw=2000" |
path=self.scalerPath+self.ImageViewerPath+"/"+os.path.splitext(urllib.quote(id[0]))[0]+"&dh=2000&dw=2000" |
else: |
else: |
path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+os.path.splitext(urllib.quote(id[0]))[0]+"&mo=rawfile,hires" |
path=self.scalerPath+self.ImageViewerPath+"/"+os.path.splitext(urllib.quote(id[0]))[0]+"&mo=rawfile,hires" |
image=urllib.urlopen(path).read() |
image=urllib.urlopen(path).read() |
|
|
|
|
Line 155 class generateSet:
|
Line 160 class generateSet:
|
self.response+=str("<p>Error in File: %s (missing?)<br>\n"%filename) |
self.response+=str("<p>Error in File: %s (missing?)<br>\n"%filename) |
|
|
else: |
else: |
path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+os.path.splitext(ids[nr+i])[0]+"&mo=rawfile,hires" |
path=self.scalerPath+self.ImageViewerPath+"/"+os.path.splitext(ids[nr+i])[0]+"&mo=rawfile,hires" |
|
|
image=urllib.urlopen(path).read() |
image=urllib.urlopen(path).read() |
|
|
Line 332 class ImageDigilib(Folder,Persistent,Imp
|
Line 337 class ImageDigilib(Folder,Persistent,Imp
|
|
|
def download(self,fmt="&mo=rawfile,hires",suffix=None): |
def download(self,fmt="&mo=rawfile,hires",suffix=None): |
"""download""" |
"""download""" |
path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+os.path.splitext(self.filename)[0]+fmt |
path=self.scalerPath+self.ImageViewerPath+"/"+os.path.splitext(self.filename)[0]+fmt |
|
|
if self.REQUEST.SESSION.has_key('filenamesIds') and self.REQUEST.SESSION['filenamesIds'].has_key(self.filename): |
if self.REQUEST.SESSION.has_key('filenamesIds') and self.REQUEST.SESSION['filenamesIds'].has_key(self.filename): |
filename=self.REQUEST.SESSION['filenamesIds'][self.filename][0]+"_"+self.filename |
filename=self.REQUEST.SESSION['filenamesIds'][self.filename][0]+"_"+self.filename |
Line 463 class ImageDigilib(Folder,Persistent,Imp
|
Line 468 class ImageDigilib(Folder,Persistent,Imp
|
def thumb(self,url=None): |
def thumb(self,url=None): |
"""show thumb""" |
"""show thumb""" |
thumbname=os.path.splitext(self.filename)[0]+".jpg" |
thumbname=os.path.splitext(self.filename)[0]+".jpg" |
## if not os.path.exists("/mpiwg/temp/online/scaled/small/"+self.ImageViewerPath+"/"+thumbname): |
|
## image=urllib.urlopen("http://nausikaa2.rz-berlin.mpg.de:18080/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+self.filename+"&dw=150&mo=lores").read() |
|
## f=open("/mpiwg/temp/online/scaled/small/"+self.ImageViewerPath+"/"+thumbname,"w") |
|
## f.write(image) |
|
## f.close() |
|
## os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/small 150 &"% self.ImageViewerPath) |
|
|
|
#DEVEL:take nausikaa for server solution |
path=self.scalerPath+self.ImageViewerPath+"/"+os.path.splitext(self.filename)[0]+"&dw=100&dh=100&mo=lores" |
|
|
path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+os.path.splitext(self.filename)[0]+"&dw=100&dh=100&mo=lores" |
|
#path="/mpiwg/online/"+self.ImageViewerPath+"/"+thumbname |
|
self.REQUEST.SESSION['string']="<img border=\"0\" src=\"%s\">"% path |
self.REQUEST.SESSION['string']="<img border=\"0\" src=\"%s\">"% path |
if url: |
if url: |
return "<img border=\"0\" src=\"%s\">"% path |
return "<img border=\"0\" src=\"%s\">"% path |
Line 481 class ImageDigilib(Folder,Persistent,Imp
|
Line 478 class ImageDigilib(Folder,Persistent,Imp
|
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','thumb.zpt')).__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','thumb.zpt')).__of__(self) |
return pt() |
return pt() |
|
|
|
|
|
def thumbMD(self,url=None): |
|
"""show thumb mit Metadaten erwarten image in ImageCollectionMD |
|
""" |
|
thumbname=os.path.splitext(self.filename)[0]+".jpg" |
|
|
|
path=self.scalerPath+self.ImageViewerPath+"/"+os.path.splitext(self.filename)[0]+"&dw=100&dh=100&mo=lores" |
|
|
|
self.REQUEST.SESSION['string']="<img border=\"0\" src=\"%s\">"% path |
|
if url: |
|
return "<img border=\"0\" src=\"%s\">"% path |
|
else: |
|
|
|
overview=self.ZopeFind(self.aq_parent,obj_ids=['thumb.html']) |
|
if overview: |
|
return getattr(self,overview[0][0])() |
|
else: |
|
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','thumbMD.zpt')).__of__(self) |
|
return pt() |
|
|
|
|
|
|
def index_html(self): |
def index_html(self): |
"""show image""" |
"""show image""" |
#DEVELOP: take first one for server |
#DEVELOP: take first one for server |
Line 514 class ImageCollection(Folder, Persistent
|
Line 533 class ImageCollection(Folder, Persistent
|
"""Sammelordner für Bilder""" |
"""Sammelordner für Bilder""" |
meta_type="ImageCollection" |
meta_type="ImageCollection" |
|
|
|
scalerPath="http://127.0.0.1:18080/digitallibrary/servlet/Scaler/?fn=" |
|
#scalerPath="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn=" |
|
|
zipThreads={} |
zipThreads={} |
zipThreads2={} |
zipThreads2={} |
Line 886 class ImageCollection(Folder, Persistent
|
Line 907 class ImageCollection(Folder, Persistent
|
|
|
RESPONSE.redirect('manage_main') |
RESPONSE.redirect('manage_main') |
|
|
def importStructure(self,path): |
## def importStructure(self,path): |
"""import""" |
## """import""" |
splitted=os.path.split(path) |
## splitted=os.path.split(path) |
if os.path.isDir(path) and (len(splitted[1])>0) and (splitted[1][0]=="."): |
## if os.path.isDir(path) and (len(splitted[1])>0) and (splitted[1][0]=="."): |
manage_AddImageCollection(self,splitted[1],splitted[1],path,self.ImageViewerPath,self.defaultMetaString,RESPONSE=None) |
## manage_AddImageCollection(self,splitted[1],splitted[1],path,self.ImageViewerPath,self.defaultMetaString,RESPONSE=None) |
|
|
obj=getattr(self,splitted[1]) |
## obj=getattr(self,splitted[1]) |
obj.ImportFiles() |
## obj.ImportFiles() |
|
|
def ImportStructure(self,RESPONSE=None): |
def ImportStructure(self,RESPONSE=None): |
"""Import the existing files of a folder""" |
"""Import the existing files of a folder""" |
Line 1383 class ImageCollection(Folder, Persistent
|
Line 1404 class ImageCollection(Folder, Persistent
|
return filename |
return filename |
else: |
else: |
return fn |
return fn |
def index_html(self): |
def index_html(self,fn=None): |
"""main template collection""" |
"""main template collection""" |
|
|
|
if fn: |
|
ret=[] |
|
|
|
if type(fn) is ListType: |
|
"""experimentell mehr als ein filename""" |
|
for filename in fn: |
|
if not (filename == ""): |
|
ret.append((filename,'',1)) |
|
else: |
|
ret.append((fn,'',1)) |
|
|
|
self.REQUEST.SESSION['filenames']=ret |
|
#self.REQUEST.SESSION['filenamesIds']=fnIds |
|
|
|
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','overview_selected.zpt')).__of__(self) |
|
return pt() |
|
|
if self.REQUEST.has_key('filename'): |
if self.REQUEST.has_key('filename'): |
filen=self.REQUEST['filename'] |
filen=self.REQUEST['filename'] |
else: |
else: |
Line 1399 class ImageCollection(Folder, Persistent
|
Line 1438 class ImageCollection(Folder, Persistent
|
self.REQUEST.SESSION['showall']=self.REQUEST.SESSION.get('showall','no') |
self.REQUEST.SESSION['showall']=self.REQUEST.SESSION.get('showall','no') |
|
|
|
|
|
overview=self.ZopeFind(self,obj_ids=['overview.html']) |
|
if overview: |
|
return overview[0][1]() |
|
else: |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','overview.zpt')).__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','overview.zpt')).__of__(self) |
return pt() |
return pt() |
|
|
Line 1416 def manage_AddImageCollection(self,id,ti
|
Line 1459 def manage_AddImageCollection(self,id,ti
|
RESPONSE.redirect('manage_main') |
RESPONSE.redirect('manage_main') |
|
|
|
|
|
|
|
class ImageCollectionMD(ImageCollection,ZSQLExtendFolder): |
|
"""Imageviewer and Metadata""" |
|
meta_type="ImageCollection MD" |
|
scalerPath="http://127.0.0.1:18080/digitallibrary/servlet/Scaler/?fn=" |
|
#scalerPath="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn=" |
|
manage_options=ImageCollection.manage_options+( |
|
{'label':'ZSQLExtend','action':'changeZSQLExtendForm'}, |
|
) |
|
|
|
changeZSQLExtendForm=ZSQLExtendFolder.changeZSQLExtendForm |
|
|
|
def setGenericSearchStringForm(self): |
|
"""form setze generischen search string fuer MD""" |
|
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','setGenericSearchStringForm.zpt')).__of__(self) |
|
return pt() |
|
|
|
def setGenericSearchString(self,searchString): |
|
"""setze generischen search string""" |
|
self.searchString=searchString |
|
|
|
def thumblistMD(self): |
|
"""main template collection""" |
|
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','thumbListMD.zpt')).__of__(self) |
|
return pt() |
|
|
|
|
|
def manage_AddImageCollectionMDForm(self): |
|
"""Nothing yet""" |
|
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','AddImageCollectionFormMD.zpt')).__of__(self) |
|
return pt() |
|
|
|
def manage_AddImageCollectionMD(self,id,title,ImageStoragePath,ImageViewerPath,defaultMetaString,RESPONSE=None): |
|
"""Add ImageCollection""" |
|
newObj=ImageCollectionMD(id,title,ImageStoragePath,ImageViewerPath,defaultMetaString) |
|
self._setObject(id,newObj) |
|
|
|
if RESPONSE is not None: |
|
RESPONSE.redirect('manage_main') |
|
|
|
|
|
|
|
|
class ImageCollectionIFrame(ImageCollection): |
class ImageCollectionIFrame(ImageCollection): |
"""Class fuer Collection set als IFrame""" |
"""Class fuer Collection set als IFrame""" |
|
|