Diff for /ImageArchive/ImageArchive.py between versions 1.84 and 1.89

version 1.84, 2006/05/17 19:10:49 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 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 539  class ImageDigilib(Folder,Persistent,Imp Line 539  class ImageDigilib(Folder,Persistent,Imp
             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("/docuserver/lib/scaleomat/scaleomat.pl -src=/mpiwg/online/ -dir=%s -dest=/docuserver/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("/docuserver/lib/scaleomat/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
           
           overview=self.ZopeFind(self,obj_ids=['overview_selectedMD.html'])
                   
         if xml is None:          if overview:
             RESPONSE.redirect('xmlinput?url='+urllib.quote(url))                  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

Removed from v.1.84  
changed lines
  Added in v.1.89


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>