--- ECHO_content/ECHO_helpers.py 2004/04/16 09:45:32 1.1 +++ ECHO_content/ECHO_helpers.py 2004/10/19 18:44:26 1.20 @@ -1,12 +1,45 @@ -def getSubCols(self,sortfield="weight"): +import socket +import urllib + +def urlopen(url): + """urlopen mit timeout""" + socket.setdefaulttimeout(2) + ret=urllib.urlopen(url) + socket.setdefaulttimeout(5) + return ret +# urlopener = urllib.URLopener() +# +# try: +# con = urlopener.open(url) +# return con +# except timeoutsocket.Timeout: +# return None - subColTypes=['ECHO_collection','ECHO_externalLink','ECHO_resource'] + +displayTypes = ['ZSQLExtendFolder','ZSQLBibliography','ECHO_group','ECHO_collection','ECHO_resource','ECHO_link','ECHO_sqlElement','ECHO_pageTemplate','ImageCollectionIFrame','VLP_resource','VLP_essay','ECHO_ZCatalogElement'] + + +def checkOnlyOneInGroup(object): + """check if object is a group and if it containt only one element it return this element""" + displayedObjects=object.ZopeFind(object,obj_metatypes=displayTypes) + if len(displayedObjects)==1: # nur ein Object dann redirect auf dieses Object + + return displayedObjects[0][1] + else: + return object + +def getSubCols(self,sortfield="weight",subColTypes= displayTypes): + + ids=[] - for entry in self.__dict__.keys(): - object=getattr(self,entry) + displayedObjects=self.ZopeFind(self,obj_metatypes=subColTypes) + + + for entry in displayedObjects: + object=entry[1] try: if object.meta_type in subColTypes: - ids.append(object) + ids.append(object) except: """nothing""" @@ -19,6 +52,7 @@ def getSubCols(self,sortfield="weight"): for x in ids: if hasattr(x,sortfield): try: + x=int(x) except: """nothing"""