Diff for /ImageArchive/ImageArchive.py between versions 1.6 and 1.15

version 1.6, 2003/12/08 18:15:02 version 1.15, 2004/01/26 08:18:05
Line 75  class ImageDigilib(Folder,Persistent,Imp Line 75  class ImageDigilib(Folder,Persistent,Imp
         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 97  class ImageDigilib(Folder,Persistent,Imp Line 98  class ImageDigilib(Folder,Persistent,Imp
 ##             f.close()  ##             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)  ##             os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/small 150 &"% self.ImageViewerPath)
                           
           #DEVEL:take nausikaa for server solution
                   
         path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+self.filename+"&dw=100&dh=100&mo=lores"          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+"/"+thumbname          #path="/mpiwg/online/"+self.ImageViewerPath+"/"+thumbname
         self.REQUEST.SESSION['string']="<img border=\"0\" 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()
           
     def index_html(self):      def index_html(self):
         """show image"""          """show image"""
           #DEVELOP: take first one for server
           
         path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/digilib.jsp?fn="+self.ImageViewerPath+"/"+self.filename          path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/digilib.jsp?fn="+self.ImageViewerPath+"/"+self.filename
   
           #path="http://localhost:8080/mpiwg/online/"+self.ImageViewerPath+"/"+self.filename
         #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)
Line 140  class ImageCollection(Folder, Persistent Line 146  class ImageCollection(Folder, Persistent
           
     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 152  class ImageCollection(Folder, Persistent Line 163  class ImageCollection(Folder, Persistent
         {'label':'Import','action':'ImportFiles'},          {'label':'Import','action':'ImportFiles'},
         {'label':'Recalculate Metadata','action':'recalculateMeta'},          {'label':'Recalculate Metadata','action':'recalculateMeta'},
         {'label':'Import Metadata','action':'importMetaForm'},          {'label':'Import Metadata','action':'importMetaForm'},
           {'label':'Rescale thumbs','action':'scaleThumbs'},
         )          )
   
   
Line 174  class ImageCollection(Folder, Persistent Line 186  class ImageCollection(Folder, Persistent
   
             image_id=self.REQUEST['image_id']              image_id=self.REQUEST['image_id']
             if (not hasattr(self,image_id)) & (not image_id==""):              if (not hasattr(self,image_id)) & (not image_id==""):
                 print image_id                  #print image_id
                 newObj=ImageCollection(str(image_id),image_id,'','','')                  newObj=ImageCollection(str(image_id),image_id,'','','')
                 self._setObject(str(image_id),newObj)                  self._setObject(str(image_id),newObj)
   
Line 194  class ImageCollection(Folder, Persistent Line 206  class ImageCollection(Folder, Persistent
         return "OK"          return "OK"
           
   
       def nextImage(self,request,selected=None):
           """show nextimage"""
           try:
               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>"
           except:
               return ""
           
       def prevImage(self,request,selected=None):
           """show nextimage"""
           #return self.getId()
           try:
               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>"
           except:
               return ""
                   
     def meta_default(self,filename):      def meta_default(self,filename):
         """url der metadaten"""          """url der metadaten"""
Line 249  class ImageCollection(Folder, Persistent Line 306  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 258  class ImageCollection(Folder, Persistent Line 315  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 308  class ImageCollection(Folder, Persistent Line 367  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 345  class ImageCollection(Folder, Persistent Line 404  class ImageCollection(Folder, Persistent
         ids.sort()          ids.sort()
         return ids          return ids
   
       def firstSets(self,selected=None):
           ids=self.show_thumbs()
           if ids:
               if selected:
                   return "<a href=\""+self.REQUEST['URL1']+"/selection?filename="+ids[0]+"\" target=\"_top\">first sets</a>"
               else:
                   return "<a href=\""+self.REQUEST['URL1']+"?filename="+ids[0]+"\" target=\"_top\">first sets</a>"
   
       def lastSets(self,selected=None):
           ids=self.show_thumbs()
           if ids:
               colRows=self.getColTimesRow()
   
               if colRows[1]:
                   nr=len(ids)-colRows[0]*colRows[1]
               else:
                   nr=0
   
               if nr<0:
                   nr=0
   
               if selected:
                   return "<a href=\""+self.REQUEST['URL1']+"/selection?filename="+ids[nr]+"\" target=\"_top\">last set</a>"
               else:
                   return "<a href=\""+self.REQUEST['URL1']+"?filename="+ids[nr]+"\" target=\"_top\">last sets</a>"
   
           
                   
       def nextSets(self,selected=None):
           """show nextimage"""
           ids=self.show_thumbs()
           colRows=self.getColTimesRow()
           if ids:
               if colRows[1]:
   
                   if self.REQUEST.SESSION.has_key("filename"):
                       filename=self.REQUEST.SESSION["filename"]
                       try:
                           nr=ids.index(filename)+colRows[0]*colRows[1]
                           if nr>=len(ids):
                               nr=len(ids)-1
                       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]+"\" target=\"_top\">next set</a>"
                       else:
                           return "<a href=\""+self.REQUEST['URL1']+"?filename="+ids[nr]+"\" target=\"_top\">next set</a>"
   
       def prevSets(self,selected=None):
           
           """show nextimage"""
           #return self.getId()
           ids=self.show_thumbs()
           colRows=self.getColTimesRow()
           if ids:
               if colRows[1]:
                   if self.REQUEST.SESSION.has_key("filename"):
                       filename=self.REQUEST.SESSION["filename"]
                       try:
                           nr=ids.index(filename)-colRows[0]*colRows[1]
                           if nr<0:
                               nr=0
                       except:
                           nr=0
                   else:
                       nr=0
                   try:
                       num=ids.index(filename)
                   except:
                       num=0
   
                   if num==0:
                       return ""
                   else:
                       if selected:
                           return "<a href=\""+self.REQUEST['URL1']+"/selection?filename="+ids[nr]+"\" target=\"_top\">previous sets</a>"
                       else:
                           return "<a href=\""+self.REQUEST['URL1']+"?filename="+ids[nr]+"\" target=\"_top\">previous sets</a>"
               else:
                   return ""
               
     def show_thumbs_selected_rows(self,numberOfColumns):      def show_thumbs_selected_rows(self,numberOfColumns):
         """Ausgabe anzahl"""          """Ausgabe anzahl"""
         ids=self.show_selected_thumbs()          ids=self.show_selected_thumbs()
Line 353  class ImageCollection(Folder, Persistent Line 499  class ImageCollection(Folder, Persistent
         self.REQUEST.SESSION['number']=range(number)          self.REQUEST.SESSION['number']=range(number)
         return range(number+1)          return range(number+1)
   
     def show_thumbs_rows(self,numberOfColumns):      def setColTimesRowForm(self):
           """form for matrix setting"""
           pt=PageTemplateFile('Products/ImageArchive/selectColTimesRow.zpt').__of__(self)
           return pt()
   
       def setDone(self):
           """done"""
           
           pt=PageTemplateFile('Products/ImageArchive/changedColTimesRow.zpt').__of__(self)
           return pt()
   
       def setColTimesRow(self,cols,rows):
           """set coltimes row"""
           RESPONSE=self.REQUEST.RESPONSE
           if not rows:
               rows=None
           if rows=="":
               rows=None
   
           if rows:
               RESPONSE.setCookie("ImageViewerRows",rows)
           RESPONSE.setCookie("ImageViewerCols",cols)
   
           RESPONSE.redirect(self.REQUEST['URL1']+"/setDone")
           
       def getColTimesRow(self):
           """coltimesrow"""
           
           REQUEST=self.REQUEST
           """matrix"""
           if REQUEST.cookies.has_key("ImageViewerRows"):
               
               try:
                   rows=int(REQUEST.cookies["ImageViewerRows"])
               except:
                   rows=None
           else:
               rows=None
               
           if REQUEST.cookies.has_key("ImageViewerCols"):
               #print "COLS",REQUEST.cookies["ImageViewerCols"]
               cols=int(REQUEST.cookies["ImageViewerCols"])
           else:
               cols=3
   
           idsnumber=len(self.show_thumbs())
           if rows:
               if cols*rows >idsnumber:
                   rows=int(idsnumber/cols)+1
           return (cols,rows)
                   
           
       def show_thumbs_rows(self,numberOfColumns,numberOfRows=None,startId=None):
         """Ausgabe anzahl"""          """Ausgabe anzahl"""
         ids=self.show_thumbs()  
           idsAll=self.show_thumbs()
           
           if self.REQUEST.SESSION.has_key("filename"):
               filename=self.REQUEST.SESSION["filename"]
               try:
                   startId=filename
               except:
                   startId=idsAll[0]
           else:
               startId=idsAll[0]
               
   
           print "NOR:",numberOfRows
   
           if numberOfRows:
               try:
                   startPic=idsAll.index(startId)
                   endPic=startPic+numberOfColumns*numberOfRows
                   ids=idsAll[startPic:endPic]
               except:
                   ids=idsAll
           else:
               ids=idsAll
   
               
         self.REQUEST.SESSION['ids']=ids          self.REQUEST.SESSION['ids']=ids
         number=int(len(ids)/numberOfColumns)+1          number=int(len(ids)/numberOfColumns)+1
                   
Line 369  class ImageCollection(Folder, Persistent Line 592  class ImageCollection(Folder, Persistent
             return ids[(row-1)*numberOfColumns:row*numberOfColumns]              return ids[(row-1)*numberOfColumns:row*numberOfColumns]
         else:          else:
             return ids[(row-1)*numberOfColumns:]              return ids[(row-1)*numberOfColumns:]
           
     def thumblistSelected_old(self):      def thumblistSelected_old(self):
         """main template collection"""          """main template collection"""
         pt=PageTemplateFile('Products/ImageArchive/thumbselected.zpt').__of__(self)          pt=PageTemplateFile('Products/ImageArchive/thumbselected.zpt').__of__(self)
Line 389  class ImageCollection(Folder, Persistent Line 613  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.6  
changed lines
  Added in v.1.15


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