File:  [Repository] / ECHO_content / ECHO_helpers.py
Revision 1.16: download - view: text, annotated - select for diffs - revision graph
Wed Aug 18 12:41:00 2004 UTC (19 years, 9 months ago) by dwinter
Branches: MAIN
CVS tags: HEAD
template for transcription added

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

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