Diff for /ImageArchive/ImageArchive.py between versions 1.38 and 1.42

version 1.38, 2004/11/18 16:34:36 version 1.42, 2004/12/23 14:08:05
Line 12  import xml.dom.minidom Line 12  import xml.dom.minidom
 import operator  import operator
 import tempfile  import tempfile
 import shutil  import shutil
   from types import *
   
   
 try:  try:
     from Products.ECHO_content.ECHO_collection import ECHO_basis      from Products.ECHO_content.ECHO_collection import ECHO_basis
 except:  except:
     print "ECHO Elements not imported"      print "ECHO Elements not imported"
     ECHO_basis=None      class ECHO_basis:
           """leer"""
           manage_options=()
   
   
           
 def splitPath(str):  def splitPath(str):
     str2=str.replace("\\","/")      str2=str.replace("\\","/")
Line 89  class ImageDigilib(Folder,Persistent,Imp Line 94  class ImageDigilib(Folder,Persistent,Imp
         f.write(filedata)          f.write(filedata)
         f.close()          f.close()
         try:          try:
             os.chmod(filename,0644)              os.chmod(filename,0664)
         except:          except:
             """hack"""              """hack"""
     #scale thumb      #scale thumb
Line 207  def manage_AddImageDigilibForm(self): Line 212  def manage_AddImageDigilibForm(self):
           
 def manage_AddImageDigilib(self,id,fileupload,meta=None,RESPONSE=None):  def manage_AddImageDigilib(self,id,fileupload,meta=None,RESPONSE=None):
     """Add ImageCollection"""      """Add ImageCollection"""
       
     #fileupload=self.REQUEST['fileupload']      #fileupload=self.REQUEST['fileupload']
     fn=splitPath(fileupload.filename)      fn=splitPath(fileupload.filename)
     newObj=ImageDigilib(id,fn,meta)      newObj=ImageDigilib(id,fn,meta)
Line 218  def manage_AddImageDigilib(self,id,fileu Line 224  def manage_AddImageDigilib(self,id,fileu
         RESPONSE.redirect('manage_main')          RESPONSE.redirect('manage_main')
   
                                     
   
 class ImageCollection(Folder, Persistent, Implicit, ECHO_basis):  class ImageCollection(Folder, Persistent, Implicit, ECHO_basis):
   
     """Sammelordner für Bilder"""      """Sammelordner für Bilder"""
     meta_type="ImageCollection"      meta_type="ImageCollection"
   
      
       
     genericMetaDataType="leiden_meta"      genericMetaDataType="leiden_meta"
   
     leiden_meta_fields=['image_id','date','country','place','people','description','photographer']      leiden_meta_fields=['image_id','date','country','place','people','description','photographer']
Line 233  class ImageCollection(Folder, Persistent Line 243  class ImageCollection(Folder, Persistent
           
     def createSet(self,RESPONSE=None,local=None,version="working"):      def createSet(self,RESPONSE=None,local=None,version="working"):
         """download aller gewaehlten files"""          """download aller gewaehlten files"""
               storeTempDir=tempfile.tempdir
         tempfile.tempdir="/tmp/archivesImageServer"          tempfile.tempdir="/tmp/archivesImageServer"
                   
         tmpPath=tempfile.mktemp()          tmpPath=tempfile.mktemp()
Line 299  class ImageCollection(Folder, Persistent Line 310  class ImageCollection(Folder, Persistent
             #folgeseiten              #folgeseiten
             if int(self.REQUEST.SESSION['filenamesIds'][id[0]][1])>1:               if int(self.REQUEST.SESSION['filenamesIds'][id[0]][1])>1: 
                 ids=self.show_thumbs()                  ids=self.show_thumbs()
                       try:
                 nr=ids.index(id[0])                  nr=ids.index(id[0])
                   except:
                    if RESPONSE:
                           RESPONSE.write(str("<p>Error in File: %s (possible missing)<br>\n"%id[0]))
                    else:
                           """nothing"""
   
                        nr=0
                                   
                 numberOfPages=self.REQUEST.SESSION['filenamesIds'][id[0]][1]                  numberOfPages=self.REQUEST.SESSION['filenamesIds'][id[0]][1]
                 for k in range(int(numberOfPages)-1):                  for k in range(int(numberOfPages)-1):
Line 408  class ImageCollection(Folder, Persistent Line 427  class ImageCollection(Folder, Persistent
         self.ImageViewerPath=ImageViewerPath          self.ImageViewerPath=ImageViewerPath
         self.defaultMetaString=defaultMetaString          self.defaultMetaString=defaultMetaString
   
     if ECHO_basis:  
         optTMP= Folder.manage_options+ECHO_basis.manage_options  
     else:  
         optTMP= Folder.manage_options          optTMP= Folder.manage_options
   
     manage_options = optTMP+(      manage_options = optTMP+(
Line 537  class ImageCollection(Folder, Persistent Line 553  class ImageCollection(Folder, Persistent
                   
         url=urllib.unquote(url)          url=urllib.unquote(url)
         xmldoc=urllib.urlopen(url).read()          xmldoc=urllib.urlopen(url).read()
         #print url          #return xmldoc
     try:      try:
         dom=xml.dom.minidom.parseString(xmldoc)          dom=xml.dom.minidom.parseString(xmldoc)
         except:          except:
Line 548  class ImageCollection(Folder, Persistent Line 564  class ImageCollection(Folder, Persistent
     fnIds={}      fnIds={}
         for image in images:          for image in images:
         imagename=image.getElementsByTagName('imagename')[0]          imagename=image.getElementsByTagName('imagename')[0]
         text=getText(imagename.childNodes)                  
           
                   
         idnr=image.getElementsByTagName('idnr')[0]          idnr=image.getElementsByTagName('idnr')[0]
         id=getText(idnr.childNodes)          id=getText(idnr.childNodes)
         numberOfPages=image.getElementsByTagName('numberOfPages')[0]          numberOfPages=image.getElementsByTagName('numberOfPages')[0]
Line 557  class ImageCollection(Folder, Persistent Line 575  class ImageCollection(Folder, Persistent
             nop=int(nopT)              nop=int(nopT)
         except:          except:
             nop=0              nop=0
                   texts=getText(imagename.childNodes).split("\n") #mehrere bilder in return getrennter liste
                   for text in texts:
         if not text=="":          if not text=="":
             try:              try:
                 rc.append((str(text),id,nop))                  rc.append((str(text),id,nop))
Line 565  class ImageCollection(Folder, Persistent Line 585  class ImageCollection(Folder, Persistent
                 rc.append((repr(text),id,nop))                  rc.append((repr(text),id,nop))
                 fnIds[repr(text)]=(id,nop)                  fnIds[repr(text)]=(id,nop)
   
   
         rc.sort()          rc.sort()
         self.REQUEST.SESSION['filenames']=rc          self.REQUEST.SESSION['filenames']=rc
     self.REQUEST.SESSION['filenamesIds']=fnIds      self.REQUEST.SESSION['filenamesIds']=fnIds
Line 585  class ImageCollection(Folder, Persistent Line 606  class ImageCollection(Folder, Persistent
           
     def addImage(self):      def addImage(self):
         """Add an Image"""          """Add an Image"""
           
         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addImage.zpt')).__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addImage.zpt')).__of__(self)
         return pt()          return pt()
           
     def addImage2(self,fileupload,meta,use_default=None,RESPONSE=None):      def addImage2(self,fileupload,meta,use_default=None,RESPONSE=None):
         """Add"""          """Add"""
   
         #print "FU",fileupload          #print "FU",fileupload
   
         if use_default:          if use_default:

Removed from v.1.38  
changed lines
  Added in v.1.42


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