--- documentViewer/documentViewer.py 2010/12/06 10:39:43 1.160 +++ documentViewer/documentViewer.py 2010/12/22 11:54:46 1.162 @@ -147,6 +147,7 @@ class documentViewer(Folder): toc_text = PageTemplateFile('zpt/toc_text', globals()) toc_figures = PageTemplateFile('zpt/toc_figures', globals()) page_main_images = PageTemplateFile('zpt/page_main_images', globals()) + page_main_double = PageTemplateFile('zpt/page_main_double', globals()) page_main_text = PageTemplateFile('zpt/page_main_text', globals()) page_main_text_dict = PageTemplateFile('zpt/page_main_text_dict', globals()) page_main_gis =PageTemplateFile ('zpt/page_main_gis', globals()) @@ -212,10 +213,6 @@ class documentViewer(Folder): """get query""" return self.template.fulltextclient.getQueryResultHitsFigures(**args) - def getPDF(self, **args): - """get query""" - return self.template.fulltextclient.getPDF(**args) - def getSearch(self, **args): """get search""" return self.template.fulltextclient.getSearch(**args) @@ -236,6 +233,14 @@ class documentViewer(Folder): """get original page number """ return self.template.fulltextclient.getAllPlaces(**args) + def getTocEntries(self, **args): + """get original page number """ + return self.template.fulltextclient.getTocEntries(**args) + + def getFigureEntries(self, **args): + """get original page number """ + return self.template.fulltextclient.getFigureEntries(**args) + def getNumPages(self, docinfo): """get numpages""" return self.template.fulltextclient.getNumPages(docinfo) @@ -346,10 +351,8 @@ class documentViewer(Folder): def getBrowser(self): """getBrowser the version of browser """ - names="" - names = browserCheck(self) - #logging.debug("XXXXXXXXXXXXXXXX: %s"%names) - return names + bt = browserCheck(self) + return bt def findDigilibUrl(self): """try to get the digilib URL from zogilib""" @@ -368,41 +371,48 @@ class documentViewer(Folder): else: return style - def getLink(self,param=None,val=None): - """link to documentviewer with parameter param set to val""" - params=self.REQUEST.form.copy() + def getLink(self, param=None, val=None, params=None, baseUrl=None, paramSep='&'): + """returns URL to documentviewer with parameter param set to val or from dict params""" + # copy existing request params + urlParams=self.REQUEST.form.copy() + # change single param if param is not None: if val is None: - if params.has_key(param): - del params[param] + if urlParams.has_key(param): + del urlParams[param] else: - params[param] = str(val) + urlParams[param] = str(val) - if params.get("mode", None) == "filepath": #wenn beim erst Aufruf filepath gesetzt wurde aendere das nun zu imagepath - params["mode"] = "imagepath" - params["url"] = getParentDir(params["url"]) + # change more params + if params is not None: + for k in params.keys(): + v = params[k] + if v is None: + # val=None removes param + if urlParams.has_key(k): + del urlParams[k] + + else: + urlParams[k] = v + + # FIXME: does this belong here? + if urlParams.get("mode", None) == "filepath": #wenn beim erst Aufruf filepath gesetzt wurde aendere das nun zu imagepath + urlParams["mode"] = "imagepath" + urlParams["url"] = getParentDir(urlParams["url"]) - # quote values and assemble into query string - #ps = "&".join(["%s=%s"%(k,urllib.quote(v)) for (k, v) in params.items()]) - ps = urllib.urlencode(params) - url=self.REQUEST['URL1']+"?"+ps + # quote values and assemble into query string (not escaping '/') + ps = paramSep.join(["%s=%s"%(k,urllib.quote_plus(v,'/')) for (k, v) in urlParams.items()]) + #ps = urllib.urlencode(urlParams) + if baseUrl is None: + baseUrl = self.REQUEST['URL1'] + + url = "%s?%s"%(baseUrl, ps) return url - def getLinkAmp(self,param=None,val=None): + + def getLinkAmp(self, param=None, val=None, params=None, baseUrl=None): """link to documentviewer with parameter param set to val""" - params=self.REQUEST.form.copy() - if param is not None: - if val is None: - if params.has_key(param): - del params[param] - else: - params[param] = str(val) - - # quote values and assemble into query string - logging.debug("XYXXXXX: %s"%repr(params.items())) - ps = "&".join(["%s=%s"%(k,urllib.quote(v)) for (k, v) in params.items()]) - url=self.REQUEST['URL1']+"?"+ps - return url + return self.getLink(param, val, params, baseUrl, '&') def getInfo_xml(self,url,mode): """returns info about the document as XML""" @@ -834,7 +844,7 @@ class documentViewer(Folder): pageinfo['numgroups'] += 1 pageinfo['viewMode'] = viewMode pageinfo['tocMode'] = tocMode - pageinfo['characterNormalization'] = self.REQUEST.get('characterNormalization','regPlusNorm') + pageinfo['characterNormalization'] = self.REQUEST.get('characterNormalization','reg') pageinfo['optionToggle'] = self.REQUEST.get('optionToggle','') pageinfo['query'] = self.REQUEST.get('query','') pageinfo['queryType'] = self.REQUEST.get('queryType','')