version 1.18, 2007/01/09 17:01:01
|
version 1.23.2.1, 2011/10/13 07:48:27
|
Line 17 except:
|
Line 17 except:
|
import sys |
import sys |
import urllib |
import urllib |
import urlparse |
import urlparse |
from Ft.Xml.Domlette import Print, PrettyPrint |
#from Ft.Xml.Domlette import Print, PrettyPrint |
from StringIO import StringIO |
from StringIO import StringIO |
from types import * |
from types import * |
from Globals import package_home |
from Globals import package_home |
Line 26 import transaction
|
Line 26 import transaction
|
import os.path |
import os.path |
|
|
import urllib,cgi |
import urllib,cgi |
|
import logging |
try: |
#try: |
from Ft.Xml.Xslt.Processor import Processor |
# from Ft.Xml.Xslt.Processor import Processor |
from Ft.Xml import InputSource, EMPTY_NAMESPACE,Parse |
# from Ft.Xml import InputSource, EMPTY_NAMESPACE,Parse |
from Ft.Xml.Domlette import NonvalidatingReader |
# from Ft.Xml.Domlette import NonvalidatingReader |
except: |
#except: |
print "4suite has to be installed" |
# print "4suite has to be installed" |
|
|
|
|
class getXML(Implicit): |
class getXML(Thread): |
"""get XML thread""" |
"""get XML thread""" |
|
|
def set(self,qs,xsl,result): |
def set(self,qs,xsl,result): |
Line 63 class getXML(Implicit):
|
Line 63 class getXML(Implicit):
|
|
|
def __call__(self): |
def __call__(self): |
"""wait""" |
"""wait""" |
|
self.run() |
return True |
return True |
|
|
def run(self): |
def run(self): |
Line 71 class getXML(Implicit):
|
Line 72 class getXML(Implicit):
|
|
|
try: |
try: |
|
|
urlH=urllib.urlopen(self._v_qs) |
#urlH=urllib.urlopen(self._v_qs) |
xml=urlH.read() |
#xml=urlH.read() |
urlH.close() |
#urlH.close() |
xsltproc=Processor() |
xsltproc=Processor() |
document = InputSource.DefaultFactory.fromString(xml) |
logging.debug("start XML") |
|
document = InputSource.DefaultFactory.fromUri(self._v_qs) |
|
|
stylesheet = InputSource.DefaultFactory.fromUri(self.xsl) |
stylesheet = InputSource.DefaultFactory.fromUri(self.xsl) |
|
logging.debug("got all files XML") |
xsltproc.appendStylesheet(stylesheet) |
xsltproc.appendStylesheet(stylesheet) |
|
logging.debug("got all files do the transform") |
|
|
#print self.xsl |
#print self.xsl |
#< xsltproc.run(document) |
#< xsltproc.run(document) |
Line 106 from ZODB.FileStorage import FileStorage
|
Line 108 from ZODB.FileStorage import FileStorage
|
class ECHO_cache: |
class ECHO_cache: |
def __init__(self): |
def __init__(self): |
"""init the storage""" |
"""init the storage""" |
|
|
|
try: |
self.storage=FileStorage(os.path.join(INSTANCE_HOME,"var/echo_cache.fs")) |
self.storage=FileStorage(os.path.join(INSTANCE_HOME,"var/echo_cache.fs")) |
|
|
self.db=DB(self.storage) |
self.db=DB(self.storage) |
self.connection=self.db.open() |
self.connection=self.db.open() |
self.root=self.connection.root() |
self.root=self.connection.root() |
|
except: |
|
pass |
|
|
def deleteObject(self,name,pn=None): |
def deleteObject(self,name,pn=None): |
"""delete an object from cache""" |
"""delete an object from cache""" |
Line 212 class ECHO_xslt(ECHO_pageTemplate,ECHO_l
|
Line 219 class ECHO_xslt(ECHO_pageTemplate,ECHO_l
|
|
|
if not threadName or threadName=="": |
if not threadName or threadName=="": |
|
|
#abwaertskompatibilitt mit altem nivht konfigurierbaren prototypen |
|
|
# compatibility with old prototype |
|
|
if getattr(self,'cgiUrl','')=='': |
if getattr(self,'cgiUrl','')=='': |
self.cgiUrl="http://medea.mpiwg-berlin.mpg.de/cgi-bin/search/q1" |
self.cgiUrl="http://medea.mpiwg-berlin.mpg.de/cgi-bin/search/q1" |
|
|
qs="%s%s"%(self.cgiUrl,self.REQUEST['QUERY_STRING']) |
qs="%s%s"%(self.cgiUrl,self.REQUEST['QUERY_STRING']) |
xsl=self.absolute_url()+"/xslt" |
xsl=self.absolute_url()+"/xslt" |
self._v_xmltrans=getXML().__of__(self) |
#self._v_xmltrans=getXML().__of__(self) |
|
self._v_xmltrans=getXML() |
#self._xmltrans.start() |
#self._xmltrans.start() |
thread=Thread(target=self._v_xmltrans) |
#thread=Thread(target=self._v_xmltrans) |
thread.start() |
#thread.start() |
|
logging.debug("Thread prepared") |
self._v_xmltrans.set(qs,xsl,None) |
self._v_xmltrans.set(qs,xsl,None) |
self._v_xmltrans.run() |
self._v_xmltrans.start() |
|
logging.debug("Thread started") |
|
|
self.threadName=thread.getName()[0:] |
#self.threadName=thread.getName()[0:] |
|
self.threadName=self._v_xmltrans.getName()[0:] |
wait_template=self.aq_parent.ZopeFind(self.aq_parent,obj_ids=['wait_template']) |
wait_template=self.aq_parent.ZopeFind(self.aq_parent,obj_ids=['wait_template']) |
if wait_template: |
if wait_template: |
return wait_template[0][1]() |
return wait_template[0][1]() |
Line 480 class ECHO_xslt(ECHO_pageTemplate,ECHO_l
|
Line 491 class ECHO_xslt(ECHO_pageTemplate,ECHO_l
|
"""get the text |
"""get the text |
wie der text geholt wird liegt an der konfiguration, |
wie der text geholt wird liegt an der konfiguration, |
is appendQueryString gesetzt, dann wir jeweils der Querystring an vorgebenen url gesetzt, erwartet wird fn= |
is appendQueryString gesetzt, dann wir jeweils der Querystring an vorgebenen url gesetzt, erwartet wird fn= |
fr den Pfad, is passURL gesetzt, dann wird falls fn= eine vollstndige url enthlt, diese anstelle der in cgiurl definierten genommen. |
fuer den Pfad, is passURL gesetzt, dann wird falls fn= eine vollstaendige url enthaelt, diese anstelle der in cgiurl definierten genommen. |
""" |
""" |
|
|
if getattr(self,'passURL',False) and self.REQUEST.has_key('fn') and (urlparse.urlparse(self.REQUEST['fn'])[0]=='http'): |
if getattr(self,'passURL',False) and self.REQUEST.has_key('fn') and (urlparse.urlparse(self.REQUEST['fn'])[0]=='http'): |
Line 577 class ECHO_xslt(ECHO_pageTemplate,ECHO_l
|
Line 588 class ECHO_xslt(ECHO_pageTemplate,ECHO_l
|
if parent: |
if parent: |
parent[0].removeChild(node) |
parent[0].removeChild(node) |
except: |
except: |
zLOG.LOG("ECHO_Resource (getAccessRightMD)", zLOG.INFO,"%s (%s)"%sys.exc_info()[0:2]) |
logger("ECHO_Resource (getAccessRightMD)", logging.INFO,"%s (%s)"%sys.exc_info()[0:2]) |
strio = StringIO() |
strio = StringIO() |
PrettyPrint(dom,strio) |
PrettyPrint(dom,strio) |
xmlstr = strio.getvalue() |
xmlstr = strio.getvalue() |