|
|
| version 1.212, 2010/11/23 17:05:20 | version 1.218, 2010/12/23 16:12:23 |
|---|---|
| Line 71 class MpdlXmlTextServer(SimpleItem): | Line 71 class MpdlXmlTextServer(SimpleItem): |
| href = hrefNode.nodeValue | href = hrefNode.nodeValue |
| if href.startswith('page-fragment.xql'): | if href.startswith('page-fragment.xql'): |
| selfurl = self.absolute_url() | selfurl = self.absolute_url() |
| 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'%(viewMode,queryType,urllib.quote(query),pagesize,pn,tocMode,pn,tocPN,optionToggle)) | 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)) |
| hrefNode.nodeValue = pagexml.replace('page-fragment.xql','%s'%selfurl) | hrefNode.nodeValue = pagexml.replace('page-fragment.xql','%s'%selfurl) |
| return serializeNode(pagenode) | return serializeNode(pagenode) |
| if (queryType=="fulltextMorph"): | if (queryType=="fulltextMorph"): |
| Line 85 class MpdlXmlTextServer(SimpleItem): | Line 85 class MpdlXmlTextServer(SimpleItem): |
| href = hrefNode.nodeValue | href = hrefNode.nodeValue |
| if href.startswith('page-fragment.xql'): | if href.startswith('page-fragment.xql'): |
| selfurl = self.absolute_url() | selfurl = self.absolute_url() |
| 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'%(viewMode,queryType,urllib.quote(query),pagesize,pn,tocMode,pn,tocPN,optionToggle)) | 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)) |
| hrefNode.nodeValue = pagexml.replace('page-fragment.xql','%s'%selfurl) | hrefNode.nodeValue = pagexml.replace('page-fragment.xql','%s'%selfurl) |
| if href.startswith('../lt/lemma.xql'): | if href.startswith('../lt/lemma.xql'): |
| hrefNode.nodeValue = href.replace('../lt/lemma.xql','%s/template/head_main_lemma_New'%(selfurl)) | hrefNode.nodeValue = href.replace('../lt/lemma.xql','%s/template/head_main_lemma_New'%(selfurl)) |
| Line 103 class MpdlXmlTextServer(SimpleItem): | Line 103 class MpdlXmlTextServer(SimpleItem): |
| hrefNode = l.getAttributeNodeNS(None, u"href") | hrefNode = l.getAttributeNodeNS(None, u"href") |
| if hrefNode: | if hrefNode: |
| href = hrefNode.nodeValue | href = hrefNode.nodeValue |
| hrefNode.nodeValue=href.replace('mode=text','mode=texttool&viewMode=%s&tocMode=%s&tocPN=%s&pn=%s&optionToggle=%s'%(viewMode,tocMode,tocPN,pn,optionToggle)) | 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)) |
| if href.startswith('../lt/lex.xql'): | if href.startswith('../lt/lex.xql'): |
| hrefNode.nodeValue = href.replace('../lt/lex.xql','%s/template/head_main_voc'%selfurl) | hrefNode.nodeValue = href.replace('../lt/lex.xql','%s/template/head_main_voc'%selfurl) |
| l.setAttributeNS(None, 'target', '_blank') | l.setAttributeNS(None, 'target', '_blank') |
| Line 117 class MpdlXmlTextServer(SimpleItem): | Line 117 class MpdlXmlTextServer(SimpleItem): |
| return serializeNode(pagenode) | return serializeNode(pagenode) |
| return "no text here" | return "no text here" |
| """def getNumPages(self, docinfo): | |
| ""get list of pages from fulltext and put in docinfo"" | def getNumTextPages (self, docinfo=None): |
| if 'numPages' in docinfo: | |
| # already there | |
| return docinfo | |
| xquery = '//pb' | |
| text = self.getServerData("xquery.xql","document=%s&xquery=%s"%(docinfo['textURLPath'],xquery)) | |
| docinfo['numPages'] = text.count("<pb ") | |
| return docinfo | |
| """ | |
| def getNumTextPages (self, docinfo): | |
| """get list of pages from fulltext (texts without images) and put in docinfo""" | """get list of pages from fulltext (texts without images) and put in docinfo""" |
| logging.debug("getNumTextPages") | |
| docpath = docinfo['textURLPath'] | |
| selfurl = self.absolute_url() | |
| #viewMode= pageinfo['viewMode'] | |
| if 'numPages' in docinfo: | if 'numPages' in docinfo: |
| # allredy there | # allredy there |
| return docinfo | return docinfo |
| xpath ='/count(//pb)' | |
| text=self.getServerData("xpath.xql", "document=%s&xpath=%s"%(docinfo['textURLPath'], xpath)) | |
| dom = Parse(text) | |
| result= dom.xpath("//result/resultPage") | |
| docinfo['numPages']=int(getTextFromNode(result[0])) | text = self.getServerData("page-fragment.xql","document=%s"%(docinfo['textURLPath'])) |
| dom =Parse(text) | |
| pagedivs = dom.xpath("//div[@class='countPages']") | |
| logging.debug ("pagedivs=%s"%(pagedivs)) | |
| if len(pagedivs)>0: | |
| docinfo['numPages']= int(getTextFromNode(pagedivs[0])) | |
| return docinfo | return docinfo |
| def getTocEntries (self, docinfo=None): | |
| """ number of text entries""" | |
| self.getInfoFromPage(docinfo) | |
| return docinfo['tocEntries'] | |
| def getFigureEntries (self, docinfo=None): | |
| """ number of figure entries""" | |
| self.getInfoFromPage(docinfo) | |
| return docinfo['figureEntries'] | |
| def getGisPlaces(self, docinfo=None, pageinfo=None): | def getGisPlaces(self, docinfo=None, pageinfo=None): |
| """ Show all Gis Places of whole Page""" | """ Show all Gis Places of whole Page""" |
| xpath='//place' | xpath='//place' |
| docpath = docinfo['textURLPath'] | docpath = docinfo.get('textURLPath',None) |
| if not docpath: | |
| return None | |
| url = docinfo['url'] | url = docinfo['url'] |
| selfurl = self.absolute_url() | selfurl = self.absolute_url() |
| pn = pageinfo['current'] | pn = pageinfo['current'] |
| Line 181 class MpdlXmlTextServer(SimpleItem): | Line 190 class MpdlXmlTextServer(SimpleItem): |
| logging.debug("getALLGisPlaces :%s"%(myList)) | logging.debug("getALLGisPlaces :%s"%(myList)) |
| return myList | return myList |
| def getPDF (self, docinfo=None, pageinfo=None): | |
| """Show and Save different Pages as PDF in Options""" | |
| selfurl=self.absolute_url() | |
| pn=pageinfo['current'] | |
| viewMode =pageinfo['viewMode'] | |
| #text = ("page-fragment.xql","document=%s&mode=%s&pn=%s&export=%s"%(docinfo['textURLPath'], 'text', pn,'pdf')) | |
| #text = self.getServerData("page-fragment.xql", "document=%s&mode=%s&pn=%s&export=%s"(docinfo['textURLPath'],'text', pn,'pdf')) | |
| #logging.debug("text :%s"%(text)) | |
| #dom =Parse(text) | |
| #logging.debug("text :%s"%(text)) | |
| #return text | |
| def getOrigPages (self, docinfo=None, pageinfo=None): | def getOrigPages (self, docinfo=None, pageinfo=None): |
| """Show original page """ | """Show original page """ |
| docpath = docinfo['textURLPath'] | docpath = docinfo.get('textURLPath',None) |
| logging.debug ("docinfo['textURLPath']=%s"%(docinfo['textURLPath'])) | if not docpath: |
| #url = docinfo['url'] | return None |
| selfurl = self.absolute_url() | selfurl = self.absolute_url() |
| pn =pageinfo['current'] | pn =pageinfo['current'] |
| Line 208 class MpdlXmlTextServer(SimpleItem): | Line 202 class MpdlXmlTextServer(SimpleItem): |
| text = self.getServerData("page-fragment.xql","document=%s&mode=%s&pn=%s"%(docinfo['textURLPath'], 'text', pn)) | text = self.getServerData("page-fragment.xql","document=%s&mode=%s&pn=%s"%(docinfo['textURLPath'], 'text', pn)) |
| dom =Parse(text) | dom =Parse(text) |
| pagedivs = dom.xpath("//div[@class='pageNumberOrig']") | pagedivs = dom.xpath("//div[@class='pageNumberOrig']") |
| logging.debug("YYYYYYpagedivs :%s"%(pagedivs)) | |
| if len(pagedivs)>0: | if len(pagedivs)>0: |
| originalPage= getTextFromNode(pagedivs[0]) | originalPage= getTextFromNode(pagedivs[0]) |
| #return docinfo['originalPage'] | #return docinfo['originalPage'] |
| return originalPage | return originalPage |
| def getAllPlaces (self, docinfo=None): | |
| """Show all Places if no places than 0""" | |
| self.getInfoFromPage(docinfo) | |
| return docinfo['allPlaces'] | |
| def getInfoFromPage(self, docinfo=None): | |
| """ extract diverse info from page-fragment""" | |
| docpath = docinfo['textURLPath'] | |
| if 'allPlaces' in docinfo: | |
| # allredy there | |
| return docinfo | |
| if (docpath is not None): | |
| text = self.getServerData("page-fragment.xql","document=%s"%(docinfo['textURLPath'])) | |
| dom = Parse(text) | |
| # figureEntries | |
| pagedivs = dom.xpath("//div[@class='countFigureEntries']") | |
| docinfo['figureEntries'] = getTextFromNode(pagedivs[0]) | |
| # tocEntries | |
| pagedivs = dom.xpath("//div[@class='countTocEntries']") | |
| docinfo['tocEntries'] = getTextFromNode(pagedivs[0]) | |
| # allPlaces | |
| pagedivs = dom.xpath("//div[@class='countPlaces']") | |
| docinfo['allPlaces']= getTextFromNode(pagedivs[0]) | |
| return docinfo | |
| def getTextPage(self, mode="text", pn=1, docinfo=None, pageinfo=None, viewMode=None, tocMode=None, tocPN=None, characterNormalization="regPlusNorm", highlightQuery=None, sn=None, optionToggle=None): | def getTextPage(self, mode="text", pn=1, docinfo=None, pageinfo=None, viewMode=None, tocMode=None, tocPN=None, characterNormalization="reg", highlightQuery=None, sn=None, optionToggle=None): |
| """returns single page from fulltext""" | """returns single page from fulltext""" |
| docpath = docinfo['textURLPath'] | docpath = docinfo['textURLPath'] |
| path = docinfo['textURLPath'] | path = docinfo['textURLPath'] |
| Line 376 class MpdlXmlTextServer(SimpleItem): | Line 396 class MpdlXmlTextServer(SimpleItem): |
| def getQueryResultHitsText(self, docinfo=None, pageinfo=None): | def getQueryResultHitsText(self, docinfo=None, pageinfo=None): |
| """number of hits in Text of Contents mode""" | """number of hits in Text of Contents mode""" |
| selfurl = self.absolute_url() | |
| docpath = docinfo['textURLPath'] | docpath = docinfo['textURLPath'] |
| pagesize = pageinfo['queryPageSize'] | viewMode= pageinfo['viewMode'] |
| pn = pageinfo['searchPN'] | text = self.getServerData("page-fragment.xql","document=%s&mode=%s"%(docinfo['textURLPath'], 'text')) |
| query =pageinfo['query'] | dom =Parse(text) |
| queryType =pageinfo['queryType'] | pagedivs = dom.xpath("//div[@class='countTocEntries']") |
| tocSearch = 0 | logging.debug ("pagedivs=%s"%(pagedivs)) |
| tocDiv = None | if len(pagedivs)>0: |
| tocMode = pageinfo['tocMode'] | originalPage= (getTextFromNode(pagedivs[0])) |
| tocPN = pageinfo['tocPN'] | tc = int (originalPage) |
| pagexml=self.getServerData("doc-query.xql", "document=%s&queryType=%s"%(docpath,'toc')) | tc1 =tc/30+1 |
| pagedom = Parse(pagexml) | return tc1 |
| logging.debug("documentViewer (pagedom) pagedom: %s"%(pagedom)) | |
| numdivs = pagedom.xpath("//div[@class='queryResultHits']") | |
| tocSearch = int(getTextFromNode(numdivs[0])) | |
| tc=int((tocSearch/30)+1) | |
| return tc | |
| def getQueryResultHitsFigures(self, docinfo=None, pageinfo=None): | def getQueryResultHitsFigures(self, docinfo=None, pageinfo=None): |
| """number of hits in Text of Figures mode""" | """number of hits in Text of Figures mode""" |
| selfurl = self.absolute_url() | |
| docpath = docinfo['textURLPath'] | docpath = docinfo['textURLPath'] |
| pagesize = pageinfo['queryPageSize'] | viewMode= pageinfo['viewMode'] |
| pn = pageinfo['searchPN'] | text = self.getServerData("page-fragment.xql","document=%s&mode=%s"%(docinfo['textURLPath'], 'text')) |
| query =pageinfo['query'] | dom =Parse(text) |
| queryType =pageinfo['queryType'] | pagedivs = dom.xpath("//div[@class='countFigureEntries']") |
| tocSearch = 0 | logging.debug ("pagedivs=%s"%(pagedivs)) |
| tocDiv = None | if len(pagedivs)>0: |
| tocMode = pageinfo['tocMode'] | originalPage= (getTextFromNode(pagedivs[0])) |
| tocPN = pageinfo['tocPN'] | tc = int (originalPage) |
| pagexml=self.getServerData("doc-query.xql", "document=%s&queryType=%s"%(docpath,'figures')) | tc1 =tc/30+1 |
| pagedom = Parse(pagexml) | return tc1 |
| logging.debug("documentViewer (pagedom) pagedom: %s"%(pagedom)) | |
| numdivs = pagedom.xpath("//div[@class='queryResultHits']") | |
| tocSearch = int(getTextFromNode(numdivs[0])) | |
| tc=int((tocSearch/30)+1) | |
| return tc | |
| def getToc(self, mode="text", docinfo=None): | def getToc(self, mode="text", docinfo=None): |
| Line 466 class MpdlXmlTextServer(SimpleItem): | Line 477 class MpdlXmlTextServer(SimpleItem): |
| tocMode = pageinfo['tocMode'] | tocMode = pageinfo['tocMode'] |
| tocPN = pageinfo['tocPN'] | tocPN = pageinfo['tocPN'] |
| data = self.getServerData("doc-query.xql","document=%s&queryType=%s&queryResultPageSize=%s&queryResultPN=%s&characterNormalization=regPlusNorm&optionToggle=%s"%(docpath,queryType, pagesize, pn,optionToggle)) | data = self.getServerData("doc-query.xql","document=%s&queryType=%s&queryResultPageSize=%s&queryResultPN=%s&characterNormalization=regPlusNorm&optionToggle=1"%(docpath,queryType, pagesize, pn)) |
| page = data.replace('page-fragment.xql?document=%s'%str(path),'%s?url=%s&viewMode=%s&tocMode=%s&tocPN=%s&optionToggle=%s'%(selfurl,url, viewMode, tocMode, tocPN,optionToggle)) | page = data.replace('page-fragment.xql?document=%s'%str(path),'%s?url=%s&viewMode=%s&tocMode=%s&tocPN=%s&optionToggle=1'%(selfurl,url, viewMode, tocMode, tocPN)) |
| text = page.replace('mode=image','mode=texttool') | text = page.replace('mode=image','mode=texttool') |
| logging.debug("documentViewer (characterNormalization) characterNormalization: %s"%(characterNormalization)) | logging.debug("documentViewer (characterNormalization) characterNormalization: %s"%(characterNormalization)) |
| #logging.debug("documentViewer (characterNormalization) text: %s"%(text)) | #logging.debug("documentViewer (characterNormalization) text: %s"%(text)) |