comparison documentViewer.py @ 585:83eeed69793f

new annotator layer for images.
author casties
date Tue, 13 Nov 2012 17:33:34 +0100
parents 011905457a5f
children 6000c7e24d8a
comparison
equal deleted inserted replaced
584:011905457a5f 585:83eeed69793f
38 if isinstance(node, dict): 38 if isinstance(node, dict):
39 return node.get('@text', None) 39 return node.get('@text', None)
40 40
41 return node 41 return node
42 42
43 def browserCheck(self):
44 """check the browsers request to find out the browser type"""
45 bt = {}
46 ua = self.REQUEST.get_header("HTTP_USER_AGENT")
47 bt['ua'] = ua
48 bt['isIE'] = False
49 bt['isN4'] = False
50 bt['versFirefox']=""
51 bt['versIE']=""
52 bt['versSafariChrome']=""
53 bt['versOpera']=""
54
55 if string.find(ua, 'MSIE') > -1:
56 bt['isIE'] = True
57 else:
58 bt['isN4'] = (string.find(ua, 'Mozilla/4.') > -1)
59 # Safari oder Chrome identification
60 try:
61 nav = ua[string.find(ua, '('):]
62 nav1=ua[string.find(ua,')'):]
63 nav2=nav1[string.find(nav1,'('):]
64 nav3=nav2[string.find(nav2,')'):]
65 ie = string.split(nav, "; ")[1]
66 ie1 =string.split(nav1, " ")[2]
67 ie2 =string.split(nav3, " ")[1]
68 ie3 =string.split(nav3, " ")[2]
69 if string.find(ie3, "Safari") >-1:
70 bt['versSafariChrome']=string.split(ie2, "/")[1]
71 except: pass
72 # IE identification
73 try:
74 nav = ua[string.find(ua, '('):]
75 ie = string.split(nav, "; ")[1]
76 if string.find(ie, "MSIE") > -1:
77 bt['versIE'] = string.split(ie, " ")[1]
78 except:pass
79 # Firefox identification
80 try:
81 nav = ua[string.find(ua, '('):]
82 nav1=ua[string.find(ua,')'):]
83 if string.find(ie1, "Firefox") >-1:
84 nav5= string.split(ie1, "/")[1]
85 logging.debug("FIREFOX: %s"%(nav5))
86 bt['versFirefox']=nav5[0:3]
87 except:pass
88 #Opera identification
89 try:
90 if string.find(ua,"Opera") >-1:
91 nav = ua[string.find(ua, '('):]
92 nav1=nav[string.find(nav,')'):]
93 bt['versOpera']=string.split(nav1,"/")[2]
94 except:pass
95
96 bt['isMac'] = string.find(ua, 'Macintosh') > -1
97 bt['isWin'] = string.find(ua, 'Windows') > -1
98 bt['isIEWin'] = bt['isIE'] and bt['isWin']
99 bt['isIEMac'] = bt['isIE'] and bt['isMac']
100 bt['staticHTML'] = False
101
102 return bt
103
104 def getParentPath(path, cnt=1): 43 def getParentPath(path, cnt=1):
105 """returns pathname shortened by cnt""" 44 """returns pathname shortened by cnt"""
106 # make sure path doesn't end with / 45 # make sure path doesn't end with /
107 path = path.rstrip('/') 46 path = path.rstrip('/')
108 # split by /, shorten, and reassemble 47 # split by /, shorten, and reassemble
109 return '/'.join(path.split('/')[0:-cnt]) 48 return '/'.join(path.split('/')[0:-cnt])
49
110 50
111 ## 51 ##
112 ## documentViewer class 52 ## documentViewer class
113 ## 53 ##
114 class documentViewer(Folder): 54 class documentViewer(Folder):
142 layer_text_dict = PageTemplateFile('zpt/layer_text_dict', globals()) 82 layer_text_dict = PageTemplateFile('zpt/layer_text_dict', globals())
143 layer_text_search = PageTemplateFile('zpt/layer_text_search', globals()) 83 layer_text_search = PageTemplateFile('zpt/layer_text_search', globals())
144 layer_text_annotator = PageTemplateFile('zpt/layer_text_annotator', globals()) 84 layer_text_annotator = PageTemplateFile('zpt/layer_text_annotator', globals())
145 layer_text_gis = PageTemplateFile('zpt/layer_text_gis', globals()) 85 layer_text_gis = PageTemplateFile('zpt/layer_text_gis', globals())
146 layer_text_pundit = PageTemplateFile('zpt/layer_text_pundit', globals()) 86 layer_text_pundit = PageTemplateFile('zpt/layer_text_pundit', globals())
87 layer_images_annotator = PageTemplateFile('zpt/layer_images_annotator', globals())
147 layer_index_extended = PageTemplateFile('zpt/layer_index_extended', globals()) 88 layer_index_extended = PageTemplateFile('zpt/layer_index_extended', globals())
148 # toc templates 89 # toc templates
149 toc_thumbs = PageTemplateFile('zpt/toc_thumbs', globals()) 90 toc_thumbs = PageTemplateFile('zpt/toc_thumbs', globals())
150 toc_text = PageTemplateFile('zpt/toc_text', globals()) 91 toc_text = PageTemplateFile('zpt/toc_text', globals())
151 toc_figures = PageTemplateFile('zpt/toc_figures', globals()) 92 toc_figures = PageTemplateFile('zpt/toc_figures', globals())
158 docuviewer_css = ImageFile('css/docuviewer.css',globals()) 99 docuviewer_css = ImageFile('css/docuviewer.css',globals())
159 # make docuviewer_css refreshable for development 100 # make docuviewer_css refreshable for development
160 docuviewer_css.index_html = refreshingImageFileIndexHtml 101 docuviewer_css.index_html = refreshingImageFileIndexHtml
161 docuviewer_ie_css = ImageFile('css/docuviewer_ie.css',globals()) 102 docuviewer_ie_css = ImageFile('css/docuviewer_ie.css',globals())
162 # make docuviewer_ie_css refreshable for development 103 # make docuviewer_ie_css refreshable for development
163 docuviewer_ie_css.index_html = refreshingImageFileIndexHtml 104 #docuviewer_ie_css.index_html = refreshingImageFileIndexHtml
164 jquery_js = ImageFile('js/jquery.js',globals()) 105 jquery_js = ImageFile('js/jquery.js',globals())
165 106
166 107
167 def __init__(self,id,imageScalerUrl=None,textServerName=None,title="",digilibBaseUrl=None,thumbcols=2,thumbrows=5,authgroups="mpiwg"): 108 def __init__(self,id,imageScalerUrl=None,textServerName=None,title="",digilibBaseUrl=None,thumbcols=2,thumbrows=5,authgroups="mpiwg"):
168 """init document viewer""" 109 """init document viewer"""
344 285
345 def getAvailableLayers(self): 286 def getAvailableLayers(self):
346 """returns dict with list of available layers per viewMode""" 287 """returns dict with list of available layers per viewMode"""
347 return self.availableLayers 288 return self.availableLayers
348 289
349 def getBrowser(self):
350 """getBrowser the version of browser """
351 bt = browserCheck(self)
352 logging.debug("BROWSER VERSION: %s"%(bt))
353 return bt
354
355 def findDigilibUrl(self): 290 def findDigilibUrl(self):
356 """try to get the digilib URL from zogilib""" 291 """try to get the digilib URL from zogilib"""
357 url = self.template.zogilib.getDLBaseUrl() 292 url = self.template.zogilib.getDLBaseUrl()
358 return url 293 return url
359 294