Diff for /MPIWGWeb/Attic/MPIWGHelper.py between versions 1.1.2.5 and 1.1.2.11

version 1.1.2.5, 2008/08/27 21:08:40 version 1.1.2.11, 2010/07/23 17:30:38
Line 1 Line 1
 from types import *  from Products.PageTemplates.PageTemplateFile import PageTemplateFile
   
 import logging  import logging
   
 definedFields=['WEB_title','xdata_01','xdata_02','xdata_03','xdata_04','xdata_05','xdata_06','xdata_07','xdata_08','xdata_09','xdata_10','xdata_11','xdata_12','xdata_13','WEB_project_header','WEB_project_description','WEB_related_pub']  definedFields=['WEB_title','xdata_01','xdata_02','xdata_03','xdata_04','xdata_05','xdata_06','xdata_07','xdata_08','xdata_09','xdata_10','xdata_11','xdata_12','xdata_13','WEB_project_header','WEB_project_description','WEB_related_pub']
   
 checkFields = ['xdata_01']  checkFields = ['xdata_01']
Line 18  def getTextFromNode(nodename): Line 20  def getTextFromNode(nodename):
            rc = rc + node.data             rc = rc + node.data
     return rc      return rc
   
   def getTemplate(self, tpName):
       """get a template file either form the instance or from the product"""
       #ext=self.ZopeFind(self.aq_parent,obj_ids=[tpName])
       if hasattr(self,tpName):
           pt = getattr(self,tpName)
       else:
           pt=PageTemplateFile('zpt/'+tpName, globals()).__of__(self)
       assert(pt)
       return pt
   
 def sortStopWordsF(self,xo,yo):  def sortStopWordsF(self,xo,yo):
     if not hasattr(self,'_v_stopWords'):      if not hasattr(self,'_v_stopWords'):
Line 75  def sortI(x,y): Line 86  def sortI(x,y):
         return cmp(x[1],y[1])          return cmp(x[1],y[1])
   
   
 def unicodify(str):  def unicodify(s):
     """decode str (utf-8 or latin-1 representation) into unicode object"""      """decode str (utf-8 or latin-1 representation) into unicode object"""
     logging.error("unicodify: %s"%str)      if not s:
     if not str:          return u""
         return ""      if isinstance(s, str):
     if type(str) is StringType:  
         try:          try:
             return str.decode('utf-8')              return s.decode('utf-8')
         except:          except:
             return str.decode('latin-1')              return s.decode('latin-1')
     else:      else:
         return str          return s
   
 def utf8ify(str):  def utf8ify(s):
     """encode unicode object or string into byte string in utf-8 representation"""      """encode unicode object or string into byte string in utf-8 representation.
     if not str:         assumes string objects to be utf-8"""
       if not s:
         return ""          return ""
     if type(str) is StringType:      if isinstance(s, str):
         return str          return s
     else:      else:
         return str.encode('utf-8')          return s.encode('utf-8')
   
   
   def shortenString(s, l, ellipsis='...'):
       """returns a string of length l (or l-1) by omitting characters in the middle of s, replacing with ellipsis."""
       l1 = int((l - len(ellipsis)) / 2)
       return "%s%s%s"%(s[:l1],ellipsis,s[-l1:])
   
   
   #
   # navigation methods (should better be a mixin class)
   #
   def getBreadcrumbs(self):
       """return list of breadcrumbs from here to the root"""
       crumbs = [(self.title, self.absolute_url(), self)]
       parent = self.aq_parent
       if hasattr(parent, 'getBreadcrumbs'):
           if self.title:
               return parent.getBreadcrumbs() + crumbs
           else:
               # if there's no title, skip this level
               return parent.getBreadcrumbs()
           
       return crumbs
   
   
   def getSection(self, crumbs=None):
       """returns the current section name"""
       # use breadcrumbs if available
       if crumbs is not None and len(crumbs) > 0:
           return crumbs[0][2].getId()
   
       p = self
       sec = None
       # descend parents to the root (and remember the last id)
       while p is not None and p.meta_type != 'MPIWGRoot':
           sec = p.getId()
           p = p.aq_parent
       
       return sec
   
   def getSubSection(self, crumbs=None):
       """returns the current subsection name"""
       # use breadcrumbs if available
       if crumbs is not None and len(crumbs) > 1:
           return crumbs[1][2].getId()
   
       p = self
       sec = None
       subsec = None
       # descend parents to the root (and remember the last id)
       while p is not None and p.meta_type != 'MPIWGRoot':
           subsec = sec
           sec = p.getId()
           p = p.aq_parent
       
       return subsec
   

Removed from v.1.1.2.5  
changed lines
  Added in v.1.1.2.11


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