Annotation of ECHO_content/ECHO_xslt.py, revision 1.1
1.1 ! dwinter 1: ### XSLT Class ###
! 2: ### setzt 4 suite vorraus ###
! 3:
! 4: from Products.PageTemplates.PageTemplateFile import PageTemplateFile
! 5: from Globals import DTMLFile
! 6: from ECHO_Nav import ECHO_pageTemplate
! 7:
! 8: from Globals import package_home
! 9:
! 10: import os.path
! 11:
! 12: import urllib
! 13:
! 14: try:
! 15: from Ft.Xml.Xslt.Processor import Processor
! 16: from Ft.Xml import InputSource
! 17:
! 18: except:
! 19: print "4suite has to be installed"
! 20:
! 21:
! 22: class ECHO_xslt(ECHO_pageTemplate):
! 23: """ECHO_xslt classe"""
! 24:
! 25: meta_type="ECHO_xslt"
! 26:
! 27: def xslt(self):
! 28: """standard ausgabe"""
! 29:
! 30: self.cgiUrl="http://nausikaa2.mpiwg-berlin.mpg.de/cgi-bin/search/q1"
! 31:
! 32: qs="%s?%s"%(self.cgiUrl,self.REQUEST['QUERY_STRING'])
! 33:
! 34: #urlH=urllib.urlopen(qs)
! 35: #xml=urlH.read()
! 36: #urlH.close()
! 37: #print xml
! 38: #return xml
! 39:
! 40: xsltproc=Processor()
! 41: document = InputSource.DefaultFactory.fromUri(qs)
! 42: stylesheet = InputSource.DefaultFactory.fromUri(self.absolute_url())
! 43: xsltproc.appendStylesheet(stylesheet)
! 44:
! 45: html=xsltproc.run(document)
! 46:
! 47: return html
! 48:
! 49:
! 50: def manage_addECHO_xsltForm(self):
! 51: """Form for adding"""
! 52: pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','AddECHO_xslt.zpt')).__of__(self)
! 53: return pt()
! 54:
! 55: from urllib import quote
! 56:
! 57:
! 58: def manage_addECHO_xslt(self, id, label, weight= 0,contentType=0,title=None, text=None,
! 59: REQUEST=None, submit=None):
! 60: "Add a Page Template with optional file content."
! 61:
! 62:
! 63: id = str(id)
! 64: if REQUEST is None:
! 65: self._setObject(id, ECHO_xslt(id, text))
! 66: ob = getattr(self, id)
! 67: setattr(ob,'weight',weight)
! 68: setattr(ob,'label',label)
! 69: setattr(ob,'contentType',contentType)
! 70: if title:
! 71: ob.pt_setTitle(title)
! 72: return ob
! 73: else:
! 74: file = REQUEST.form.get('file')
! 75: headers = getattr(file, 'headers', None)
! 76: if headers is None or not file.filename:
! 77: zpt = ECHO_xslt(id)
! 78: else:
! 79: zpt = ECHO_xslt(id, file, headers.get('contentType'))
! 80:
! 81: self._setObject(id, zpt)
! 82: ob = getattr(self, id)
! 83: setattr(ob,'weight',weight)
! 84: setattr(ob,'label',label)
! 85: if title:
! 86: ob.pt_setTitle(title)
! 87:
! 88: try:
! 89: u = self.DestinationURL()
! 90: except AttributeError:
! 91: u = REQUEST['URL1']
! 92:
! 93: if submit == " Add and Edit ":
! 94: u = "%s/%s" % (u, quote(id))
! 95: REQUEST.RESPONSE.redirect(u+'/manage_main')
! 96: return ''
! 97:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>