Mercurial > hg > documentViewer
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 |