Diff for /ImageArchive/ImageArchive.py between versions 1.5 and 1.7

version 1.5, 2003/12/05 13:32:29 version 1.7, 2003/12/10 19:01:58
Line 20  def getText(nodelist): Line 20  def getText(nodelist):
     return rc      return rc
   
   
 class ImageDigilib(SimpleItem,Persistent,Implicit):  class ImageDigilib(Folder,Persistent,Implicit):
     """Anzeige object fuer digilib"""      """Anzeige object fuer digilib"""
     meta_type="ImageDigilib"      meta_type="ImageDigilib"
   
       leiden_meta_fields=['image_id','date','country','place','people','description','photographer']
   
       manage_options = Folder.manage_options+(
           
           {'label':'Add Metadata','action':'addMetaObjectForm'},
           
           )
   
       def addMetaObject(self,id,RESPONSE=None):
           """Add an MetaObject"""
           objectType=getattr(self.Control_Panel.Products.ImageMetaData,self.genericMetaDataType)
   
           request=self.REQUEST
           objectCreate=objectType.createObjectManager(id,request)
           #for field in self.leiden_meta_fields:
           #    self.REQUEST[field]=argv[field]
           self._setObject(id,objectCreate)
           
           objectCreate.propertysheets.meta.manage_editProperties(request)
   
           if RESPONSE is not None:
               RESPONSE.redirect('manage_main')
   
           
   
   
       def addMetaObjectForm(self):
           """Add Form"""
           pt=PageTemplateFile('Products/ImageArchive/addMetaObject.zpt').__of__(self)
           return pt()        
   
   
     def __init__(self,id,filename,meta=None):      def __init__(self,id,filename,meta=None):
         self.id=id          self.id=id
         self.title=filename          self.title=filename
Line 43  class ImageDigilib(SimpleItem,Persistent Line 75  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.ImageStoragePath)          os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/small 100 &"% self.ImageViewerPath)
   
   
   
           
Line 101  class ImageCollection(Folder, Persistent Line 134  class ImageCollection(Folder, Persistent
     """Sammelordner für Bilder"""      """Sammelordner für Bilder"""
     meta_type="ImageCollection"      meta_type="ImageCollection"
           
       genericMetaDataType="leiden_meta"
   
       leiden_meta_fields=['image_id','date','country','place','people','description','photographer']
   
       
     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      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 scaleThumbs(self):
           """scale thumbs"""
           os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/small 100 &"% self.ImageViewerPath)
           return "RESCALING STARTED"
       
     def __init__(self,id,title,ImageStoragePath,ImageViewerPath,defaultMetaString):      def __init__(self,id,title,ImageStoragePath,ImageViewerPath,defaultMetaString):
         self.id=id          self.id=id
         self.title=title          self.title=title
Line 113  class ImageCollection(Folder, Persistent Line 156  class ImageCollection(Folder, Persistent
     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'},          {'label':'Recalculate Metadata','action':'recalculateMeta'},
           {'label':'Import Metadata','action':'importMetaForm'},
           {'label':'Rescale thumbs','action':'scaleThumbs'},
         )          )
   
   
       def importMetaForm(self):
           """import metadata"""
           pt=PageTemplateFile('Products/ImageArchive/importMeta.zpt').__of__(self)
           return pt()
   
       def importMeta(self,fileupload,tag):
           """import"""
           filedata=fileupload.read()
           dom=xml.dom.minidom.parseString(filedata)
           rows=dom.getElementsByTagName(tag)
           #print "ROWS",rows
           request=self.REQUEST
           for row in rows:
               
               for a in self.leiden_meta_fields:
                   self.REQUEST[a]=getText(row.getElementsByTagName(a)[0].childNodes)
   
               image_id=self.REQUEST['image_id']
               if (not hasattr(self,image_id)) & (not image_id==""):
                   print image_id
                   newObj=ImageCollection(str(image_id),image_id,'','','')
                   self._setObject(str(image_id),newObj)
   
               id="leiden_meta_data_file"
               self.REQUEST['id']=id
               #objectType=getattr(self.Control_Panel.Products.ImageMetaData,self.genericMetaDataType)
               #objectCreate=objectType.createInObjectManager(id,request)
               #href="http://localhost:8080/tests/testcollection/manage_addProduct/ImageMetaData/leiden_meta_factory/"
               try:
                   addID=getattr(self,image_id)
                   objectCreate=addID.manage_addProduct['ImageMetaData'].leiden_meta_add(id)
                   #getattr(self,image_id)._setObject(id,objectCreate)
                   obj=getattr(addID,id)
                   obj.propertysheets.meta.manage_editProperties(request)
               except:
                   """nothing"""
           return "OK"
       
   
       def nextImage(self,request,selected=None):
           """show nextimage"""
           ids=self.show_thumbs()
           if request.SESSION.has_key("filename"):
               filename=request.SESSION["filename"]
               try:
                   nr=ids.index(filename)
               except:
                   nr=0
           else:
               nr=0
   
           if nr==len(ids)-1:
               return ""
           else:
               if selected:
                   return "<a href=\""+self.REQUEST['URL1']+"/selection?filename="+ids[nr+1]+"\" target=\"_top\">next image</a>"
               else:
                   return "<a href=\""+self.REQUEST['URL1']+"?filename="+ids[nr+1]+"\" target=\"_top\">next image</a>"
               
       def prevImage(self,request,selected=None):
           """show nextimage"""
           #return self.getId()
           ids=self.show_thumbs()
           if request.SESSION.has_key("filename"):
               filename=request.SESSION["filename"]
               try:
                   nr=ids.index(filename)
               except:
                   nr=0
           else:
               nr=0
   
           if nr==0:
               return ""
           else:
               if selected:
                   return "<a href=\""+self.REQUEST['URL1']+"/selection?filename="+ids[nr-1]+"\" target=\"_top\">previous image</a>"
               else:
                   return "<a href=\""+self.REQUEST['URL1']+"?filename="+ids[nr-1]+"\" target=\"_top\">previous image</a>"
           
     def meta_default(self,filename):      def meta_default(self,filename):
         """url der metadaten"""          """url der metadaten"""
         return self.defaultMetaString % filename          return self.defaultMetaString % filename
Line 171  class ImageCollection(Folder, Persistent Line 295  class ImageCollection(Folder, Persistent
         pt=PageTemplateFile('Products/ImageArchive/addImage.zpt').__of__(self)          pt=PageTemplateFile('Products/ImageArchive/addImage.zpt').__of__(self)
         return pt()          return pt()
           
     def addImage2(self,fileupload,meta,use_default,RESPONSE=None):      def addImage2(self,fileupload,meta,use_default=None,RESPONSE=None):
         """Add"""          """Add"""
         #print "FU",fileupload          #print "FU",fileupload
   
Line 180  class ImageCollection(Folder, Persistent Line 304  class ImageCollection(Folder, Persistent
                 meta=self.meta_default(fileupload.filename)                  meta=self.meta_default(fileupload.filename)
             except:              except:
                 meta=None                  meta=None
           else:
               meta=None
                                   
         manage_AddImageDigilib(self,fileupload.filename,fileupload,meta=meta)          manage_AddImageDigilib(self,fileupload.filename,fileupload,meta=meta)
         return RESPONSE.redirect(self.REQUEST['URL1']+'/'+fileupload.filename)          return RESPONSE.redirect(self.REQUEST['URL1']+'/'+fileupload.filename)
Line 230  class ImageCollection(Folder, Persistent Line 356  class ImageCollection(Folder, Persistent
         #print ret          #print ret
         #pt=PageTemplateFile('Products/ImageArchive/out.zpt').__of__(self)          #pt=PageTemplateFile('Products/ImageArchive/out.zpt').__of__(self)
         #print self.ImageStoragePath          #print self.ImageStoragePath
         print os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/small 100 &"% self.ImageStoragePath)          os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/small 100 &"% self.ImageStoragePath)
         RESPONSE.redirect('manage_main')          RESPONSE.redirect('manage_main')
                   
     def ImageCollection_config(self):      def ImageCollection_config(self):
Line 311  class ImageCollection(Folder, Persistent Line 437  class ImageCollection(Folder, Persistent
         pt=PageTemplateFile('Products/ImageArchive/thumb2.zpt').__of__(self)          pt=PageTemplateFile('Products/ImageArchive/thumb2.zpt').__of__(self)
         return pt()          return pt()
   
       def navig_selected_html(self):
           """navigation"""
           #self.REQUEST.SESSION['URL']=self.REQUEST['URL0']
           pt=PageTemplateFile('Products/ImageArchive/navigation_selected.zpt').__of__(self)
           return pt()
   
     def navig_html(self):      def navig_html(self):
         """navigation"""          """navigation"""
           #self.REQUEST.SESSION['URL']=self.REQUEST['URL0']
         pt=PageTemplateFile('Products/ImageArchive/navigation.zpt').__of__(self)          pt=PageTemplateFile('Products/ImageArchive/navigation.zpt').__of__(self)
         return pt()          return pt()
   
   
       def selection(self):
           """show only selected"""
           if self.REQUEST.has_key('filename'):
               filen=self.REQUEST['filename']
           else:
               filen=""
           self.REQUEST.SESSION['filename']=filen
           pt=PageTemplateFile('Products/ImageArchive/overview_selected2.zpt').__of__(self)
           return pt()  
           
     def index_html(self):      def index_html(self):
         """main template collection"""          """main template collection"""
         if self.REQUEST.has_key('filename'):          if self.REQUEST.has_key('filename'):

Removed from v.1.5  
changed lines
  Added in v.1.7


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