--- documentViewer/MpdlXmlTextServer.py 2010/08/24 12:34:32 1.22 +++ documentViewer/MpdlXmlTextServer.py 2010/09/21 10:21:33 1.28 @@ -42,8 +42,8 @@ class MpdlXmlTextServer(SimpleItem): """get search list""" docpath = docinfo['textURLPath'] url = docinfo['url'] - #logging.debug("documentViewer (gettoc) docpath: %s"%(docpath)) - #logging.debug("documentViewer (gettoc) url: %s"%(url)) + logging.debug("documentViewer (gettoc) docpath: %s"%(docpath)) + logging.debug("documentViewer (gettoc) url: %s"%(url)) pagesize = pageinfo['queryPageSize'] pn = pageinfo['searchPN'] sn = pageinfo['sn'] @@ -52,7 +52,7 @@ class MpdlXmlTextServer(SimpleItem): queryType =pageinfo['queryType'] viewMode= pageinfo['viewMode'] tocMode = pageinfo['tocMode'] - #characterNormalization = pageinfo ['characterNormalization'] + characterNormalization = pageinfo['characterNormalization'] tocPN = pageinfo['tocPN'] selfurl = self.absolute_url() @@ -130,7 +130,7 @@ class MpdlXmlTextServer(SimpleItem): docinfo['numPages'] = text.count(" 0: pagenode = pagedivs[0] + links =pagenode.xpath("//a") + for l in links: + hrefNode =l.getAttributeNodeNS(None, u"href") + if hrefNode: + href=hrefNode.nodeValue + if href.startswith('http://chinagis.mpiwg-berlin.mpg.de'): + hrefNode.nodeValue =href.replace('chinagis_REST','chinagis') return serializeNode(pagenode) if mode == "pureXml": @@ -237,6 +244,20 @@ class MpdlXmlTextServer(SimpleItem): #pagexml=self.template.fulltextclient.eval("/mpdl/interface/lt/lemma.xql","document=&language="+str(language)+"&lemma="+url_quote(str(query))) return data + def getGis (self, mode="gis", pn=1, pageinfo=None, docinfo=None): + docpath = docinfo['textURLPath'] + path = docinfo['textURLPath'] + pagesize = pageinfo['tocPageSize'] + pn = pageinfo['tocPN'] + url = docinfo['url'] + selfurl = self.absolute_url() + viewMode= pageinfo['viewMode'] + tocMode = pageinfo['tocMode'] + tocPN = pageinfo['tocPN'] + data = self.getServerData("doc-query.xql","document=%s&queryType=%s&queryResultPageSize=%s&queryResultPN=%s"%(docpath,queryType, pagesize, pn)) + page =data.replace("http://chinagis.mpiwg-berlin.mpg.de/chinagis_REST/REST/","http://chinagis.mpiwg-berlin.mpg.de/chinagis/REST/") + return page + def getQuery (self, docinfo=None, pageinfo=None, query=None, queryType=None, pn=1): """number of""" docpath = docinfo['textURLPath'] @@ -253,12 +274,12 @@ class MpdlXmlTextServer(SimpleItem): numdivs = pagedom.xpath("//div[@class='queryResultHits']") tocSearch = int(getTextFromNode(numdivs[0])) tc=int((tocSearch/10)+1) - #logging.debug("documentViewer (gettoc) tc: %s"%(tc)) + logging.debug("documentViewer (gettoc) tc: %s"%(tc)) return tc def getToc(self, mode="text", docinfo=None): """loads table of contents and stores in docinfo""" - #logging.debug("documentViewer (gettoc) mode: %s"%(mode)) + logging.debug("documentViewer (gettoc) mode: %s"%(mode)) if mode == "none": return docinfo if 'tocSize_%s'%mode in docinfo: @@ -302,12 +323,12 @@ class MpdlXmlTextServer(SimpleItem): url = docinfo['url'] selfurl = self.absolute_url() viewMode= pageinfo['viewMode'] - characterNormalization =pageinfo['characterNormalization'] + characterNormalization = pageinfo ['characterNormalization'] tocMode = pageinfo['tocMode'] tocPN = pageinfo['tocPN'] - data = self.getServerData("doc-query.xql","document=%s&queryType=%s&queryResultPageSize=%s&queryResultPN=%s"%(docpath,queryType, pagesize, pn)) - page = data.replace('page-fragment.xql?document=%s'%str(path),'%s?url=%s&viewMode=%s&tocMode=%s&tocPN=%s&characterNormalization=%s'%(selfurl,url, viewMode, tocMode, tocPN,characterNormalization)) + data = self.getServerData("doc-query.xql","document=%s&queryType=%s&queryResultPageSize=%s&queryResultPN=%s&characterNormalization=%s"%(docpath,queryType, pagesize, pn,characterNormalization)) + page = data.replace('page-fragment.xql?document=%s'%str(path),'%s?url=%s&viewMode=%s&tocMode=%s&tocPN=%s'%(selfurl,url, viewMode, tocMode, tocPN)) text = page.replace('mode=image','mode=texttool') logging.debug("documentViewer (characterNormalization) characterNormalization: %s"%(characterNormalization)) #logging.debug("documentViewer (characterNormalization) text: %s"%(text))