version 1.62, 2005/07/06 16:37:01
|
version 1.65, 2005/10/11 20:08:10
|
Line 1
|
Line 1
|
|
|
|
#genericServerPath="http://content.mpiwg-berlin.mpg.de/zogilib_images" |
|
genericServerPath="http://127.0.0.1:8080/zogilib_images" |
|
|
|
|
from OFS.Folder import Folder |
from OFS.Folder import Folder |
from OFS.SimpleItem import SimpleItem |
from OFS.SimpleItem import SimpleItem |
from Globals import Persistent,package_home |
from Globals import Persistent,package_home |
Line 19 from threading import Thread
|
Line 24 from threading import Thread
|
import Queue |
import Queue |
import cgi |
import cgi |
|
|
|
from AccessControl import ClassSecurityInfo |
|
|
try: |
try: |
from Products.ZSQLExtend.ZSQLExtend import ZSQLExtendFolder |
from Products.ZSQLExtend.ZSQLExtend import ZSQLExtendFolder |
except: |
except: |
print "ZSQL Extend Folder nicht importiert" |
print "ZSQL Extend Folder nicht importiert" |
print "Metadatendfolder funktioniert nicht!!!" |
print "Metadatendfolder funktioniert nicht!!!" |
|
|
|
|
|
|
try: |
try: |
from Products.ECHO_content.ECHO_collection import ECHO_basis |
from Products.ECHO_content.ECHO_collection import ECHO_basis |
except: |
except: |
Line 105 class generateSet:
|
Line 114 class generateSet:
|
|
|
self.response+=str("<p>Get File: %s<br>\n"%filename) |
self.response+=str("<p>Get File: %s<br>\n"%filename) |
|
|
|
|
if self.local: |
if self.local: |
|
|
if self.version=="working": |
if self.version=="working": |
Line 119 class generateSet:
|
Line 129 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=self.scalerPath+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" |
|
path=getattr(self,'serverPath',genericServerPath)+"/scaledImage?fn="+requestString |
|
|
else: |
else: |
path=self.scalerPath+self.ImageViewerPath+"/"+os.path.splitext(urllib.quote(id[0]))[0]+"&mo=rawfile,hires" |
requestString=self.ImageViewerPath+"/"+os.path.splitext(urllib.quote(id[0]))[0]+"&mo=rawfile,hires" |
|
path=getattr(self,'serverPath',genericServerPath)+"/scaledImage?fn="+requestString |
|
|
|
|
image=urllib.urlopen(path).read() |
image=urllib.urlopen(path).read() |
|
|
|
|
Line 132 class generateSet:
|
Line 147 class generateSet:
|
fh.close() |
fh.close() |
|
|
#folgeseiten |
#folgeseiten |
|
|
if int(self.filenamesIds[id[0]][1])>1: |
if int(self.filenamesIds[id[0]][1])>1: |
#ids=self.show_thumbs() |
#ids=self.show_thumbs() |
|
|
Line 163 class generateSet:
|
Line 179 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=self.scalerPath+self.ImageViewerPath+"/"+os.path.splitext(ids[nr+i])[0]+"&mo=rawfile,hires" |
|
|
requestString=self.ImageViewerPath+"/"+os.path.splitext(ids[nr+i])[0]+"&mo=rawfile,hires" |
|
path=getattr(self,'serverPath',genericServerPath)+"/scaledImage?fn="+requestString |
|
|
image=urllib.urlopen(path).read() |
image=urllib.urlopen(path).read() |
|
|
Line 251 class metaData(SimpleItem):
|
Line 269 class metaData(SimpleItem):
|
class ImageDigilib(Folder,Persistent,Implicit): |
class ImageDigilib(Folder,Persistent,Implicit): |
"""Anzeige object fuer digilib""" |
"""Anzeige object fuer digilib""" |
meta_type="ImageDigilib" |
meta_type="ImageDigilib" |
|
security=ClassSecurityInfo() |
leiden_meta_fields=['image_id','date','country','place','people','description','photographer'] |
leiden_meta_fields=['image_id','date','country','place','people','description','photographer'] |
|
|
manage_options = Folder.manage_options+( |
manage_options = Folder.manage_options+( |
Line 289 class ImageDigilib(Folder,Persistent,Imp
|
Line 307 class ImageDigilib(Folder,Persistent,Imp
|
self.filename=filename |
self.filename=filename |
self.meta=meta |
self.meta=meta |
|
|
|
|
def getMeta(self): |
def getMeta(self): |
"""ausgabe der metadaten""" |
"""ausgabe der metadaten""" |
return self.meta |
return self.meta |
Line 342 class ImageDigilib(Folder,Persistent,Imp
|
Line 361 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=self.scalerPath+self.ImageViewerPath+"/"+os.path.splitext(self.filename)[0]+fmt |
|
|
requestString=self.ImageViewerPath+"/"+os.path.splitext(self.filename)[0]+fmt |
|
path=getattr(self,'serverPath',genericServerPath)+"/scaledImage?fn="+requestString |
|
|
|
|
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 366 class ImageDigilib(Folder,Persistent,Imp
|
Line 388 class ImageDigilib(Folder,Persistent,Imp
|
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','upDateImageForm.zpt')).__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','upDateImageForm.zpt')).__of__(self) |
return pt() |
return pt() |
|
|
|
|
|
security.declareProtected('View management screens','renameImageForm') |
def renameImageForm(self): |
def renameImageForm(self): |
"""form""" |
"""form""" |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','renameImageForm.zpt')).__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','renameImageForm.zpt')).__of__(self) |
return pt() |
return pt() |
|
|
|
security.declareProtected('View management screens','renameImage') |
def renameImage(self,newname,RESPONSE=None): |
def renameImage(self,newname,RESPONSE=None): |
"""umbenennen""" |
"""umbenennen""" |
#umbennen des files im folder |
#umbennen des files im folder |
Line 473 class ImageDigilib(Folder,Persistent,Imp
|
Line 498 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" |
|
requestString=self.ImageViewerPath+"/"+os.path.splitext(self.filename)[0]+"&dw=100&dh=100&mo=lores" |
|
path=getattr(self,'serverPath',genericServerPath)+"/scaledImage?fn="+requestString |
|
|
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 |
self.REQUEST.SESSION['string']="<img border=\"0\" src=\"%s\">"% path |
if url: |
if url: |
Line 489 class ImageDigilib(Folder,Persistent,Imp
|
Line 515 class ImageDigilib(Folder,Persistent,Imp
|
""" |
""" |
thumbname=os.path.splitext(self.filename)[0]+".jpg" |
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" |
requestString=self.ImageViewerPath+"/"+os.path.splitext(self.filename)[0]+"&dw=100&dh=100&mo=lores" |
|
path=getattr(self,'serverPath',genericServerPath)+"/scaledImage?fn="+requestString |
|
|
|
|
|
|
self.REQUEST.SESSION['string']="<img border=\"0\" src=\"%s\">"% path |
self.REQUEST.SESSION['string']="<img border=\"0\" src=\"%s\">"% path |
if url: |
if url: |
Line 504 class ImageDigilib(Folder,Persistent,Imp
|
Line 533 class ImageDigilib(Folder,Persistent,Imp
|
return pt() |
return pt() |
|
|
|
|
|
def image(self,dw=None,dh=None): |
|
"""show image only with scaler""" |
|
str=[] |
|
if (not dw) and (not dh): |
|
str.append("mo=file") |
|
if dw: |
|
str.append("dw=%s"%dw) |
|
|
|
if dh: |
|
str.append("dw=%s"%dh) |
|
|
|
str.append("lv=2&fn=%s"%self.ImageViewerPath+"/"+os.path.splitext(self.filename)[0]) |
|
|
|
|
|
requestString="&".join(str) |
|
|
|
self.REQUEST.RESPONSE.redirect(getattr(self,'serverPath',genericServerPath)+"/scaledImage?"+requestString) |
|
|
def index_html(self): |
def index_html(self): |
"""show image""" |
"""show image with zogilib""" |
#DEVELOP: take first one for server |
#DEVELOP: take first one for server |
#path="http://127.0.0.1:8080/zogilib_images?lv=2&fn="+self.ImageViewerPath+"/"+os.path.splitext(self.filename)[0] |
#path="http://127.0.0.1:8080/zogilib_images?lv=2&fn="+self.ImageViewerPath+"/"+os.path.splitext(self.filename)[0] |
path="http://content.mpiwg-berlin.mpg.de/zogilib_images?lv=2&fn="+self.ImageViewerPath+"/"+os.path.splitext(self.filename)[0] |
path=getattr(self,'serverPath',genericServerPath)+"?lv=2&fn="+self.ImageViewerPath+"/"+os.path.splitext(self.filename)[0] |
return self.REQUEST.RESPONSE.redirect(path) |
return self.REQUEST.RESPONSE.redirect(path) |
|
|
|
|
Line 534 def manage_AddImageDigilib(self,id,fileu
|
Line 580 def manage_AddImageDigilib(self,id,fileu
|
|
|
|
|
class ImageCollection(Folder, Persistent, Implicit,ECHO_basis): |
class ImageCollection(Folder, Persistent, Implicit,ECHO_basis): |
|
"""Sammelordner fuer Bilder""" |
"""Sammelordner für Bilder""" |
|
meta_type="ImageCollection" |
meta_type="ImageCollection" |
|
|
|
|
|
security=ClassSecurityInfo() |
|
|
#scalerPath="http://127.0.0.1:18080/digitallibrary/servlet/Scaler/?fn=" |
#scalerPath="http://127.0.0.1:18080/digitallibrary/servlet/Scaler/?fn=" |
scalerPath="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn=" |
#scalerPath="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn=" |
|
|
zipThreads={} |
zipThreads={} |
zipThreads2={} |
zipThreads2={} |
Line 553 class ImageCollection(Folder, Persistent
|
Line 601 class ImageCollection(Folder, Persistent
|
|
|
def getScalerPath(self): |
def getScalerPath(self): |
"""get ScalerPath""" |
"""get ScalerPath""" |
return self.scalerPath |
path=getattr(self,'serverPath',genericServerPath)+"/scaledImage?fn=" |
|
|
def getImageViewerPath(self): |
def getImageViewerPath(self): |
"""get ImageViewerPath""" |
"""get ImageViewerPath""" |
Line 673 class ImageCollection(Folder, Persistent
|
Line 721 class ImageCollection(Folder, Persistent
|
|
|
|
|
|
|
def __init__(self,id,title,ImageStoragePath,ImageViewerPath,defaultMetaString): |
def __init__(self,id,title,ImageStoragePath,ImageViewerPath,defaultMetaString,serverPath=genericServerPath): |
self.id=id |
self.id=id |
self.title=title |
self.title=title |
self.ImageStoragePath=ImageStoragePath |
self.ImageStoragePath=ImageStoragePath |
self.ImageViewerPath=ImageViewerPath |
self.ImageViewerPath=ImageViewerPath |
self.defaultMetaString=defaultMetaString |
self.defaultMetaString=defaultMetaString |
|
self.serverPath=serverPath |
|
|
optTMP= Folder.manage_options |
optTMP= Folder.manage_options |
|
|
Line 811 class ImageCollection(Folder, Persistent
|
Line 860 class ImageCollection(Folder, Persistent
|
|
|
|
|
def xmlinput(self,url): |
def xmlinput(self,url): |
"""Anzeige von ausgewaehlten thumbs""" |
"""Anzeige <n ausgewaehlten thumbs""" |
#return url |
#return url |
|
|
url=urllib.unquote(url) |
url=urllib.unquote(url) |
Line 1420 class ImageCollection(Folder, Persistent
|
Line 1469 class ImageCollection(Folder, Persistent
|
return filename |
return filename |
else: |
else: |
return fn |
return fn |
|
|
|
|
|
security.declareProtected('View','index_html') |
def index_html(self,fn=None): |
def index_html(self,fn=None): |
"""main template collection""" |
"""main template collection""" |
|
|
Line 1485 class ImageCollectionMD(ImageCollection,
|
Line 1537 class ImageCollectionMD(ImageCollection,
|
{'label':'ZSQLExtend','action':'changeZSQLExtendForm'}, |
{'label':'ZSQLExtend','action':'changeZSQLExtendForm'}, |
) |
) |
|
|
|
try: |
changeZSQLExtendForm=ZSQLExtendFolder.changeZSQLExtendForm |
changeZSQLExtendForm=ZSQLExtendFolder.changeZSQLExtendForm |
|
except: |
|
pass |
|
|
def setGenericSearchStringForm(self): |
def setGenericSearchStringForm(self): |
"""form setze generischen search string fuer MD""" |
"""form setze generischen search string fuer MD""" |
Line 1579 class ImageZogiLib(ImageDigilib):
|
Line 1634 class ImageZogiLib(ImageDigilib):
|
ImageViewerPath und ImageStoragePath und wenn vorhanden Pfad zur Collection |
ImageViewerPath und ImageStoragePath und wenn vorhanden Pfad zur Collection |
werden zusaetzlich abgespeichert |
werden zusaetzlich abgespeichert |
""" |
""" |
|
#TODO: scaler path notwendig? |
meta_type="ImageZogiLib" |
meta_type="ImageZogiLib" |
|
|
manage_options=ImageDigilib.manage_options+( |
manage_options=ImageDigilib.manage_options+( |