Diff for /ImageArchive/ImageArchive.py between versions 1.2 and 1.3

version 1.2, 2003/12/03 15:51:21 version 1.3, 2003/12/04 19:02:59
Line 24  class ImageDigilib(SimpleItem,Persistent Line 24  class ImageDigilib(SimpleItem,Persistent
     """Anzeige object fuer digilib"""      """Anzeige object fuer digilib"""
     meta_type="ImageDigilib"      meta_type="ImageDigilib"
   
     def __init__(self,id,filename):      def __init__(self,id,filename,meta=None):
         self.id=id          self.id=id
         self.title=filename          self.title=filename
         self.filename=filename          self.filename=filename
           self.meta=meta
   
       def getMeta(self):
           """ausgabe der metadaten"""
           return self.meta
   
     def uploadImage(self,fileupload,path_name):      def uploadImage(self,fileupload,path_name):
         """upload an Image from an Requast"""          """upload an Image from an Requast"""
Line 38  class ImageDigilib(SimpleItem,Persistent Line 43  class ImageDigilib(SimpleItem,Persistent
         f.write(filedata)          f.write(filedata)
         f.close()          f.close()
         os.chmod(filename,0644)          os.chmod(filename,0644)
           os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/small 100 &"% self.ImageViewerPath)
   
   
       
   
     def download(self):      def download(self):
         """download"""          """download"""
         path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+self.filename+"&mo=file"          path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+self.filename+"&mo=rawfile,highres"
         #self.REQUEST.SESSION['string']="<img src=\"%s\">"% path          #self.REQUEST.SESSION['string']="<img src=\"%s\">"% path
         #pt=PageTemplateFile('Products/ImageArchive/thumb.zpt').__of__(self)          #pt=PageTemplateFile('Products/ImageArchive/thumb.zpt').__of__(self)
         return self.REQUEST.RESPONSE.redirect(path)          return self.REQUEST.RESPONSE.redirect(path)
           
     def thumb(self):      def thumb(self):
         """show thumb"""          """show thumb"""
         if not os.path.exists("/mpiwg/temp/online/scaled/small/"+self.ImageViewerPath+"/"+self.filename):          thumbname=os.path.splitext(self.filename)[0]+".jpg"
             #image=urllib.urlopen("http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+self.filename+"&dw=150").read()          ## if not os.path.exists("/mpiwg/temp/online/scaled/small/"+self.ImageViewerPath+"/"+thumbname):
             #f=open("/mpiwg/temp/online/scaled/small/"+self.ImageViewerPath+"/"+self.filename,"w")  ##             image=urllib.urlopen("http://nausikaa2.rz-berlin.mpg.de:18080/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+self.filename+"&dw=150&mo=lores").read()
             #f.write(image)  ##             f=open("/mpiwg/temp/online/scaled/small/"+self.ImageViewerPath+"/"+thumbname,"w")
             #f.close()  ##             f.write(image)
             os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/small 150 &"% self.ImageViewerPath)  ##             f.close()
   ##             os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/small 150 &"% self.ImageViewerPath)
                           
                   
         #path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+self.filename+"&dw=100&dh=100"          path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+self.filename+"&dw=100&dh=100&mo=lores"
         path="/thumbs"+self.ImageViewerPath+"/"+self.filename          #path="/thumbs"+self.ImageViewerPath+"/"+thumbname
         self.REQUEST.SESSION['string']="<img src=\"%s\">"% path          self.REQUEST.SESSION['string']="<img border=\"0\" src=\"%s\">"% path
         pt=PageTemplateFile('Products/ImageArchive/thumb.zpt').__of__(self)          pt=PageTemplateFile('Products/ImageArchive/thumb.zpt').__of__(self)
         return pt()          return pt()
           
Line 75  def manage_AddImageDigilibForm(self): Line 85  def manage_AddImageDigilibForm(self):
     pt=PageTemplateFile('Products/ImageArchive/AddImageDigilibForm.zpt').__of__(self)      pt=PageTemplateFile('Products/ImageArchive/AddImageDigilibForm.zpt').__of__(self)
     return pt()      return pt()
           
 def manage_AddImageDigilib(self,id,fileupload,RESPONSE=None):  def manage_AddImageDigilib(self,id,fileupload,meta=None,RESPONSE=None):
     """Add ImageCollection"""      """Add ImageCollection"""
     #fileupload=self.REQUEST['fileupload']      #fileupload=self.REQUEST['fileupload']
     newObj=ImageDigilib(id,fileupload.filename)      newObj=ImageDigilib(id,fileupload.filename,meta)
           
     self._setObject(id,newObj)      self._setObject(id,newObj)
     getattr(self,id).uploadImage(fileupload,self.ImageStoragePath)      getattr(self,id).uploadImage(fileupload,self.ImageStoragePath)
Line 91  class ImageCollection(Folder, Persistent Line 101  class ImageCollection(Folder, Persistent
     """Sammelordner für Bilder"""      """Sammelordner für Bilder"""
     meta_type="ImageCollection"      meta_type="ImageCollection"
   
     def __init__(self,id,title,ImageStoragePath,ImageViewerPath):      defaultMetaString="http://fm-web.mpiwg-berlin.mpg.de:8050/FMRes/FMPJS?-db=Wissenschaftlerportraits.fp5&-layID=69&-token=25&-max=1&-format=formvwcss.htm&-mode=browse&images::filename=%s&-find" ## TEST FUER IMAGEDATENBANK WP
       
       def __init__(self,id,title,ImageStoragePath,ImageViewerPath,defaultMetaString):
         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
   
     manage_options = Folder.manage_options+(      manage_options = Folder.manage_options+(
         {'label':'Main Config','action':'ImageCollection_config'},          {'label':'Main Config','action':'ImageCollection_config'},
         {'label':'Import','action':'ImportFiles'},          {'label':'Import','action':'ImportFiles'},
           {'label':'Recalculate Metadate','action':'recalculateMeta'},
   
         )          )
   
   
       def meta_default(self,filename):
           """url der metadaten"""
           return self.defaultMetaString % filename
                        
     def getThumbAttribute(self,id,attr):      def getThumbAttribute(self,id,attr):
         if hasattr(self,id):          if hasattr(self,id):
             return getattr(getattr(self,id),attr)              return getattr(getattr(self,id),attr)
Line 134  class ImageCollection(Folder, Persistent Line 153  class ImageCollection(Folder, Persistent
         pt=PageTemplateFile('Products/ImageArchive/overview_selected.zpt').__of__(self)          pt=PageTemplateFile('Products/ImageArchive/overview_selected.zpt').__of__(self)
         return pt()                  return pt()        
   
       def recalculateMeta(self):
           """recalculate the metadata"""
           
           for entryid in self.__dict__:
               entry=getattr(self,entryid)
               if hasattr(entry,'meta_type'):
                   
                   if entry.meta_type=="ImageDigilib":
                       entry.meta=entry.meta_default(entry.getId())
           return "OK"
           
     def addImage(self):      def addImage(self):
         """Add an Image"""          """Add an Image"""
         pt=PageTemplateFile('Products/ImageArchive/addImage.zpt').__of__(self)          pt=PageTemplateFile('Products/ImageArchive/addImage.zpt').__of__(self)
         return pt()          return pt()
           
     def addImage2(self,fileupload,RESPONSE=None):      def addImage2(self,fileupload,meta,use_default,RESPONSE=None):
         """Add"""          """Add"""
         #print "FU",fileupload          #print "FU",fileupload
         manage_AddImageDigilib(self,fileupload.filename,fileupload)  
           if use_default:
               try:
                   meta=self.meta_default(fileupload.filename)
               except:
                   meta=None
                   
           manage_AddImageDigilib(self,fileupload.filename,fileupload,meta=meta)
         return RESPONSE.redirect(self.REQUEST['URL1']+'/'+fileupload.filename)          return RESPONSE.redirect(self.REQUEST['URL1']+'/'+fileupload.filename)
         #return  self.REQUEST['URL1']+'/'+fileupload.filename          #return  self.REQUEST['URL1']+'/'+fileupload.filename
           
       def ImportFiles2(self,RESPONSE=None):
           """Import the existing files of a folder"""
           files=os.listdir(self.ImageStoragePath)
           ret=""
           #print self.__dict__
           for file in files:
               if not file[0]==".":
                   if self.__dict__.has_key(file):
   
                       ret=ret+"<br>"+file+" already exists!"
                   else:
                       ret=ret+"<br>"+file+" created!"
                       meta=self.meta_default(file)
                       newObj=ImageDigilib(file,file,meta)
                       #print newObj,file
                       #print newObj
                       self._setObject(file,newObj)
           #print ret
           #pt=PageTemplateFile('Products/ImageArchive/out.zpt').__of__(self)
           #print self.ImageStoragePath
           os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/small 100 &"% self.ImageViewerPath)
           RESPONSE.redirect('manage_main')
       
     def ImportFiles(self,RESPONSE=None):      def ImportFiles(self,RESPONSE=None):
         """Import the existing files of a folder"""          """Import the existing files of a folder"""
         files=os.listdir(self.ImageStoragePath)          files=os.listdir(self.ImageStoragePath)
Line 164  class ImageCollection(Folder, Persistent Line 223  class ImageCollection(Folder, Persistent
                     #print newObj                      #print newObj
                 self._setObject(file,newObj)                  self._setObject(file,newObj)
         #print ret          #print ret
         pt=PageTemplateFile('Products/ImageArchive/out.zpt',ret).__of__(self)          #pt=PageTemplateFile('Products/ImageArchive/out.zpt').__of__(self)
           #print self.ImageStoragePath
           os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/small 100 &"% self.ImageViewerPath)
         RESPONSE.redirect('manage_main')          RESPONSE.redirect('manage_main')
                   
     def ImageCollection_config(self):      def ImageCollection_config(self):
         """Nothing yet"""          """Nothing yet"""
           if not hasattr(self,'defaultMetaString'):
               self.defaultMetaString=""
               
         pt=PageTemplateFile('Products/ImageArchive/ChangeImageCollectionForm.zpt').__of__(self)          pt=PageTemplateFile('Products/ImageArchive/ChangeImageCollectionForm.zpt').__of__(self)
         return pt()          return pt()
   
     def ChangeImageCollection(self,title,ImageStoragePath,ImageViewerPath,RESPONSE=None):      def ChangeImageCollection(self,title,ImageStoragePath,ImageViewerPath,defaultMetaString,RESPONSE=None):
         """Change"""          """Change"""
         self.title=title          self.title=title
         self.ImageStoragePath=ImageStoragePath          self.ImageStoragePath=ImageStoragePath
         self.ImageViewerPath=ImageViewerPath          self.ImageViewerPath=ImageViewerPath
           self.defaultMetaString=defaultMetaString
   
         if RESPONSE is not None:          if RESPONSE is not None:
             RESPONSE.redirect('manage_main')              RESPONSE.redirect('manage_main')
Line 262  def manage_AddImageCollectionForm(self): Line 327  def manage_AddImageCollectionForm(self):
     pt=PageTemplateFile('Products/ImageArchive/AddImageCollectionForm.zpt').__of__(self)      pt=PageTemplateFile('Products/ImageArchive/AddImageCollectionForm.zpt').__of__(self)
     return pt()      return pt()
           
 def manage_AddImageCollection(self,id,title,ImageStoragePath,ImageViewerPath,RESPONSE=None):  def manage_AddImageCollection(self,id,title,ImageStoragePath,ImageViewerPath,defaultMetaString,RESPONSE=None):
     """Add ImageCollection"""      """Add ImageCollection"""
     newObj=ImageCollection(id,title,ImageStoragePath,ImageViewerPath)      newObj=ImageCollection(id,title,ImageStoragePath,ImageViewerPath,defaultMetaString)
     self._setObject(id,newObj)      self._setObject(id,newObj)
           
     if RESPONSE is not None:      if RESPONSE is not None:

Removed from v.1.2  
changed lines
  Added in v.1.3


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