Mercurial > hg > documentViewer
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))) |