Annotation of ECHO_content/ECHO_helpers.py, revision 1.15
1.15 ! dwinter 1: import timeoutsocket
! 2: import urllib
! 3:
! 4: def urlopen(url):
! 5: """urlopen mit timeout"""
! 6: timeoutsocket.setDefaultSocketTimeout(1)
! 7: urlopener = urllib.URLopener()
! 8: try:
! 9: con = urlopener.open(url)
! 10: return con
! 11: except timeoutsocket.Timeout:
! 12: return None
! 13:
! 14:
1.14 dwinter 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']
1.11 dwinter 16:
1.6 dwinter 17:
1.14 dwinter 18: def checkOnlyOneInGroup(object):
1.6 dwinter 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
1.8 dwinter 22:
1.6 dwinter 23: return displayedObjects[0][1]
24: else:
25: return object
26:
27: def getSubCols(self,sortfield="weight",subColTypes= displayTypes):
1.1 dwinter 28:
1.3 dwinter 29:
1.1 dwinter 30: ids=[]
1.6 dwinter 31: displayedObjects=self.ZopeFind(self,obj_metatypes=subColTypes)
32:
33:
34: for entry in displayedObjects:
1.3 dwinter 35: object=entry[1]
1.1 dwinter 36: try:
37: if object.meta_type in subColTypes:
1.6 dwinter 38: ids.append(object)
1.1 dwinter 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:
1.7 dwinter 51:
1.1 dwinter 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>