File:  [Repository] / ECHO_content / ECHO_helpers.py
Revision 1.14: download - view: text, annotated - select for diffs - revision graph
Fri Jun 25 11:02:16 2004 UTC (19 years, 11 months ago) by dwinter
Branches: MAIN
CVS tags: HEAD
added ZCatalogElemenr

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

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