File:  [Repository] / ECHO_content / ECHO_helpers.py
Revision 1.20: download - view: text, annotated - select for diffs - revision graph
Tue Oct 19 18:44:26 2004 UTC (19 years, 7 months ago) by dwinter
Branches: MAIN
CVS tags: HEAD
bug in getfulltext fixed but only as hack!!!

    1: import socket
    2: import urllib
    3: 	
    4: def urlopen(url):
    5: 	"""urlopen mit timeout"""
    6: 	socket.setdefaulttimeout(2)
    7: 	ret=urllib.urlopen(url)
    8: 	socket.setdefaulttimeout(5)
    9: 	return ret
   10: #	urlopener = urllib.URLopener()
   11: #
   12: #	try:		
   13: #		con = urlopener.open(url)
   14: #		return con
   15: #	except timeoutsocket.Timeout:
   16: #		return None
   17: 
   18: 
   19: displayTypes = ['ZSQLExtendFolder','ZSQLBibliography','ECHO_group','ECHO_collection','ECHO_resource','ECHO_link','ECHO_sqlElement','ECHO_pageTemplate','ImageCollectionIFrame','VLP_resource','VLP_essay','ECHO_ZCatalogElement']
   20: 
   21: 
   22: def checkOnlyOneInGroup(object): 
   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
   26: 
   27: 		return displayedObjects[0][1]
   28: 	else:
   29: 		return object
   30: 
   31: def getSubCols(self,sortfield="weight",subColTypes= displayTypes):
   32: 
   33:         
   34:         ids=[]
   35: 	displayedObjects=self.ZopeFind(self,obj_metatypes=subColTypes)
   36: 	
   37: 	
   38: 	for entry in displayedObjects:
   39:             object=entry[1]
   40:             try:
   41:                 if object.meta_type in subColTypes:
   42: 			ids.append(object)
   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:
   55: 
   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>