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 |
