Mercurial > hg > documentViewer
comparison documentViewer.py @ 471:415a7026eeda elementtree
split viewMode in viewMode and viewType
author | casties |
---|---|
date | Thu, 04 Aug 2011 16:57:02 +0200 |
parents | 15394486ab75 |
children | 9705161bc888 |
comparison
equal
deleted
inserted
replaced
470:c1ba044d4961 | 471:415a7026eeda |
---|---|
264 | 264 |
265 return pt(docinfo=docinfo,pageinfo=pageinfo,viewMode=viewMode) | 265 return pt(docinfo=docinfo,pageinfo=pageinfo,viewMode=viewMode) |
266 | 266 |
267 | 267 |
268 security.declareProtected('View','index_html') | 268 security.declareProtected('View','index_html') |
269 def index_html(self,url,mode="texttool",viewMode="auto",tocMode="thumbs",start=None,pn=1,mk=None): | 269 def index_html(self,url,mode="texttool",viewMode="auto",viewTYpe=None,tocMode="thumbs"): |
270 """ | 270 """ |
271 view it | 271 view page |
272 @param url: url which contains display information | |
272 @param mode: defines how to access the document behind url | 273 @param mode: defines how to access the document behind url |
273 @param url: url which contains display information | 274 @param viewMode: 'images': display images, 'text': display text, default is 'auto' |
274 @param viewMode: if images display images, if text display text, default is auto (text,images or auto) | 275 @param viewType: sub-type of viewMode, e.g. 'dict' for viewMode='text' |
275 @param tocMode: type of 'table of contents' for navigation (thumbs, text, figures, none) | 276 @param tocMode: type of 'table of contents' for navigation (thumbs, text, figures, none) |
276 """ | 277 """ |
277 | 278 |
278 logging.debug("documentViewer (index) mode: %s url:%s start:%s pn:%s"%(mode,url,start,pn)) | 279 logging.debug("documentViewer (index) mode: %s url:%s start:%s pn:%s"%(mode,url,start,pn)) |
279 | 280 |
289 | 290 |
290 if tocMode != "thumbs": | 291 if tocMode != "thumbs": |
291 # get table of contents | 292 # get table of contents |
292 docinfo = self.getToc(mode=tocMode, docinfo=docinfo) | 293 docinfo = self.getToc(mode=tocMode, docinfo=docinfo) |
293 | 294 |
294 # auto viewMode: text_dict if text else images | 295 # auto viewMode: text if there is a text else images |
295 if viewMode=="auto": | 296 if viewMode=="auto": |
296 if docinfo.get('textURL', None) or docinfo.get('textURLPath', None): | 297 if docinfo.get('textURL', None) or docinfo.get('textURLPath', None): |
297 viewMode="text_dict" | 298 viewMode = "text" |
299 viewType = "dict" | |
298 else: | 300 else: |
299 viewMode="images" | 301 viewMode = "images" |
300 | 302 |
301 pageinfo = self.getPageinfo(start=start, current=pn, docinfo=docinfo, viewMode=viewMode, tocMode=tocMode) | 303 pageinfo = self.getPageinfo(start=start, current=pn, docinfo=docinfo, viewMode=viewMode, viweType=viewType, tocMode=tocMode) |
302 | 304 |
303 # get template /template/viewer_main | 305 # get template /template/viewer_main |
304 pt = getattr(self.template, 'viewer_main') | 306 pt = getattr(self.template, 'viewer_main') |
305 # and execute with parameters | 307 # and execute with parameters |
306 return pt(docinfo=docinfo, pageinfo=pageinfo, viewMode=viewMode, mk=self.generateMarks(mk)) | 308 return pt(docinfo=docinfo, pageinfo=pageinfo) |
307 | 309 |
308 def generateMarks(self,mk): | 310 def generateMarks(self,mk): |
309 ret="" | 311 ret="" |
310 if mk is None: | 312 if mk is None: |
311 return "" | 313 return "" |
662 docinfo['title']=getText(dom.find(".//title")) | 664 docinfo['title']=getText(dom.find(".//title")) |
663 docinfo['date']=getText(dom.find(".//date")) | 665 docinfo['date']=getText(dom.find(".//date")) |
664 return docinfo | 666 return docinfo |
665 | 667 |
666 | 668 |
667 def getPageinfo(self, current, start=None, rows=None, cols=None, docinfo=None, viewMode=None, tocMode=None): | 669 def getPageinfo(self, current, start=None, rows=None, cols=None, docinfo=None, viewMode=None, viewType=None, tocMode=None): |
668 """returns pageinfo with the given parameters""" | 670 """returns pageinfo with the given parameters""" |
669 pageinfo = {} | 671 pageinfo = {} |
672 pageinfo['viewMode'] = viewMode | |
673 pageinfo['viewType'] = viewType | |
674 pageinfo['tocMode'] = tocMode | |
675 | |
670 current = getInt(current) | 676 current = getInt(current) |
671 pageinfo['current'] = current | 677 pageinfo['current'] = current |
672 rows = int(rows or self.thumbrows) | 678 rows = int(rows or self.thumbrows) |
673 pageinfo['rows'] = rows | 679 pageinfo['rows'] = rows |
674 cols = int(cols or self.thumbcols) | 680 cols = int(cols or self.thumbcols) |
685 np = int(docinfo.get('numPages', 0)) | 691 np = int(docinfo.get('numPages', 0)) |
686 if np == 0: | 692 if np == 0: |
687 # numPages unknown - maybe we can get it from text page | 693 # numPages unknown - maybe we can get it from text page |
688 if docinfo.get('textURLPath', None): | 694 if docinfo.get('textURLPath', None): |
689 # cache text page as well | 695 # cache text page as well |
690 pageinfo['textPage'] = self.getTextPage(mode=viewMode, pn=pn, docinfo=docinfo, pageinfo=pageinfo) | 696 pageinfo['textPage'] = self.getTextPage(mode=viewType, pn=pn, docinfo=docinfo, pageinfo=pageinfo) |
691 np = int(docinfo.get('numPages', 0)) | 697 np = int(docinfo.get('numPages', 0)) |
692 | 698 |
693 pageinfo['end'] = min(pageinfo['end'], np) | 699 pageinfo['end'] = min(pageinfo['end'], np) |
694 pageinfo['numgroups'] = int(np / grpsize) | 700 pageinfo['numgroups'] = int(np / grpsize) |
695 if np % grpsize > 0: | 701 if np % grpsize > 0: |
696 pageinfo['numgroups'] += 1 | 702 pageinfo['numgroups'] += 1 |
697 | 703 |
698 pageinfo['viewMode'] = viewMode | |
699 pageinfo['tocMode'] = tocMode | |
700 pageinfo['characterNormalization'] = self.REQUEST.get('characterNormalization','reg') | 704 pageinfo['characterNormalization'] = self.REQUEST.get('characterNormalization','reg') |
701 #pageinfo['optionToggle'] = self.REQUEST.get('optionToggle','1') | |
702 pageinfo['query'] = self.REQUEST.get('query','') | 705 pageinfo['query'] = self.REQUEST.get('query','') |
703 pageinfo['queryType'] = self.REQUEST.get('queryType','') | 706 pageinfo['queryType'] = self.REQUEST.get('queryType','') |
704 pageinfo['querySearch'] =self.REQUEST.get('querySearch', 'fulltext') | 707 pageinfo['querySearch'] =self.REQUEST.get('querySearch', 'fulltext') |
705 pageinfo['highlightQuery'] = self.REQUEST.get('highlightQuery','') | 708 pageinfo['highlightQuery'] = self.REQUEST.get('highlightQuery','') |
706 pageinfo['tocPageSize'] = self.REQUEST.get('tocPageSize', '30') | 709 pageinfo['tocPageSize'] = self.REQUEST.get('tocPageSize', '30') |
707 pageinfo['queryPageSize'] =self.REQUEST.get('queryPageSize', '10') | 710 pageinfo['queryPageSize'] =self.REQUEST.get('queryPageSize', '10') |
708 pageinfo['tocPN'] = self.REQUEST.get('tocPN', '1') | 711 pageinfo['tocPN'] = self.REQUEST.get('tocPN', '1') |
709 # WTF?: | 712 # WTF?: |
710 toc = int(pageinfo['tocPN']) | 713 toc = int(pageinfo['tocPN']) |
711 pageinfo['textPages'] =int(toc) | 714 pageinfo['textPages'] = int(toc) |
712 | 715 |
713 # What does this do? | 716 # What does this do? |
714 if 'tocSize_%s'%tocMode in docinfo: | 717 if 'tocSize_%s'%tocMode in docinfo: |
715 tocSize = int(docinfo['tocSize_%s'%tocMode]) | 718 tocSize = int(docinfo['tocSize_%s'%tocMode]) |
716 tocPageSize = int(pageinfo['tocPageSize']) | 719 tocPageSize = int(pageinfo['tocPageSize']) |