comparison MpdlXmlTextServer.py @ 432:8d8f2cbd6213

*** empty log message ***
author abukhman
date Fri, 18 Feb 2011 12:21:46 +0100
parents 630a4581992a
children 44ccb7bd0938
comparison
equal deleted inserted replaced
431:630a4581992a 432:8d8f2cbd6213
174 myList = ",".join(hrefList) 174 myList = ",".join(hrefList)
175 logging.debug("getALLGisPlaces :%s"%(myList)) 175 logging.debug("getALLGisPlaces :%s"%(myList))
176 return myList 176 return myList
177 177
178 178
179 def getTextPage(self, mode="text", pn=1, docinfo=None, pageinfo=None): 179 def getTextPage(self, mode="text_dict", pn=1, docinfo=None, pageinfo=None):
180 """returns single page from fulltext""" 180 """returns single page from fulltext"""
181 docpath = docinfo['textURLPath'] 181 docpath = docinfo['textURLPath']
182 path = docinfo['textURLPath'] 182 path = docinfo['textURLPath']
183 url = docinfo.get('url',None) 183 url = docinfo.get('url',None)
184 name = docinfo.get('name',None) 184 name = docinfo.get('name',None)
185 pn =pageinfo['current'] 185 pn =pageinfo['current']
186 viewMode= pageinfo['viewMode'] 186 #viewMode= pageinfo['viewMode']
187
187 sn = pageinfo['sn'] 188 sn = pageinfo['sn']
188 highlightQuery = pageinfo['highlightQuery'] 189 highlightQuery = pageinfo['highlightQuery']
189 #mode = pageinfo ['viewMode'] 190 #mode = pageinfo ['viewMode']
190 tocMode = pageinfo['tocMode'] 191 tocMode = pageinfo['tocMode']
191 characterNormalization=pageinfo['characterNormalization'] 192 characterNormalization=pageinfo['characterNormalization']
300 #return docinfo 301 #return docinfo
301 302
302 # plain text mode 303 # plain text mode
303 if mode == "text": 304 if mode == "text":
304 # first div contains text 305 # first div contains text
306 #mode = viewMode
305 pagedivs = dom.xpath("/div") 307 pagedivs = dom.xpath("/div")
306 if len(pagedivs) > 0: 308 if len(pagedivs) > 0:
307 pagenode = pagedivs[0] 309 pagenode = pagedivs[0]
308 links = pagenode.xpath("//a") 310 links = pagenode.xpath("//a")
309 for l in links: 311 for l in links:
310 hrefNode = l.getAttributeNodeNS(None, u"href") 312 hrefNode = l.getAttributeNodeNS(None, u"href")
311 if hrefNode: 313 if hrefNode:
312 href= hrefNode.nodeValue 314 href= hrefNode.nodeValue
313 if href.startswith('#note-'): 315 if href.startswith('#note-'):
314 hrefNode.nodeValue = href.replace('#note-',"?url=%s&viewMode=%s&tocMode=%s&tocPN=%s&pn=%s#note-"%(url,viewMode,tocMode,tocPN,pn)) 316 hrefNode.nodeValue = href.replace('#note-',"?url=%s&viewMode=text&tocMode=%s&tocPN=%s&pn=%s#note-"%(url,tocMode,tocPN,pn))
315 return serializeNode(pagenode) 317 return serializeNode(pagenode)
316 if mode == "xml": 318 if mode == "xml":
317 # first div contains text 319 # first div contains text
318 pagedivs = dom.xpath("/div") 320 pagedivs = dom.xpath("/div")
319 if len(pagedivs) > 0: 321 if len(pagedivs) > 0:
341 pagenode = pagedivs[0] 343 pagenode = pagedivs[0]
342 return serializeNode(pagenode) 344 return serializeNode(pagenode)
343 # text-with-links mode 345 # text-with-links mode
344 if mode == "text_dict": 346 if mode == "text_dict":
345 # first div contains text 347 # first div contains text
348 #mode = pageinfo ['viewMode']
346 pagedivs = dom.xpath("/div") 349 pagedivs = dom.xpath("/div")
347 if len(pagedivs) > 0: 350 if len(pagedivs) > 0:
348 pagenode = pagedivs[0] 351 pagenode = pagedivs[0]
349 # check all a-tags 352 # check all a-tags
350 links = pagenode.xpath("//a") 353 links = pagenode.xpath("//a")
367 hrefNode.nodeValue = href.replace('lt/lemma.xql','%s/template/head_main_lemma'%selfurl) 370 hrefNode.nodeValue = href.replace('lt/lemma.xql','%s/template/head_main_lemma'%selfurl)
368 l.setAttributeNS(None, 'target', '_blank') 371 l.setAttributeNS(None, 'target', '_blank')
369 l.setAttributeNS(None, 'onClick',"popupWin = window.open(this.href, 'contacts', 'location,width=500,height=600,top=180, left=700, scrollbars=1'); return false;") 372 l.setAttributeNS(None, 'onClick',"popupWin = window.open(this.href, 'contacts', 'location,width=500,height=600,top=180, left=700, scrollbars=1'); return false;")
370 l.setAttributeNS(None, 'onClick', 'popupWin.focus();') 373 l.setAttributeNS(None, 'onClick', 'popupWin.focus();')
371 if href.startswith('#note-'): 374 if href.startswith('#note-'):
372 hrefNode.nodeValue = href.replace('#note-',"?url=%s&viewMode=%s&tocMode=%s&tocPN=%s&pn=%s#note-"%(url,viewMode,tocMode,tocPN,pn)) 375 hrefNode.nodeValue = href.replace('#note-',"?url=%s&viewMode=text_dict&tocMode=%s&tocPN=%s&pn=%s#note-"%(url,tocMode,tocPN,pn))
373 return serializeNode(pagenode) 376 return serializeNode(pagenode)
374 return "no text here" 377 return "no text here"
375
376 def getText(self, mode="text", pn=1, docinfo=None, pageinfo=None):
377 data = self.getTextPage(mode="text", pn=1 ,docinfo=docinfo, pageinfo=pageinfo)
378 logging.debug("TEXT ALL data: %s"%(data))
379 return data
380
381 def getXML(self, mode="xml", pn=1, docinfo=None, pageinfo=None):
382 data = self.getTextPage(mode="xml", pn=1 ,docinfo=docinfo, pageinfo=pageinfo)
383 logging.debug("TEXT ALL data: %s"%(data))
384 return data
385
386 def getDictionary(self, mode="text_dict", pn=1, docinfo=None, pageinfo=None):
387 data = self.getTextPage(mode="text_dict", pn=1 ,docinfo=docinfo, pageinfo=pageinfo)
388 logging.debug("TEXT ALL data: %s"%(data))
389 return data
390 378
391 def getTranslate(self, query=None, language=None): 379 def getTranslate(self, query=None, language=None):
392 """translate into another languages""" 380 """translate into another languages"""
393 data = self.getServerData("lt/lex.xql","document=&language="+str(language)+"&query="+urllib.quote(query)) 381 data = self.getServerData("lt/lex.xql","document=&language="+str(language)+"&query="+urllib.quote(query))
394 #pagexml=self.template.fulltextclient.eval("/mpdl/interface/lt/lex.xql","document=&language="+str(language)+"&query="+url_quote(str(query))) 382 #pagexml=self.template.fulltextclient.eval("/mpdl/interface/lt/lex.xql","document=&language="+str(language)+"&query="+url_quote(str(query)))