Mercurial > hg > documentViewer
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'] |