--- ECHO_content/ECHO_helpers.py 2004/08/18 12:41:00 1.16 +++ ECHO_content/ECHO_helpers.py 2004/10/27 14:23:24 1.21 @@ -1,18 +1,54 @@ -import timeoutsocket +import socket import urllib -timeoutsocket.setDefaultSocketTimeout(2) -urlopener = urllib.URLopener() +import xml.dom.minidom + +def getText(nodelist): + + rc = "" + for node in nodelist: + if node.nodeType == node.TEXT_NODE: + rc = rc + node.data + return rc + + +def readFieldFromXML(meta_url,parent,field): + """lesespezifisches metadatum""" + + try: + dom=xml.dom.minidom.parse(meta_url) + + except: + fh=urllib.urlopen(meta_url) + dom=xml.dom.minidom.parse(fh) + if not dom: return None + + parent=dom.getElementsByTagName(parent) + if not dom: return None + + field=parent[0].getElementsByTagName(field) + + if not field: return None + + return getText(field[0].childNodes) + + def urlopen(url): """urlopen mit timeout""" - try: - con = urlopener.open(url) - return con - except timeoutsocket.Timeout: - return None + 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 -displayTypes = ['ZSQLExtendFolder','ZSQLBibliography','ECHO_group','ECHO_collection','ECHO_resource','ECHO_link','ECHO_sqlElement','ECHO_pageTemplate','ImageCollectionIFrame','VLP_resource','VLP_collection','VLP_essay','ECHO_ZCatalogElement'] +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):