comparison MpdlXmlTextServer.py @ 442:9148eac0cab3

*** empty log message ***
author abukhman
date Thu, 28 Apr 2011 11:58:39 +0200
parents 542d0aaf30bb
children ad5c3dedfc18
comparison
equal deleted inserted replaced
441:542d0aaf30bb 442:9148eac0cab3
39 def getServerData(self, method, data=None): 39 def getServerData(self, method, data=None):
40 """returns result from text server for method+data""" 40 """returns result from text server for method+data"""
41 url = self.serverUrl+method 41 url = self.serverUrl+method
42 return documentViewer.getHttpData(url,data,timeout=self.timeout) 42 return documentViewer.getHttpData(url,data,timeout=self.timeout)
43 43
44 def getSearch(self, pageinfo=None, docinfo=None, lemma=None): 44 def getSearch(self, pageinfo=None, docinfo=None):
45 """get search list""" 45 """get search list"""
46 docpath = docinfo['textURLPath'] 46 docpath = docinfo['textURLPath']
47 url = docinfo['url'] 47 url = docinfo['url']
48 pagesize = pageinfo['queryPageSize'] 48 pagesize = pageinfo['queryPageSize']
49 pn = pageinfo.get('searchPN',1) 49 pn = pageinfo.get('searchPN',1)
101 if href.startswith('page-fragment.xql'): 101 if href.startswith('page-fragment.xql'):
102 selfurl = self.absolute_url() 102 selfurl = self.absolute_url()
103 pagexml=href.replace('mode=text','mode=texttool&viewMode=%s&queryType=%s&query=%s&queryResultPageSize=%s&queryResultPN=%s&tocMode=%s&searchPN=%s&tocPN=%s&optionToggle=%s&characterNormalization=%s'%(viewMode,queryType,urllib.quote(query),pagesize,pn,tocMode,pn,tocPN,optionToggle,characterNormalization)) 103 pagexml=href.replace('mode=text','mode=texttool&viewMode=%s&queryType=%s&query=%s&queryResultPageSize=%s&queryResultPN=%s&tocMode=%s&searchPN=%s&tocPN=%s&optionToggle=%s&characterNormalization=%s'%(viewMode,queryType,urllib.quote(query),pagesize,pn,tocMode,pn,tocPN,optionToggle,characterNormalization))
104 hrefNode.nodeValue = pagexml.replace('page-fragment.xql','%s'%selfurl) 104 hrefNode.nodeValue = pagexml.replace('page-fragment.xql','%s'%selfurl)
105 if href.startswith('../lt/lemma.xql'): 105 if href.startswith('../lt/lemma.xql'):
106 hrefNode.nodeValue = href.replace('../lt/lemma.xql','%s/template/head_main_lemma_New'%(selfurl)) 106 hrefNode.nodeValue = href.replace('../lt/lemma.xql','%s/template/head_main_query'%(selfurl))
107 l.setAttributeNS(None, 'target', '_blank') 107 l.setAttributeNS(None, 'target', '_blank')
108 l.setAttributeNS(None, 'onClick',"popupWin = window.open(this.href, 'contacts', 'location,width=500,height=600,top=180, left=400, scrollbars=1'); return false;") 108 l.setAttributeNS(None, 'onClick',"popupWin = window.open(this.href, 'contacts', 'location,width=500,height=600,top=180, left=400, scrollbars=1'); return false;")
109 l.setAttributeNS(None, 'onClick', 'popupWin.focus();') 109 l.setAttributeNS(None, 'onDblclick', 'popupWin.focus();')
110 pagedivs = pagedom.xpath("//div[@class='queryResultMorphExpansion']") 110 pagedivs = pagedom.xpath("//div[@class='queryResultMorphExpansion']")
111 return serializeNode(pagenode) 111 return serializeNode(pagenode)
112 if (queryType=="ftIndex")or(queryType=="ftIndexMorph"): 112 if (queryType=="ftIndex")or(queryType=="ftIndexMorph"):
113 pagedivs= pagedom.xpath("//div[@class='queryResultPage']") 113 pagedivs= pagedom.xpath("//div[@class='queryResultPage']")
114 if len(pagedivs)>0: 114 if len(pagedivs)>0:
118 hrefNode = l.getAttributeNodeNS(None, u"href") 118 hrefNode = l.getAttributeNodeNS(None, u"href")
119 if hrefNode: 119 if hrefNode:
120 href = hrefNode.nodeValue 120 href = hrefNode.nodeValue
121 hrefNode.nodeValue=href.replace('mode=text','mode=texttool&viewMode=%s&tocMode=%s&tocPN=%s&pn=%s&optionToggle=%s&characterNormalization=%s'%(viewMode,tocMode,tocPN,pn,optionToggle,characterNormalization)) 121 hrefNode.nodeValue=href.replace('mode=text','mode=texttool&viewMode=%s&tocMode=%s&tocPN=%s&pn=%s&optionToggle=%s&characterNormalization=%s'%(viewMode,tocMode,tocPN,pn,optionToggle,characterNormalization))
122 if href.startswith('../lt/lex.xql'): 122 if href.startswith('../lt/lex.xql'):
123 hrefNode.nodeValue = href.replace('../lt/lex.xql','%s/template/head_main_voc'%selfurl) 123 hrefNode.nodeValue = href.replace('../lt/lex.xql','%s/template/head_main_lex'%selfurl)
124 l.setAttributeNS(None, 'target', '_blank') 124 l.setAttributeNS(None, 'target', '_blank')
125 l.setAttributeNS(None, 'onClick',"popupWin = window.open(this.href, 'contacts', 'location,width=500,height=600,top=180, left=400, scrollbars=1'); return false;") 125 l.setAttributeNS(None, 'onClick',"popupWin = window.open(this.href, 'contacts', 'location,width=500,height=600,top=180, left=400, scrollbars=1'); return false;")
126 l.setAttributeNS(None, 'onClick', 'popupWin.focus();') 126 l.setAttributeNS(None, 'onDblclick', 'popupWin.focus();')
127 if href.startswith('../lt/lemma.xql'): 127 if href.startswith('../lt/lemma.xql'):
128 hrefNode.nodeValue = href.replace('../lt/lemma.xql','%s/template/head_main_lemma'%selfurl) 128 hrefNode.nodeValue = href.replace('../lt/lemma.xql','%s/template/head_main_lemma'%(selfurl))
129 l.setAttributeNS(None, 'target', '_blank') 129 l.setAttributeNS(None, 'target', '_blank')
130 l.setAttributeNS(None, 'onClick',"popupWin = window.open(this.href, 'contacts', 'location,width=500,height=600,top=180, left=400, scrollbars=1'); return false;") 130 l.setAttributeNS(None, 'onClick',"popupWin = window.open(this.href, 'contacts', 'location,width=500,height=600,top=180, left=400, scrollbars=1'); return false;")
131 l.setAttributeNS(None, 'onClick', 'popupWin.focus();') 131 l.setAttributeNS(None, 'onDblclick', 'popupWin.focus();')
132 return serializeNode(pagenode) 132 return serializeNode(pagenode)
133 return "no text here" 133 return "no text here"
134 134
135 def getGisPlaces(self, docinfo=None, pageinfo=None): 135 def getGisPlaces(self, docinfo=None, pageinfo=None):
136 """ Show all Gis Places of whole Page""" 136 """ Show all Gis Places of whole Page"""
346 for l in links: 346 for l in links:
347 hrefNode = l.getAttributeNodeNS(None, u"href") 347 hrefNode = l.getAttributeNodeNS(None, u"href")
348 if hrefNode: 348 if hrefNode:
349 # is link with href 349 # is link with href
350 href = hrefNode.nodeValue 350 href = hrefNode.nodeValue
351 if href.startswith('../lt/wordInfo.xql'): 351 if href.startswith('http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/interface/lt/wordInfo.xql'):
352 # is pollux link 352 # is pollux link
353 selfurl = self.absolute_url() 353 selfurl = self.absolute_url()
354 # change href 354 # change href
355 hrefNode.nodeValue = href.replace('../lt/wordInfo.xql','%s/template/voc'%selfurl) 355 hrefNode.nodeValue = href.replace('http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/interface/lt/wordInfo.xql','%s/head_main_voc'%selfurl)
356 # add target 356 # add target
357 l.setAttributeNS(None, 'target', '_blank') 357 l.setAttributeNS(None, 'target', '_blank')
358 l.setAttributeNS(None, 'onClick',"popupWin = window.open(this.href, 'contacts', 'location,width=500,height=600,top=180, left=700, scrollbars=1'); return false;") 358 l.setAttributeNS(None, 'onClick',"popupWin = window.open(this.href, 'InfoWindow', 'menubar=no, location,width=500,height=600,top=180, left=700, toolbar=no, scrollbars=1'); return false;")
359 l.setAttributeNS(None, 'onClick', 'popupWin.focus();') 359 l.setAttributeNS(None, "onDblclick", "popupWin.focus();")
360 if href.startswith('lt/lemma.xql'): 360 #window.open("this.href, 'InfoWindow', 'menubar=no, location,width=500,height=600,top=180, left=700, toolbar=yes, scrollbars=1'"); return false;")
361
362 if href.startswith('http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/lt/lemma.xql'):
361 selfurl = self.absolute_url() 363 selfurl = self.absolute_url()
362 hrefNode.nodeValue = href.replace('lt/lemma.xql','%s/template/head_main_lemma'%selfurl) 364 hrefNode.nodeValue = href.replace('http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/lt/lemma.xql','%s/head_main_lemma'%selfurl)
363 l.setAttributeNS(None, 'target', '_blank') 365 l.setAttributeNS(None, 'target', '_blank')
364 l.setAttributeNS(None, 'onClick',"popupWin = window.open(this.href, 'contacts', 'location,width=500,height=600,top=180, left=700, scrollbars=1'); return false;") 366 l.setAttributeNS(None, 'onClick',"popupWin = window.open(this.href, 'InfoWindow', 'menubar=no, location,width=500,height=600,top=180, left=700, toolbar=no, scrollbars=1'); return false;")
365 l.setAttributeNS(None, 'onClick', 'popupWin.focus();') 367 l.setAttributeNS(None, 'onDblclick', 'popupWin.focus();')
368
366 if href.startswith('#note-'): 369 if href.startswith('#note-'):
367 hrefNode.nodeValue = href.replace('#note-',"?url=%s&viewMode=text_dict&tocMode=%s&tocPN=%s&pn=%s#note-"%(url,tocMode,tocPN,pn)) 370 hrefNode.nodeValue = href.replace('#note-',"?url=%s&viewMode=text_dict&tocMode=%s&tocPN=%s&pn=%s#note-"%(url,tocMode,tocPN,pn))
368 return serializeNode(pagenode) 371 return serializeNode(pagenode)
369 return "no text here" 372 return "no text here"
370 373
391 if len(pagedivs)>0: 394 if len(pagedivs)>0:
392 docinfo['pageNumberOrigNorm']= getTextFromNode(pagedivs[0]) 395 docinfo['pageNumberOrigNorm']= getTextFromNode(pagedivs[0])
393 return docinfo['pageNumberOrigNorm'] 396 return docinfo['pageNumberOrigNorm']
394 397
395 398
396 def getTranslate(self, query=None, language=None): 399 def getTranslate(self, word=None, language=None):
397 """translate into another languages""" 400 """translate into another languages"""
398 data = self.getServerData("lt/lex.xql","document=&language="+str(language)+"&query="+urllib.quote(query)) 401 data = self.getServerData("lt/wordInfo.xql","language="+str(language)+"&word="+urllib.quote(word)+"&output=html")
399 #pagexml=self.template.fulltextclient.eval("/mpdl/interface/lt/lex.xql","document=&language="+str(language)+"&query="+url_quote(str(query))) 402 #pagexml=self.template.fulltextclient.eval("/mpdl/interface/lt/lex.xql","document=&language="+str(language)+"&query="+url_quote(str(query)))
400 return data 403 return data
401 404
402 def getLemma(self, lemma=None, language=None): 405 def getLemma(self, lemma=None, language=None):
403 """simular words lemma """ 406 """simular words lemma """
404 data = self.getServerData("lt/lemma.xql","document=&language="+str(language)+"&lemma="+urllib.quote(lemma)) 407 data = self.getServerData("lt/lemma.xql","language="+str(language)+"&lemma="+urllib.quote(lemma)+"&output=html")
405 #pagexml=self.template.fulltextclient.eval("/mpdl/interface/lt/lemma.xql","document=&language="+str(language)+"&lemma="+url_quote(str(lemma)))
406 return data 408 return data
407 409
408 def getLemmaNew(self, query=None, language=None): 410 def getLemmaQuery(self, query=None, language=None):
409 """simular words lemma """ 411 """simular words lemma """
410 data = self.getServerData("lt/lemma.xql","document=&language="+str(language)+"&lemma="+urllib.quote(query)) 412 data = self.getServerData("lt/lemma.xql","language="+str(language)+"&query="+urllib.quote(query)+"&output=html")
411 #pagexml=self.template.fulltextclient.eval("/mpdl/interface/lt/lemma.xql","document=&language="+str(language)+"&lemma="+url_quote(str(query))) 413 return data
414
415 def getLex(self, query=None, language=None):
416 #simular words lemma
417 data = self.getServerData("lt/lex.xql","document=&language="+str(language)+"&query="+urllib.quote(query))
412 return data 418 return data
413 419
414 def getQuery (self, docinfo=None, pageinfo=None, query=None, queryType=None, pn=1, optionToggle=None): 420 def getQuery (self, docinfo=None, pageinfo=None, query=None, queryType=None, pn=1, optionToggle=None):
415 #number of 421 #number of
416 docpath = docinfo['textURLPath'] 422 docpath = docinfo['textURLPath']