Diff for /ECHO_content/ECHO_xslt.py between versions 1.5 and 1.6

version 1.5, 2005/10/26 08:35:53 version 1.6, 2006/09/09 00:10:01
Line 10  from ECHO_helpers import * Line 10  from ECHO_helpers import *
 import sys  import sys
 import urllib  import urllib
 import urlparse  import urlparse
   from Ft.Xml.Domlette import Print, PrettyPrint
   
   
 from Globals import package_home  from Globals import package_home
Line 22  import urllib Line 22  import urllib
   
 try:  try:
     from Ft.Xml.Xslt.Processor import Processor      from Ft.Xml.Xslt.Processor import Processor
     from Ft.Xml import InputSource      from Ft.Xml import InputSource, EMPTY_NAMESPACE,Parse
       
 except:  except:
     print "4suite has to be installed"      print "4suite has to be installed"
   
Line 61  class getXML(Implicit): Line 60  class getXML(Implicit):
     def run(self):      def run(self):
         """call it"""          """call it"""
         xml=""          xml=""
                   print "X",self._v_qs
         try:          try:
       
             urlH=urllib.urlopen(self._v_qs)              urlH=urllib.urlopen(self._v_qs)
Line 141  class ECHO_xslt(ECHO_pageTemplate): Line 140  class ECHO_xslt(ECHO_pageTemplate):
             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._xmltrans.start()              #self._xmltrans.start()
Line 173  class ECHO_xslt(ECHO_pageTemplate): Line 172  class ECHO_xslt(ECHO_pageTemplate):
                 return self._v_xmltrans.getResult()                  return self._v_xmltrans.getResult()
   
           
       def getPage(self,pn):
           """get a page from an xml"""
           pn=int(pn)
           impl=xml.dom.getDOMImplementation()
           newDoc=impl.createDocument(EMPTY_NAMESPACE,None,None
                                      )
           root=newDoc.createElement('page')
           newDoc.appendChild(root)
      
           xmlt=urllib.urlopen("%s"%self.cgiUrl).read()
           dom=Parse(xmlt)
          
           pbs=dom.xpath("//pb")
           beginNode=pbs[pn] #take the n'th pb
           endNode=pbs[pn+1]
           follower=beginNode.xpath('following::node()')
           #root.appendChild(beginNode)
           found=[]
          
           for node in endNode.xpath('preceding::node()'):
               if node in follower:
                   found.append(node)
       
           #rempove all children of parents which are also in the list
           for x in found:
               for child in x.xpath(".//*"):
                   try:
                     
                       nr=found.index(child)
                  
                       del(found[nr])
                   except:
                       pass
   
           found.append(endNode)
          
           for x in found:
               PrettyPrint(x)
   
   
           
 def manage_addECHO_xsltForm(self):  def manage_addECHO_xsltForm(self):
     """Form for adding"""      """Form for adding"""
     pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','AddECHO_xslt.zpt')).__of__(self)      pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','AddECHO_xslt.zpt')).__of__(self)

Removed from v.1.5  
changed lines
  Added in v.1.6


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>