version 1.83, 2006/05/17 15:41:22
|
version 1.89, 2006/05/22 13:54:37
|
Line 1
|
Line 1
|
genericServerPath="http://www.mpiwg-berlin.mpg.de/zogilib_images" #can be changed with main config |
genericServerPath="http://www.mpiwg-berlin.mpg.de/zogilib_images" #can be changed with main config |
|
|
|
|
|
from Ft.Xml.Domlette import NonvalidatingReader |
from OFS.Folder import Folder |
from OFS.Folder import Folder |
from OFS.OrderedFolder import OrderedFolder |
from OFS.OrderedFolder import OrderedFolder |
from OFS.SimpleItem import SimpleItem |
from OFS.SimpleItem import SimpleItem |
Line 390 class ImageDigilib(Folder,Persistent,Imp
|
Line 390 class ImageDigilib(Folder,Persistent,Imp
|
"""hack""" |
"""hack""" |
#scale thumb |
#scale thumb |
|
|
#self.scaleThumbs() |
self.scaleThumbs() |
|
|
#scale standard |
#scale standard |
|
|
#self.scaleWorkingVersions() |
self.scaleWorkingVersions() |
|
|
|
|
|
|
Line 480 class ImageDigilib(Folder,Persistent,Imp
|
Line 480 class ImageDigilib(Folder,Persistent,Imp
|
|
|
#scale thumb |
#scale thumb |
|
|
#self.scaleThumbs() |
self.scaleThumbs() |
|
|
#scale standard |
#scale standard |
|
|
#self.scaleWorkingVersions() |
self.scaleWorkingVersions() |
|
|
|
|
if RESPONSE: |
if RESPONSE: |
Line 522 class ImageDigilib(Folder,Persistent,Imp
|
Line 522 class ImageDigilib(Folder,Persistent,Imp
|
zLOG.LOG("ImageArchive:updateImage", zLOG.ERROR, "rename: %s -> %s didn't work!"%(imagePath,imageNewPath)) |
zLOG.LOG("ImageArchive:updateImage", zLOG.ERROR, "rename: %s -> %s didn't work!"%(imagePath,imageNewPath)) |
|
|
#lesen des upload files und schreiben |
#lesen des upload files und schreiben |
filedata=file.read() |
filedata=_fileupload.read() |
f=open(imagePath,"w") # if we wanted to have filename=id we should do it here! |
f=open(imagePath,"w") # if we wanted to have filename=id we should do it here! |
f.write(filedata) |
f.write(filedata) |
f.close() |
f.close() |
Line 532 class ImageDigilib(Folder,Persistent,Imp
|
Line 532 class ImageDigilib(Folder,Persistent,Imp
|
pass |
pass |
#scale thumb |
#scale thumb |
|
|
#self.scaleThumbs() |
self.scaleThumbs() |
|
|
#scale standard |
#scale standard |
|
|
#self.scaleWorkingVersions() |
self.scaleWorkingVersions() |
|
|
if _rename: |
if _rename: |
self.renameImage(file.filename) |
self.renameImage(_fileupload.filename) |
|
|
|
|
args=self.REQUEST.form |
args=self.REQUEST.form |
Line 789 class ImageCollection(OrderedFolder, Per
|
Line 789 class ImageCollection(OrderedFolder, Per
|
"""scale thumbs""" |
"""scale thumbs""" |
|
|
#scale thumbs |
#scale thumbs |
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("/docuserver/libs/scaleomat/scaleomat.pl -src=/docuserver/images/ -dir=%s -dest=/docuserver/scaled/thumb -scaleto=100 &"% self.ImageViewerPath) |
if RESPONSE: |
if RESPONSE: |
RESPONSE.write(ret.read()) |
RESPONSE.write(ret.read()) |
RESPONSE.write("\n") |
RESPONSE.write("\n") |
Line 801 class ImageCollection(OrderedFolder, Per
|
Line 801 class ImageCollection(OrderedFolder, Per
|
|
|
#scale standard |
#scale standard |
|
|
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/small -scaleto=2000 &"% self.ImageViewerPath) |
ret=os.popen("/docuserver/libs/scaleomat/scaleomat.pl -src=/docuserver/images -dir=%s -dest=/docuserver/scaled/small -scaleto=1000 &"% self.ImageViewerPath) |
|
|
|
ret=os.popen("/docuserver/libs/scaleomat/scaleomat.pl -src=/docuserver/images -dir=%s -dest=/docuserver/scaled/medium -scaleto=2000 &"% self.ImageViewerPath) |
|
|
if RESPONSE: |
if RESPONSE: |
RESPONSE.write(ret.read()) |
RESPONSE.write(ret.read()) |
RESPONSE.write("\n") |
RESPONSE.write("\n") |
Line 1075 class ImageCollection(OrderedFolder, Per
|
Line 1078 class ImageCollection(OrderedFolder, Per
|
|
|
#scale thumb |
#scale thumb |
|
|
#self.scaleThumbs() |
self.scaleThumbs() |
|
|
#scale standard |
#scale standard |
|
|
#self.scaleWorkingVersions() |
self.scaleWorkingVersions() |
|
|
|
|
RESPONSE.redirect('manage_main') |
RESPONSE.redirect('manage_main') |
Line 1129 class ImageCollection(OrderedFolder, Per
|
Line 1132 class ImageCollection(OrderedFolder, Per
|
|
|
#scale thumb |
#scale thumb |
|
|
#self.scaleThumbs() |
self.scaleThumbs() |
|
|
#scale standard |
#scale standard |
|
|
#self.scaleWorkingVersions() |
self.scaleWorkingVersions() |
|
|
if RESPONSE: |
if RESPONSE: |
RESPONSE.redirect('manage_main') |
RESPONSE.redirect('manage_main') |
Line 1163 class ImageCollection(OrderedFolder, Per
|
Line 1166 class ImageCollection(OrderedFolder, Per
|
|
|
#scale thumb |
#scale thumb |
|
|
#self.scaleThumbs() |
self.scaleThumbs() |
|
|
#scale standard |
#scale standard |
|
|
Line 1631 class ImageCollection(OrderedFolder, Per
|
Line 1634 class ImageCollection(OrderedFolder, Per
|
|
|
def getImageByName(self,filename,onlyName=None): |
def getImageByName(self,filename,onlyName=None): |
"""get filename""" |
"""get filename""" |
print repr(filename) |
#print repr(filename) |
#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: |
Line 1789 class ImageCollectionMD(ImageCollection,
|
Line 1792 class ImageCollectionMD(ImageCollection,
|
#scale thumb |
#scale thumb |
|
|
|
|
#self.scaleThumbs() |
self.scaleThumbs() |
|
|
#scale standard |
#scale standard |
|
|
#self.scaleWorkingVersions() |
self.scaleWorkingVersions() |
|
|
if RESPONSE: |
if RESPONSE: |
RESPONSE.redirect('manage_main') |
RESPONSE.redirect('manage_main') |
Line 1870 class ImageCollectionMD(ImageCollection,
|
Line 1873 class ImageCollectionMD(ImageCollection,
|
|
|
def searchDB(self,REQUEST=None,RESPONSE=None,xml=None): |
def searchDB(self,REQUEST=None,RESPONSE=None,xml=None): |
"""search""" |
"""search""" |
#context.ZSQLFind(_table='vision_main') |
|
urlTmp=REQUEST['URL1'] |
|
|
|
url=urlTmp+'/searchResultXML?-table=%s&'%self.imageCollectionConfig.getTable()+REQUEST['QUERY_STRING'] |
rc=[] |
|
fnIds={} |
|
for found in self.ZSQLInlineSearch(args=self.REQUEST.form): |
|
key=getattr(found,self.imageCollectionConfig.getKey()) |
|
key=self.getImageByName(key,onlyName="yes") |
|
rc.append((key,'',0)) |
|
fnIds[key]=('',0) |
|
|
|
rc.sort() |
|
self.REQUEST.SESSION['filenames']=rc |
|
self.REQUEST.SESSION['filenamesIds']=fnIds |
|
|
if xml is None: |
overview=self.ZopeFind(self,obj_ids=['overview_selectedMD.html']) |
RESPONSE.redirect('xmlinput?url='+urllib.quote(url)) |
|
|
if overview: |
|
return overview[0][1]() |
else: |
else: |
RESPONSE.redirect(url) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','overview_selectedMD.zpt')).__of__(self) |
|
return pt() |
|
|
|
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','overview_selectedMD.zpt')).__of__(self) |
|
return pt() |
|
|
|
#urlTmp=REQUEST['URL1'] |
|
|
|
#url=urlTmp+'/searchResultXML?-table=%s&'%self.imageCollectionConfig.getTable()+REQUEST['QUERY_STRING'] |
|
|
|
#if xml is None: |
|
# RESPONSE.redirect('xmlinput?url='+urllib.quote(url)) |
|
#else: |
|
# RESPONSE.redirect(url) |
|
|
def index_html(self,fn=None,selection=None,generic='No',REQUEST=None,RESPONSE=None): |
def index_html(self,fn=None,selection=None,generic='No',REQUEST=None,RESPONSE=None): |
"""main template collection""" |
"""main template collection""" |
Line 1919 class ImageCollectionMD(ImageCollection,
|
Line 1945 class ImageCollectionMD(ImageCollection,
|
|
|
self.REQUEST.SESSION['filename']=filen[0:] |
self.REQUEST.SESSION['filename']=filen[0:] |
|
|
if not self.REQUEST.SESSION['filename']=="": |
# if not self.REQUEST.SESSION['filename']=="": |
url=getattr(self.getImageByName(self.REQUEST.SESSION['filename']),'absolute_url')() |
# url=getattr(self.getImageByName(self.REQUEST.SESSION['filename']),'absolute_url')() |
if mode=="view": |
# if mode=="view": |
self.REQUEST.RESPONSE.redirect(url) |
# self.REQUEST.RESPONSE.redirect(url) |
elif mode=="download": |
# elif mode=="download": |
self.REQUEST.RESPONSE.redirect(url+"/download") |
# self.REQUEST.RESPONSE.redirect(url+"/download") |
|
# |
if self.REQUEST.has_key('showall'): |
if self.REQUEST.has_key('showall'): |
|
|
self.REQUEST.SESSION['showall']=self.REQUEST.get('showall') |
self.REQUEST.SESSION['showall']=self.REQUEST.get('showall') |
Line 1939 class ImageCollectionMD(ImageCollection,
|
Line 1965 class ImageCollectionMD(ImageCollection,
|
|
|
|
|
if overview and (generic =='No'):# |
if overview and (generic =='No'):# |
print "selected" |
|
print repr(overview[0][1]) |
|
return overview[0][1]() |
return overview[0][1]() |
else: |
else: |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','overview_selectedMD.zpt')).__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','overview_selectedMD.zpt')).__of__(self) |
Line 2056 class ImageCollectionMD(ImageCollection,
|
Line 2081 class ImageCollectionMD(ImageCollection,
|
xmldoc=urllib.urlopen(url).read() |
xmldoc=urllib.urlopen(url).read() |
#return xmldoc |
#return xmldoc |
try: |
try: |
dom=xml.dom.minidom.parseString(xmldoc) |
dom=NonvalidatingReader.parseUri(url) |
|
|
except: |
except: |
return "ERROR: (%s %s) %s"%(sys.exc_info()[0],sys.exc_info()[1],xmldoc) |
return "ERROR: (%s %s) %s"%(sys.exc_info()[0],sys.exc_info()[1],xmldoc) |
|
|
images=dom.getElementsByTagName('image') |
|
|
|
|
imagenames=dom.xpath("//imagename") |
rc=[] |
rc=[] |
fnIds={} |
fnIds={} |
for image in images: |
for imagename in imagenames: |
imagename=image.getElementsByTagName('imagename')[0] |
|
|
|
|
#imagename=image.xpath('./imagename')[0] |
|
#print "im",imagename |
|
|
|
|
|
|
idnr=image.getElementsByTagName('idnr')[0] |
idnr=imagename.xpath('../idnr')[0] |
id=getText(idnr.childNodes) |
id=getText(idnr.childNodes) |
try: |
try: |
numberOfPages=image.getElementsByTagName('numberOfPages')[0] |
numberOfPages=imagename.xpath('../numberOfPages')[0] |
except: |
except: |
numberOfPages=None |
numberOfPages=None |
|
|
Line 2089 class ImageCollectionMD(ImageCollection,
|
Line 2116 class ImageCollectionMD(ImageCollection,
|
texts=getText(imagename.childNodes).split("\n") #mehrere bilder in return getrennter liste |
texts=getText(imagename.childNodes).split("\n") #mehrere bilder in return getrennter liste |
for text in texts: |
for text in texts: |
if not text=="": |
if not text=="": |
|
#print "a" |
text=self.getImageByName(text,onlyName="yes") |
text=self.getImageByName(text,onlyName="yes") |
|
#print "b" |
try: |
try: |
rc.append((str(text),id,nop)) |
rc.append((str(text),id,nop)) |
fnIds[str(text)]=(id,nop) |
fnIds[str(text)]=(id,nop) |
Line 2097 class ImageCollectionMD(ImageCollection,
|
Line 2126 class ImageCollectionMD(ImageCollection,
|
rc.append((repr(text),id,nop)) |
rc.append((repr(text),id,nop)) |
fnIds[repr(text)]=(id,nop) |
fnIds[repr(text)]=(id,nop) |
|
|
|
#print "done" |
rc.sort() |
rc.sort() |
self.REQUEST.SESSION['filenames']=rc |
self.REQUEST.SESSION['filenames']=rc |
self.REQUEST.SESSION['filenamesIds']=fnIds |
self.REQUEST.SESSION['filenamesIds']=fnIds |