--- ECHO_content/ECHO_Nav.py 2005/11/24 18:31:31 1.65 +++ ECHO_content/ECHO_Nav.py 2005/12/04 09:10:55 1.67 @@ -430,6 +430,32 @@ class ECHO_navigation(Folder): """Navigations Element""" meta_type="ECHO_Navigation" + def searchExternalCollection(self,url,simpleSearch): + """search external collection via xmlrpc""" + server=xmlrpclib.Server(url) + + results=server.getSubcolsXMLRpc(simpleSearch) + + return results + + def getXMLRpcConnection(self,url): + """getxmlrpc""" + if not hasattr(self,"_v_server"): + self._v_server=[] + + server=xmlrpclib.Server(url) + self._v_server.append(server) + + return len(self._v_server)-1 + + def getXMLRpcMethod(self,nr,method,compressed=None): + """getmethod""" + + ret= eval('self._v_server[%i].%s'%(nr,method)) + if compressed: + ret=decodeRPC(ret) + return ret + def getNavInfo(self): """root informationen""" if hasattr(self,'logo_image'): @@ -934,13 +960,14 @@ def manage_addECHO_navigation(self,id,ti def createPath(self,url1,url2): #bugfix in absolute_url, ploetzlich erschein in absolute_url der physikalische pfad. - vp="/".join(self.REQUEST['VirtualRootPhysicalPath']) - if vp[0]=="/": - vp=vp[1:] - - url2=url2.replace(vp+"/",'') - - + if self.REQUEST.has_key('VirtualRootPhysicalPath'): + vp="/".join(self.REQUEST['VirtualRootPhysicalPath']) + if vp[0]=="/": + vp=vp[1:] + + url2=url2.replace(vp+"/",'') + + return url1+"/"+url2 def sortWeight(x,y):