Diff for /ImageArchive/ImageArchive.py between versions 1.69 and 1.70

version 1.69, 2005/10/25 19:42:59 version 1.70, 2005/10/25 20:03:31
Line 30  try: Line 30  try:
 except:  except:
     print "ZSQL Extend Folder nicht importiert"      print "ZSQL Extend Folder nicht importiert"
     print "Metadatendfolder funktioniert nicht!!!"      print "Metadatendfolder funktioniert nicht!!!"
       class ZSQLExtendFolder:
           """leer"""
           manage_options=()
   
   
   
Line 330  class ImageDigilib(Folder,Persistent,Imp Line 333  class ImageDigilib(Folder,Persistent,Imp
         self.filename=filename          self.filename=filename
         self.meta=meta          self.meta=meta
   
       def getBasename(self):
           """returns base filename (sans extension)"""
           return os.path.splitext(self.filename)[0]
   
     def getMeta(self):      def getMeta(self):
         """ausgabe der metadaten"""          """ausgabe der metadaten"""
Line 622  class ImageCollection(Folder, Persistent Line 628  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
   
       imgcoll_main = PageTemplateFile('zpt/overview', globals())
       imgcoll_thumb = PageTemplateFile('zpt/thumb', globals())
   
     def getServerPath(self):      def getServerPath(self):
         """get Server path"""          """get Server path"""
         return getattr(self,'serverPath',genericServerPath)          return getattr(self,'serverPath',genericServerPath)
Line 755  class ImageCollection(Folder, Persistent Line 764  class ImageCollection(Folder, Persistent
         self.ImageViewerPath=ImageViewerPath          self.ImageViewerPath=ImageViewerPath
         self.defaultMetaString=defaultMetaString          self.defaultMetaString=defaultMetaString
         self.serverPath=serverPath          self.serverPath=serverPath
           self.defaultrows = 6
           self.defaultcols = 2
   
     optTMP= Folder.manage_options      optTMP= Folder.manage_options
   
Line 887  class ImageCollection(Folder, Persistent Line 898  class ImageCollection(Folder, Persistent
                   
                           
     def xmlinput(self,url):      def xmlinput(self,url):
         """Anzeige <n ausgewaehlten thumbs"""          """Anzeige von ausgewaehlten thumbs"""
         #return url          #return url
                   
         url=urllib.unquote(url)          url=urllib.unquote(url)
Line 1129  class ImageCollection(Folder, Persistent Line 1140  class ImageCollection(Folder, Persistent
         ids.sort()          ids.sort()
         return ids          return ids
   
     def firstSets(self,selected=None):      def firstSets(self,selected=None,text='first set'):
         ids=self.show_thumbs()          ids=self.show_thumbs()
         if ids:          if ids:
             if selected:              if selected:
                 return "<a href=\""+self.REQUEST['URL1']+"/selection?filename="+ids[0]+"\" target=\"_top\">first sets</a>"                  return "<a href=\""+self.REQUEST['URL1']+"/selection?filename="+ids[0]+"\" target=\"_top\">"+text+"</a>"
             else:              else:
                 return "<a href=\""+self.REQUEST['URL1']+"?filename="+ids[0]+"\" target=\"_top\">first sets</a>"                  return "<a href=\""+self.REQUEST['URL1']+"?filename="+ids[0]+"\" target=\"_top\">"+text+"</a>"
   
     def lastSets(self,selected=None):      def lastSets(self,selected=None,text='last set'):
         ids=self.show_thumbs()          ids=self.show_thumbs()
         if ids:          if ids:
             colRows=self.getColTimesRow()              colRows=self.getColTimesRow()
Line 1151  class ImageCollection(Folder, Persistent Line 1162  class ImageCollection(Folder, Persistent
                 nr=0                  nr=0
   
             if selected:              if selected:
                 return "<a href=\""+self.REQUEST['URL1']+"/selection?filename="+ids[nr]+"\" target=\"_top\">last set</a>"                  return "<a href=\""+self.REQUEST['URL1']+"/selection?filename="+ids[nr]+"\" target=\"_top\">"+text+"</a>"
             else:              else:
                 return "<a href=\""+self.REQUEST['URL1']+"?filename="+ids[nr]+"\" target=\"_top\">last sets</a>"                  return "<a href=\""+self.REQUEST['URL1']+"?filename="+ids[nr]+"\" target=\"_top\">"+text+"</a>"
   
                   
                                   
     def nextSets(self,selected=None):      def nextSets(self,selected=None,text='next set'):
         """show nextimage"""          """show nextimage"""
         ids=self.show_thumbs()          ids=self.show_thumbs()
         colRows=self.getColTimesRow()          colRows=self.getColTimesRow()
           pagesize = colRows[0] * colRows[1]
         if ids:          if ids:
             if colRows[1]:              if colRows[1]:
   
                 if self.REQUEST.SESSION.has_key("filename"):                  if self.REQUEST.SESSION.has_key("filename"):
                     filename=self.REQUEST.SESSION["filename"]                      filename=self.REQUEST.SESSION["filename"]
                     try:                      try:
                         nr=ids.index(filename)+colRows[0]*colRows[1]                          nr=ids.index(filename)+pagesize
                         if nr>=len(ids):                          if nr>=len(ids):
                             nr=len(ids)-1                              return ""
                     except:                      except:
                         nr=0                          nr=pagesize
                 else:                  else:
                     nr=0                      nr = pagesize
   
                 if nr==len(ids)-1:                  if nr>=len(ids)-1:
                     return ""                      return ""
                 else:                  else:
                     if selected:                      if selected:
                         return "<a href=\""+self.REQUEST['URL1']+"/selection?filename="+ids[nr]+"\" target=\"_top\">next set</a>"                          return "<a href=\""+self.REQUEST['URL1']+"/selection?filename="+ids[nr]+"\" target=\"_top\">"+text+"</a>"
                     else:                      else:
                         return "<a href=\""+self.REQUEST['URL1']+"?filename="+ids[nr]+"\" target=\"_top\">next set</a>"                          return "<a href=\""+self.REQUEST['URL1']+"?filename="+ids[nr]+"\" target=\"_top\">"+text+"</a>"
   
     def prevSets(self,selected=None):      def prevSets(self,selected=None,text='previous sets'):
                   
         """show nextimage"""          """show nextimage"""
         #return self.getId()          #return self.getId()
Line 1210  class ImageCollection(Folder, Persistent Line 1221  class ImageCollection(Folder, Persistent
                     return ""                      return ""
                 else:                  else:
                     if selected:                      if selected:
                         return "<a href=\""+self.REQUEST['URL1']+"/selection?filename="+ids[nr]+"\" target=\"_top\">previous sets</a>"                          return "<a href=\""+self.REQUEST['URL1']+"/selection?filename="+ids[nr]+"\" target=\"_top\">"+text+"</a>"
                     else:                      else:
                         return "<a href=\""+self.REQUEST['URL1']+"?filename="+ids[nr]+"\" target=\"_top\">previous sets</a>"                          return "<a href=\""+self.REQUEST['URL1']+"?filename="+ids[nr]+"\" target=\"_top\">"+text+"</a>"
             else:              else:
                 return ""                  return ""
   
   
     def showFolders(self):      def showFolders(self):
         """show subfolders"""          """show subfolders"""
         ret=""          ret=""
Line 1234  class ImageCollection(Folder, Persistent Line 1247  class ImageCollection(Folder, Persistent
                 ret+=link%(iC[1].absolute_url(),iC[0])                  ret+=link%(iC[1].absolute_url(),iC[0])
             ret+="<br>"              ret+="<br>"
             return ret              return ret
   
   
       def getSetSelector(self, selected=None):
           """returns the HTML select element for the sets"""
           actualNr=0
           ids=self.show_thumbs()
           colRows=self.getColTimesRow()
           pagesize = colRows[0]*colRows[1]
           numpages = int(len(ids)/pagesize)
           if not ((len(ids) % pagesize)==0):
               numpages+=1
       
           ret=""
           if numpages>1:
               if selected:
                   ret+="""<select onChange="parent.location.href='"""+self.REQUEST['URL1']+"""/selection?filename='+this.options[this.selectedIndex].value">"""
               else:
                   ret+="""<select onChange="parent.location.href='"""+self.REQUEST['URL1']+"""?filename='+this.options[this.selectedIndex].value">"""
                   
               for i in range(numpages):
                   try:
                     nr=ids.index(self.REQUEST.SESSION['filename'])
                   except:
                     nr=0
                   k=i * pagesize
                   if (k <= nr) and (nr < i*(pagesize+1)):
                      actualNr=i
                      ret+="""<option value="%s" selected>%i</option>"""%(ids[k], i + 1)
                   else:
                      ret+="""<option value="%s">%i</option>"""%(ids[k], i + 1)
                      
               ret+="</select>"
               
           return ret
   
       def isAllSets(self, showall=None):
           """returns if there are any sets"""
           ids=self.show_thumbs()
           colRows=self.getColTimesRow(showall=showall)
           pagesize = colRows[0]*colRows[1]
           return (len(ids) <= pagesize)
           
   
       def allSets(self, texton='show all', textoff='show groups'):
           """returns HTML to toggle 'show all'"""
           if self.isAllSets(showall='No'):
               return ""
           showall=self.REQUEST.SESSION.get('showall','no')
           if showall=='no':
               ret='<a href="'+self.REQUEST['URL1']+'?showall=yes" target="_top">'+texton+'</a>'
           else:
               ret='<a href="'+self.REQUEST['URL1']+'?showall=no" target="_top">'+textoff+'</a>'
           return ret
   
   
     def showRuler(self,selected=None):      def showRuler(self,selected=None):
         """show ruler"""          """show ruler"""
         showall =self.REQUEST.SESSION.get('showall','no')          showall =self.REQUEST.SESSION.get('showall','no')
Line 1316  class ImageCollection(Folder, Persistent Line 1384  class ImageCollection(Folder, Persistent
   
         return ret          return ret
           
       
     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 1352  class ImageCollection(Folder, Persistent Line 1421  class ImageCollection(Folder, Persistent
   
         RESPONSE.redirect(self.REQUEST['URL1']+"/setDone")          RESPONSE.redirect(self.REQUEST['URL1']+"/setDone")
                   
       def setDefaultColTimesRow(self, cols, rows):
           """sets default columns and rows"""
           self.defaultcols = cols
           self.defaultrows = rows
           
     def getColTimesRow(self,showall='No'):      def getColTimesRow(self,showall='No'):
         """coltimesrow"""          """coltimesrow"""
                   
         REQUEST=self.REQUEST          REQUEST=self.REQUEST
         """matrix"""          """matrix"""
         if REQUEST.cookies.has_key("ImageViewerRows"):          if REQUEST.cookies.has_key("ImageViewerRows"):
               
             try:              try:
                 rows=int(REQUEST.cookies["ImageViewerRows"])                  rows=int(REQUEST.cookies["ImageViewerRows"])
             except:              except:
                 rows=6                  rows=self.defaultrows
         else:          else:
             rows=6              rows=self.defaultrows
                           
         if REQUEST.cookies.has_key("ImageViewerCols"):          if REQUEST.cookies.has_key("ImageViewerCols"):
             #print "COLS",REQUEST.cookies["ImageViewerCols"]              #print "COLS",REQUEST.cookies["ImageViewerCols"]
             cols=int(REQUEST.cookies["ImageViewerCols"])              cols=int(REQUEST.cookies["ImageViewerCols"])
         else:          else:
             cols=2              cols=self.defaultcols
   
         idsnumber=len(self.show_thumbs())          idsnumber=len(self.show_thumbs())
         if rows:          if rows:
             if cols*rows >idsnumber:              if cols*rows >idsnumber:
                 rows=int(idsnumber/cols)+1                  rows=int(idsnumber/cols)+1
   
         #print cols,rows          if showall is None:
               showall=self.REQUEST.SESSION.get('showall', 'No')
         if showall=='yes':          if showall=='yes':
             rows=int(idsnumber/cols)+1              rows=int(idsnumber/cols)+1
                           
Line 1388  class ImageCollection(Folder, Persistent Line 1462  class ImageCollection(Folder, Persistent
         """Ausgabe anzahl"""          """Ausgabe anzahl"""
   
         idsAll=self.show_thumbs()          idsAll=self.show_thumbs()
         if len(idsAll)==0: #keine Einträge          if len(idsAll)==0: #keine Eintraege
             return 0              return 0
         if self.REQUEST.SESSION.has_key("filename") and not (showall=="yes"):          if self.REQUEST.SESSION.has_key("filename") and not (showall=="yes"):
             filename=self.REQUEST.SESSION["filename"]              filename=self.REQUEST.SESSION["filename"]
Line 1543  class ImageCollection(Folder, Persistent Line 1617  class ImageCollection(Folder, Persistent
         overview=self.ZopeFind(self,obj_ids=['overview.html'])          overview=self.ZopeFind(self,obj_ids=['overview.html'])
         if overview:          if overview:
             return overview[0][1]()              return overview[0][1]()
           elif hasattr(self,'templates'):
               pt=self.templates.imgcoll_main.__of__(self)
               return pt()
         else:          else:
             pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','overview.zpt')).__of__(self)              pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','overview.zpt')).__of__(self)
             return pt()              return pt()
           
       
 def manage_AddImageCollectionForm(self):  def manage_AddImageCollectionForm(self):
     """Nothing yet"""      """Nothing yet"""
     pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','AddImageCollectionForm.zpt')).__of__(self)      pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','AddImageCollectionForm.zpt')).__of__(self)

Removed from v.1.69  
changed lines
  Added in v.1.70


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