comparison documentViewer.py @ 345:c39c252a3186

*** empty log message ***
author abukhman
date Mon, 18 Oct 2010 12:33:47 +0200
parents 025e53924ec3
children eadda10efd4a
comparison
equal deleted inserted replaced
344:3be4180e7b23 345:c39c252a3186
10 from Ft.Xml import EMPTY_NAMESPACE, Parse 10 from Ft.Xml import EMPTY_NAMESPACE, Parse
11 import Ft.Xml.Domlette 11 import Ft.Xml.Domlette
12 import os.path 12 import os.path
13 import sys 13 import sys
14 import urllib 14 import urllib
15
15 import urllib2 16 import urllib2
16 import logging 17 import logging
17 import math 18 import math
18 import urlparse 19 import urlparse
19 import cStringIO 20 import cStringIO
242 if not self.digilibBaseUrl: 243 if not self.digilibBaseUrl:
243 self.digilibBaseUrl = self.findDigilibUrl() or "http://nausikaa.mpiwg-berlin.mpg.de/digitallibrary" 244 self.digilibBaseUrl = self.findDigilibUrl() or "http://nausikaa.mpiwg-berlin.mpg.de/digitallibrary"
244 245
245 docinfo = self.getDocinfo(mode=mode,url=url) 246 docinfo = self.getDocinfo(mode=mode,url=url)
246 #pageinfo = self.getPageinfo(start=start,current=pn,docinfo=docinfo) 247 #pageinfo = self.getPageinfo(start=start,current=pn,docinfo=docinfo)
247 pageinfo = self.getPageinfo(start=start,current=pn, originalPage=originalPage, docinfo=docinfo) 248 pageinfo = self.getPageinfo(start=start,current=pn, docinfo=docinfo)
248 ''' ZDES ''' 249 ''' ZDES '''
249 pt = getattr(self.template, 'thumbs_main_rss') 250 pt = getattr(self.template, 'thumbs_main_rss')
250 251
251 if viewMode=="auto": # automodus gewaehlt 252 if viewMode=="auto": # automodus gewaehlt
252 if docinfo.has_key("textURL") or docinfo.has_key('textURLPath'): #texturl gesetzt und textViewer konfiguriert 253 if docinfo.has_key("textURL") or docinfo.has_key('textURLPath'): #texturl gesetzt und textViewer konfiguriert
255 viewMode="images" 256 viewMode="images"
256 257
257 return pt(docinfo=docinfo,pageinfo=pageinfo,viewMode=viewMode) 258 return pt(docinfo=docinfo,pageinfo=pageinfo,viewMode=viewMode)
258 259
259 security.declareProtected('View','index_html') 260 security.declareProtected('View','index_html')
260 def index_html(self,url,mode="texttool",viewMode="auto",tocMode="thumbs",start=None,pn=1,mk=None, query=None, querySearch=None, characterNormalization="",originalPage=None): 261 def index_html(self,url,mode="texttool",viewMode="auto",tocMode="thumbs",start=None,pn=1,mk=None, query=None, querySearch=None, characterNormalization=""):
261 ''' 262 '''
262 view it 263 view it
263 @param mode: defines how to access the document behind url 264 @param mode: defines how to access the document behind url
264 @param url: url which contains display information 265 @param url: url which contains display information
265 @param viewMode: if images display images, if text display text, default is auto (text,images or auto) 266 @param viewMode: if images display images, if text display text, default is auto (text,images or auto)
266 @param tocMode: type of 'table of contents' for navigation (thumbs, text, figures, none) 267 @param tocMode: type of 'table of contents' for navigation (thumbs, text, figures, none)
267 @param characterNormalization type of text display (reg, norm, none) 268 @param characterNormalization type of text display (reg, norm, none)
268 @param querySearch: type of different search modes (fulltext, fulltextMorph, xpath, xquery, ftIndex, ftIndexMorph, fulltextMorphLemma) 269 @param querySearch: type of different search modes (fulltext, fulltextMorph, xpath, xquery, ftIndex, ftIndexMorph, fulltextMorphLemma)
269 ''' 270 '''
270 271
271 logging.debug("documentViewer (index) mode: %s url:%s start:%s pn:%s originalPage:%s"%(mode,url,start,pn,originalPage)) 272 logging.debug("documentViewer (index) mode: %s url:%s start:%s pn:%s"%(mode,url,start,pn))
272 273
273 if not hasattr(self, 'template'): 274 if not hasattr(self, 'template'):
274 # this won't work 275 # this won't work
275 logging.error("template folder missing!") 276 logging.error("template folder missing!")
276 return "ERROR: template folder missing!" 277 return "ERROR: template folder missing!"
288 if docinfo.has_key('textURL') or docinfo.has_key('textURLPath'): #texturl gesetzt und textViewer konfiguriert 289 if docinfo.has_key('textURL') or docinfo.has_key('textURLPath'): #texturl gesetzt und textViewer konfiguriert
289 viewMode="text_dict" 290 viewMode="text_dict"
290 else: 291 else:
291 viewMode="images" 292 viewMode="images"
292 293
293 pageinfo = self.getPageinfo(start=start,current=pn, docinfo=docinfo,viewMode=viewMode,tocMode=tocMode, originalPage=originalPage) 294 pageinfo = self.getPageinfo(start=start,current=pn, docinfo=docinfo,viewMode=viewMode,tocMode=tocMode)
294 295
295 pt = getattr(self.template, 'viewer_main') 296 pt = getattr(self.template, 'viewer_main')
296 return pt(docinfo=docinfo,pageinfo=pageinfo,viewMode=viewMode,mk=self.generateMarks(mk)) 297 return pt(docinfo=docinfo,pageinfo=pageinfo,viewMode=viewMode,mk=self.generateMarks(mk))
297 298
298 def generateMarks(self,mk): 299 def generateMarks(self,mk):
745 logging.debug("documentViewer (getdocinfo) docinfo: %s"%docinfo) 746 logging.debug("documentViewer (getdocinfo) docinfo: %s"%docinfo)
746 747
747 self.REQUEST.SESSION['docinfo'] = docinfo 748 self.REQUEST.SESSION['docinfo'] = docinfo
748 return docinfo 749 return docinfo
749 750
750 def getPageinfo(self, current, start=None, rows=None, cols=None, docinfo=None, viewMode=None, tocMode=None,characterNormalization="", originalPage=None): 751 def getPageinfo(self, current, start=None, rows=None, cols=None, docinfo=None, viewMode=None, tocMode=None,characterNormalization="",originalPage=None):
751 """returns pageinfo with the given parameters""" 752 """returns pageinfo with the given parameters"""
752 pageinfo = {} 753 pageinfo = {}
753 current = getInt(current) 754 current = getInt(current)
754 755
755 pageinfo ['originalPage'] = originalPage 756 pageinfo ['originalPage'] = originalPage