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