comparison documentViewer.py @ 590:ed4485d2748e

viewMode "images" changed to "image".
author casties
date Fri, 16 Nov 2012 11:44:21 +0100
parents d8d6975cebcb
children 5850689ecfac
comparison
equal deleted inserted replaced
589:d8d6975cebcb 590:ed4485d2748e
87 # templates and forms 87 # templates and forms
88 # 88 #
89 # viewMode templates 89 # viewMode templates
90 viewer_text = PageTemplateFile('zpt/viewer_text', globals()) 90 viewer_text = PageTemplateFile('zpt/viewer_text', globals())
91 viewer_xml = PageTemplateFile('zpt/viewer_xml', globals()) 91 viewer_xml = PageTemplateFile('zpt/viewer_xml', globals())
92 viewer_images = PageTemplateFile('zpt/viewer_images', globals()) 92 viewer_image = PageTemplateFile('zpt/viewer_image', globals())
93 viewer_index = PageTemplateFile('zpt/viewer_index', globals()) 93 viewer_index = PageTemplateFile('zpt/viewer_index', globals())
94 viewer_thumbs = PageTemplateFile('zpt/viewer_thumbs', globals()) 94 viewer_thumbs = PageTemplateFile('zpt/viewer_thumbs', globals())
95 viewer_indexonly = PageTemplateFile('zpt/viewer_indexonly', globals()) 95 viewer_indexonly = PageTemplateFile('zpt/viewer_indexonly', globals())
96 # available layer types (annotator not default) 96 # available layer types (annotator not default)
97 builtinLayers = {'text': ['dict','search','gis'], 97 builtinLayers = {'text': ['dict','search','gis'],
98 'xml': None, 'images': None, 'index': ['extended']} 98 'xml': None, 'image': None, 'index': ['extended']}
99 availableLayers = builtinLayers; 99 availableLayers = builtinLayers;
100 # layer templates 100 # layer templates
101 layer_text_dict = PageTemplateFile('zpt/layer_text_dict', globals()) 101 layer_text_dict = PageTemplateFile('zpt/layer_text_dict', globals())
102 layer_text_search = PageTemplateFile('zpt/layer_text_search', globals()) 102 layer_text_search = PageTemplateFile('zpt/layer_text_search', globals())
103 layer_text_annotator = PageTemplateFile('zpt/layer_text_annotator', globals()) 103 layer_text_annotator = PageTemplateFile('zpt/layer_text_annotator', globals())
104 layer_text_gis = PageTemplateFile('zpt/layer_text_gis', globals()) 104 layer_text_gis = PageTemplateFile('zpt/layer_text_gis', globals())
105 layer_text_pundit = PageTemplateFile('zpt/layer_text_pundit', globals()) 105 layer_text_pundit = PageTemplateFile('zpt/layer_text_pundit', globals())
106 layer_images_annotator = PageTemplateFile('zpt/layer_images_annotator', globals()) 106 layer_image_annotator = PageTemplateFile('zpt/layer_image_annotator', globals())
107 layer_index_extended = PageTemplateFile('zpt/layer_index_extended', globals()) 107 layer_index_extended = PageTemplateFile('zpt/layer_index_extended', globals())
108 # toc templates 108 # toc templates
109 toc_thumbs = PageTemplateFile('zpt/toc_thumbs', globals()) 109 toc_thumbs = PageTemplateFile('zpt/toc_thumbs', globals())
110 toc_text = PageTemplateFile('zpt/toc_text', globals()) 110 toc_text = PageTemplateFile('zpt/toc_text', globals())
111 toc_figures = PageTemplateFile('zpt/toc_figures', globals()) 111 toc_figures = PageTemplateFile('zpt/toc_figures', globals())
208 def thumbs_rss(self,mode,url,viewMode="auto",start=None,pn=1): 208 def thumbs_rss(self,mode,url,viewMode="auto",start=None,pn=1):
209 ''' 209 '''
210 view it 210 view it
211 @param mode: defines how to access the document behind url 211 @param mode: defines how to access the document behind url
212 @param url: url which contains display information 212 @param url: url which contains display information
213 @param viewMode: if images display images, if text display text, default is images (text,images or auto) 213 @param viewMode: image: display images, text: display text, default is auto (try text, else image)
214 214
215 ''' 215 '''
216 216
217 if not hasattr(self, 'template'): 217 if not hasattr(self, 'template'):
218 # create template folder if it doesn't exist 218 # this won't work
219 self.manage_addFolder('template') 219 logging.error("template folder missing!")
220 220 return "ERROR: template folder missing!"
221
221 if not self.digilibBaseUrl: 222 if not self.digilibBaseUrl:
222 self.digilibBaseUrl = self.findDigilibUrl() or "http://nausikaa.mpiwg-berlin.mpg.de/digitallibrary" 223 self.digilibBaseUrl = self.findDigilibUrl() or "http://nausikaa.mpiwg-berlin.mpg.de/digitallibrary"
223 224
224 docinfo = self.getDocinfo(mode=mode,url=url) 225 docinfo = self.getDocinfo(mode=mode,url=url)
225 #pageinfo = self.getPageinfo(start=start,current=pn,docinfo=docinfo) 226 #pageinfo = self.getPageinfo(start=start,current=pn,docinfo=docinfo)
229 230
230 if viewMode=="auto": # automodus gewaehlt 231 if viewMode=="auto": # automodus gewaehlt
231 if docinfo.has_key("textURL") or docinfo.get('textURLPath',None): #texturl gesetzt und textViewer konfiguriert 232 if docinfo.has_key("textURL") or docinfo.get('textURLPath',None): #texturl gesetzt und textViewer konfiguriert
232 viewMode="text" 233 viewMode="text"
233 else: 234 else:
234 viewMode="images" 235 viewMode="image"
235 236
236 return pt(docinfo=docinfo,pageinfo=pageinfo,viewMode=viewMode) 237 return pt(docinfo=docinfo,pageinfo=pageinfo,viewMode=viewMode)
237 238
238 239
239 security.declareProtected('View','index_html') 240 security.declareProtected('View','index_html')
240 def index_html(self, url, mode="texttool", viewMode="auto", viewLayer=None, tocMode=None, start=None, pn=None, pf=None): 241 def index_html(self, url, mode="texttool", viewMode="auto", viewLayer=None, tocMode=None, start=None, pn=None, pf=None):
241 """ 242 """
242 show page 243 show page
243 @param url: url which contains display information 244 @param url: url which contains display information
244 @param mode: defines how to access the document behind url 245 @param mode: defines how to access the document behind url
245 @param viewMode: 'images': display images, 'text': display text, 'xml': display xml, default is 'auto' 246 @param viewMode: 'image': display images, 'text': display text, 'xml': display xml, default is 'auto'
246 @param viewLayer: sub-type of viewMode, e.g. layer 'dict' for viewMode='text' 247 @param viewLayer: sub-type of viewMode, e.g. layer 'dict' for viewMode='text'
247 @param tocMode: type of 'table of contents' for navigation (thumbs, text, figures, none) 248 @param tocMode: type of 'table of contents' for navigation (thumbs, text, figures, none)
248 """ 249 """
249 250
250 logging.debug("documentViewer(index_html) mode=%s url=%s viewMode=%s viewLayer=%s start=%s pn=%s pf=%s"%(mode,url,viewMode,viewLayer,start,pn,pf)) 251 logging.debug("documentViewer(index_html) mode=%s url=%s viewMode=%s viewLayer=%s start=%s pn=%s pf=%s"%(mode,url,viewMode,viewLayer,start,pn,pf))
277 viewMode = "text" 278 viewMode = "text"
278 if viewLayer is None and 'viewLayer' not in userinfo: 279 if viewLayer is None and 'viewLayer' not in userinfo:
279 # use layer dict as default 280 # use layer dict as default
280 viewLayer = "dict" 281 viewLayer = "dict"
281 else: 282 else:
282 viewMode = "images" 283 viewMode = "image"
283 284
284 elif viewMode == "text_dict": 285 elif viewMode == "text_dict":
285 # legacy fix 286 # legacy fix
286 viewMode = "text" 287 viewMode = "text"
287 viewLayer = "dict" 288 viewLayer = "dict"
288 289
290 elif viewMode == 'images':
291 # legacy fix
292 viewMode = 'image'
293 self.REQUEST['viewMode'] = 'image'
294
289 # safe viewLayer in userinfo 295 # safe viewLayer in userinfo
290 userinfo['viewLayer'] = viewLayer 296 userinfo['viewLayer'] = viewLayer
291 297
292 # pageinfo: information about page (not cached) 298 # pageinfo: information about page (not cached)
293 pageinfo = self.getPageinfo(start=start, pn=pn, pf=pf, docinfo=docinfo, userinfo=userinfo, viewMode=viewMode, viewLayer=viewLayer, tocMode=tocMode) 299 pageinfo = self.getPageinfo(start=start, pn=pn, pf=pf, docinfo=docinfo, userinfo=userinfo, viewMode=viewMode, viewLayer=viewLayer, tocMode=tocMode)
402 assumes layer templates have the form layer_{m}_{l} for layer l in mode m. 408 assumes layer templates have the form layer_{m}_{l} for layer l in mode m.
403 newLayerString is parsed as JSON.""" 409 newLayerString is parsed as JSON."""
404 if newLayerString is not None: 410 if newLayerString is not None:
405 try: 411 try:
406 layers = json.loads(newLayerString) 412 layers = json.loads(newLayerString)
407 if 'text' in layers and 'images' in layers: 413 if 'text' in layers and 'image' in layers:
408 self.availableLayers = layers 414 self.availableLayers = layers
409 return 415 return
410 except: 416 except:
411 pass 417 pass
412 418