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