comparison documentViewer.py @ 103:daedc22e4e76

last update
author abukhman
date Wed, 19 May 2010 18:19:45 +0200
parents 27513c893ba9
children ff92f29e99a9
comparison
equal deleted inserted replaced
102:27513c893ba9 103:daedc22e4e76
703 queryType =pageinfo['queryType'] 703 queryType =pageinfo['queryType']
704 viewMode= pageinfo['viewMode'] 704 viewMode= pageinfo['viewMode']
705 tocMode = pageinfo['tocMode'] 705 tocMode = pageinfo['tocMode']
706 tocPN = pageinfo['tocPN'] 706 tocPN = pageinfo['tocPN']
707 selfurl = self.absolute_url() 707 selfurl = self.absolute_url()
708 logging.debug("documentViewer (gettoc) /mpdl/interface/doc-query.xql?document=%s&mode=%s&queryType=%s&query=%s&queryResultPageSize=%s&queryResultPN=%s&sn=%s&viewMode=%s"%(docpath, 'text', queryType, query, pagesize, pn, sn, viewMode))
708 page=self.template.fulltextclient.eval("/mpdl/interface/doc-query.xql","document=%s&mode=%s&queryType=%s&query=%s&queryResultPageSize=%s&queryResultPN=%s&sn=%s&viewMode=%s"%(docpath, 'text', queryType, query, pagesize, pn, sn, viewMode) ,outputUnicode=False) 709 page=self.template.fulltextclient.eval("/mpdl/interface/doc-query.xql","document=%s&mode=%s&queryType=%s&query=%s&queryResultPageSize=%s&queryResultPN=%s&sn=%s&viewMode=%s"%(docpath, 'text', queryType, query, pagesize, pn, sn, viewMode) ,outputUnicode=False)
709 pagexml = page.replace('?document=%s'%str(docpath),'?url=%s'%url) 710 pagexml = page.replace('?document=%s'%str(docpath),'?url=%s'%url)
710 pagedom = Parse(pagexml) 711 pagedom = Parse(pagexml)
711 if (queryType=="fulltext")or(queryType=="xpath")or(queryType=="xquery")or(queryType=="fulltextMorphLemma"): 712 if (queryType=="fulltext")or(queryType=="xpath")or(queryType=="xquery")or(queryType=="fulltextMorphLemma"):
712 pagedivs = pagedom.xpath("//div[@class='queryResultPage']") 713 pagedivs = pagedom.xpath("//div[@class='queryResultPage']")
720 if href.startswith('page-fragment.xql'): 721 if href.startswith('page-fragment.xql'):
721 selfurl = self.absolute_url() 722 selfurl = self.absolute_url()
722 #l.setAttributeNS(None, "span class = 'hit highlight'", "background-color: #77DD77;") 723 #l.setAttributeNS(None, "span class = 'hit highlight'", "background-color: #77DD77;")
723 pagexml=href.replace('mode=text','mode=texttool&viewMode=%s&queryType=%s&query=%s&queryResultPageSize=%s&queryResultPN=%s&tocMode=%s&searchPN=%s&tocPN=%s'%(viewMode,queryType,query,pagesize,pn,tocMode,pn,tocPN)) 724 pagexml=href.replace('mode=text','mode=texttool&viewMode=%s&queryType=%s&query=%s&queryResultPageSize=%s&queryResultPN=%s&tocMode=%s&searchPN=%s&tocPN=%s'%(viewMode,queryType,query,pagesize,pn,tocMode,pn,tocPN))
724 hrefNode.nodeValue = pagexml.replace('page-fragment.xql','%s'%selfurl) 725 hrefNode.nodeValue = pagexml.replace('page-fragment.xql','%s'%selfurl)
725 l.setAttributeNS(None, "onClick", "id='highlighting'") 726 l.setAttributeNS(None, "onClick", "id='highlighting'")
726
727 return serializeNode(pagenode) 727 return serializeNode(pagenode)
728 728
729 if (queryType=="fulltextMorph"): 729 if (queryType=="fulltextMorph"):
730 pagedivs = pagedom.xpath("//div[@class='queryResult']") 730 pagedivs = pagedom.xpath("//div[@class='queryResult']")
731 731
758 if hrefNode: 758 if hrefNode:
759 href = hrefNode.nodeValue 759 href = hrefNode.nodeValue
760 hrefNode.nodeValue=href.replace('mode=text','mode=texttool&viewMode=%s&tocMode=%s&tocPN=%s&pn=%s'%(viewMode,tocMode,tocPN,pn)) 760 hrefNode.nodeValue=href.replace('mode=text','mode=texttool&viewMode=%s&tocMode=%s&tocPN=%s&pn=%s'%(viewMode,tocMode,tocPN,pn))
761 761
762 if href.startswith('../lt/lex.xql'): 762 if href.startswith('../lt/lex.xql'):
763 selfurl = self.absolute_url() 763 # selfurl = self.absolute_url()
764 hrefNode.nodeValue = href.replace('lt/lex.xql','%s/template/head_main_voc'%selfurl) 764 hrefNode.nodeValue = href.replace('../lt/lex.xql','%s/template/head_main_voc'%selfurl)
765 l.setAttributeNS(None, 'target', '_blank') 765 l.setAttributeNS(None, 'target', '_blank')
766 l.setAttributeNS(None, 'onClick',"popupWin = window.open(this.href, 'contacts', 'location,width=500,height=600,top=180, left=400, scrollbars=1'); return false;") 766 l.setAttributeNS(None, 'onClick',"popupWin = window.open(this.href, 'contacts', 'location,width=500,height=600,top=180, left=400, scrollbars=1'); return false;")
767 l.setAttributeNS(None, 'onDblclick', 'popupWin.focus();') 767 l.setAttributeNS(None, 'onDblclick', 'popupWin.focus();')
768 if href.startswith('../lt/lemma.xql'): 768 if href.startswith('../lt/lemma.xql'):
769 selfurl = self.absolute_url() 769 #selfurl = self.absolute_url()
770 hrefNode.nodeValue = href.replace('lt/lemma.xql','%s/template/head_main_lemma'%selfurl) 770 hrefNode.nodeValue = href.replace('../lt/lemma.xql','%s/template/head_main_lemma'%selfurl)
771 l.setAttributeNS(None, 'target', '_blank') 771 l.setAttributeNS(None, 'target', '_blank')
772 l.setAttributeNS(None, 'onClick',"popupWin = window.open(this.href, 'contacts', 'location,width=500,height=600,top=180, left=400, scrollbars=1'); return false;") 772 l.setAttributeNS(None, 'onClick',"popupWin = window.open(this.href, 'contacts', 'location,width=500,height=600,top=180, left=400, scrollbars=1'); return false;")
773 l.setAttributeNS(None, 'onDblclick', 'popupWin.focus();') 773 l.setAttributeNS(None, 'onDblclick', 'popupWin.focus();')
774 return serializeNode(pagenode) 774 return serializeNode(pagenode)
775 return "no text here" 775 return "no text here"
802 if mode == "text": 802 if mode == "text":
803 # first div contains text 803 # first div contains text
804 pagedivs = pagedom.xpath("/div") 804 pagedivs = pagedom.xpath("/div")
805 #queryResultPage 805 #queryResultPage
806 if len(pagedivs) > 0: 806 if len(pagedivs) > 0:
807
807 pagenode = pagedivs[0] 808 pagenode = pagedivs[0]
809 links = pagenode.xpath("//a")
810 for l in links:
811 hrefNode = l.getAttributeNodeNS(None, u"href")
812 if hrefNode:
813 href= hrefNode.nodeValue
814 if href.startswith('#note-0006-01'):
815 selfurl = self.absolute_url()
816 hrefNode.nodeValue = href.replace("href='#note-'",'xaxa/%s/'%selfurl)
808 return serializeNode(pagenode) 817 return serializeNode(pagenode)
809 if mode == "xml": 818 if mode == "xml":
810 # first div contains text 819 # first div contains text
811 pagedivs = pagedom.xpath("/div") 820 pagedivs = pagedom.xpath("/div")
812 if len(pagedivs) > 0: 821 if len(pagedivs) > 0: