--- ImageArchive/ImageArchive.py 2006/05/17 20:18:38 1.86 +++ ImageArchive/ImageArchive.py 2006/05/17 20:37:29 1.87 @@ -1,7 +1,7 @@ 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.OrderedFolder import OrderedFolder from OFS.SimpleItem import SimpleItem @@ -1631,7 +1631,7 @@ class ImageCollection(OrderedFolder, Per def getImageByName(self,filename,onlyName=None): """get filename""" - + #print repr(filename) #FIXME: umlaute in filename fn=getattr(self,repr(filename),None) if not fn: @@ -1874,7 +1874,7 @@ class ImageCollectionMD(ImageCollection, 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: @@ -2055,25 +2055,26 @@ class ImageCollectionMD(ImageCollection, xmldoc=urllib.urlopen(url).read() #return xmldoc try: - dom=xml.dom.minidom.parseString(xmldoc) + dom=NonvalidatingReader.parseUri(url) + except: return "ERROR: (%s %s) %s"%(sys.exc_info()[0],sys.exc_info()[1],xmldoc) - images=dom.getElementsByTagName('image') + images=dom.xpath("//image") rc=[] fnIds={} for image in images: - - imagename=image.getElementsByTagName('imagename')[0] - + imagename=image.xpath('./imagename')[0] + - idnr=image.getElementsByTagName('idnr')[0] + + idnr=image.xpath('./idnr')[0] id=getText(idnr.childNodes) try: - numberOfPages=image.getElementsByTagName('numberOfPages')[0] + numberOfPages=image.xpath('./numberOfPages')[0] except: numberOfPages=None @@ -2088,7 +2089,6 @@ class ImageCollectionMD(ImageCollection, texts=getText(imagename.childNodes).split("\n") #mehrere bilder in return getrennter liste for text in texts: - if not text=="": text=self.getImageByName(text,onlyName="yes") try: @@ -2100,10 +2100,9 @@ class ImageCollectionMD(ImageCollection, rc.sort() - self.REQUEST.SESSION['filenames']=rc self.REQUEST.SESSION['filenamesIds']=fnIds - + overview=self.ZopeFind(self,obj_ids=['overview_selectedMD.html']) if overview: