Annotation of ECHO_content/ECHO_helpers.py, revision 1.20

1.17      dwinter     1: import socket
1.15      dwinter     2: import urllib
1.16      dwinter     3:    
1.15      dwinter     4: def urlopen(url):
                      5:    """urlopen mit timeout"""
1.20    ! dwinter     6:    socket.setdefaulttimeout(2)
        !             7:    ret=urllib.urlopen(url)
1.18      dwinter     8:    socket.setdefaulttimeout(5)
1.20    ! dwinter     9:    return ret
1.17      dwinter    10: #  urlopener = urllib.URLopener()
                     11: #
                     12: #  try:        
                     13: #      con = urlopener.open(url)
                     14: #      return con
                     15: #  except timeoutsocket.Timeout:
                     16: #      return None
1.15      dwinter    17: 
                     18: 
1.19      dwinter    19: displayTypes = ['ZSQLExtendFolder','ZSQLBibliography','ECHO_group','ECHO_collection','ECHO_resource','ECHO_link','ECHO_sqlElement','ECHO_pageTemplate','ImageCollectionIFrame','VLP_resource','VLP_essay','ECHO_ZCatalogElement']
1.11      dwinter    20: 
1.6       dwinter    21: 
1.14      dwinter    22: def checkOnlyOneInGroup(object): 
1.6       dwinter    23:    """check if object is a group and if it containt only one element it return this element"""
                     24:    displayedObjects=object.ZopeFind(object,obj_metatypes=displayTypes)
                     25:    if len(displayedObjects)==1: # nur ein Object dann redirect auf dieses Object
1.8       dwinter    26: 
1.6       dwinter    27:        return displayedObjects[0][1]
                     28:    else:
                     29:        return object
                     30: 
                     31: def getSubCols(self,sortfield="weight",subColTypes= displayTypes):
1.1       dwinter    32: 
1.3       dwinter    33:         
1.1       dwinter    34:         ids=[]
1.6       dwinter    35:    displayedObjects=self.ZopeFind(self,obj_metatypes=subColTypes)
                     36:    
                     37:    
                     38:    for entry in displayedObjects:
1.3       dwinter    39:             object=entry[1]
1.1       dwinter    40:             try:
                     41:                 if object.meta_type in subColTypes:
1.6       dwinter    42:            ids.append(object)
1.1       dwinter    43:                     
                     44:             except:
                     45:                 """nothing"""
                     46:         try:
                     47:             sortfield=self.sortfield
                     48:         except:
                     49:             """nothing"""
                     50:             
                     51:         tmplist=[]
                     52:         for x in ids:
                     53:             if hasattr(x,sortfield):
                     54:                 try:
1.7       dwinter    55: 
1.1       dwinter    56:                     x=int(x)
                     57:                 except:
                     58:                     """nothing"""
                     59:                 tmp=getattr(x,sortfield)
                     60:             else:
                     61:                 tmp=10000000
                     62:             tmplist.append((tmp,x))
                     63:         tmplist.sort()
                     64:         return [x for (key,x) in tmplist]

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