Changeset 546:2928037f9a75 in documentViewer
- Timestamp:
- Aug 28, 2012, 6:24:01 PM (12 years ago)
- Branch:
- default
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
SrvTxtUtils.py
r528 r546 12 12 13 13 14 srvTxtUtilsVersion = "1. 4.1"14 srvTxtUtilsVersion = "1.5" 15 15 16 16 def getInt(number, default=0): … … 38 38 return s.decode('latin-1') 39 39 else: 40 return unicode(s)40 return s 41 41 42 42 def utf8ify(s): … … 48 48 return s 49 49 else: 50 return unicode(s).encode('utf-8')50 return s.encode('utf-8') 51 51 52 52 def getText(node, recursive=0): … … 76 76 77 77 78 def getHttpData(url, data=None, num_tries=3, timeout=10 ):78 def getHttpData(url, data=None, num_tries=3, timeout=10, noExceptions=False): 79 79 """returns result from url+data HTTP request""" 80 80 # we do GET (by appending data to url) … … 117 117 return data 118 118 119 if noExceptions: 120 return None 121 119 122 raise IOError("ERROR fetching HTTP data from %s: %s"%(url,errmsg)) 120 123 #return None -
documentViewer.py
r543 r546 127 127 viewer_index = PageTemplateFile('zpt/viewer_index', globals()) 128 128 viewer_thumbs = PageTemplateFile('zpt/viewer_thumbs', globals()) 129 # available layer types 130 builtinLayers = {'text': ['dict','search','gis' ,'annotator'],129 # available layer types (annotator not default) 130 builtinLayers = {'text': ['dict','search','gis'], 131 131 'xml': None, 'images': None, 'index': None} 132 132 availableLayers = builtinLayers; … … 317 317 return pt(docinfo=docinfo, pageinfo=pageinfo) 318 318 319 #WTF?320 def generateMarks(self,mk):321 ret=""322 if mk is None:323 return ""324 if not isinstance(mk, list):325 mk=[mk]326 for m in mk:327 ret+="mk=%s"%m328 return ret329 330 331 319 def getAvailableLayers(self): 332 320 """returns dict with list of available layers per viewMode""" … … 986 974 987 975 976 def getAnnotatorGroupsForUser(self, user, annotationServerUrl="http://tuxserve03.mpiwg-berlin.mpg.de/AnnotationManager"): 977 """returns list of groups {name:*, id:*} on the annotation server for the user""" 978 groups = [] 979 groupsUrl = "%s/annotator/groups?user=%s"%(annotationServerUrl,user) 980 data = getHttpData(url=groupsUrl, noExceptions=True) 981 if data: 982 res = json.loads(data) 983 rows = res.get('rows', None) 984 if rows is None: 985 return groups 986 for r in rows: 987 groups.append({'id': r.get('id', None), 'name': r.get('name', None), 'uri': r.get('uri', None)}) 988 989 return groups 990 991 988 992 security.declareProtected('View management screens','changeDocumentViewerForm') 989 993 changeDocumentViewerForm = PageTemplateFile('zpt/changeDocumentViewer', globals()) -
zpt/layer_text_annotator.zpt
r531 r546 34 34 35 35 <script type="text/javascript" 36 tal:define="annUrl python:'%s?url=%s&pn=%s'%(rootUrl,docinfo['url'],pageinfo['pn']); annUser python:here.getAuthenticatedUser(anon='anonymous');" 37 tal:content="structure string:var annotatorPageUrl='$annUrl'; var annotatorUser='$annUser';"></script> 36 tal:define="annUrl python:'%s?url=%s&pn=%s'%(rootUrl,docinfo['url'],pageinfo['pn']); 37 global annUser python:here.getAuthenticatedUser(anon='anonymous'); 38 global annGroup python:request.get('annotator_group', None); 39 permUser python:test(annGroup, 'group:%s'%annGroup, annUser);" 40 tal:content="structure string:var annotatorPageUrl='$annUrl'; var annotatorUser='$annUser'; var permissionUser='$permUser';"></script> 38 41 39 42 <script type="text/javascript"> … … 46 49 tokenUrl : 'template/token?user='+annotatorUser 47 50 }).addPlugin('Permissions', { 48 user : annotatorUser,51 user : permissionUser, 49 52 userString : function(user) { 50 53 if (user && user.name) { … … 60 63 } 61 64 }).addPlugin('Store', { 62 prefix: 'http://tuxserve03.mpiwg-berlin.mpg.de/AnnotationManager/annotator', 65 //prefix: 'http://tuxserve03.mpiwg-berlin.mpg.de/AnnotationManager/annotator', 66 prefix: 'http://r583-1.mpiwg-berlin.mpg.de:18080/AnnotationManager/annotator', 63 67 annotationData : { 64 68 'uri' : uri … … 89 93 <metal:block metal:define-macro="options_box" tal:condition="python:'annotator' in viewLayers"> 90 94 <!-- BEGIN ANNOTATIONS --> 91 <div class="options" tal:define="annUser python:here.getAuthenticatedUser(anon='anonymous')">95 <div class="options"> 92 96 <h4>Annotations</h4> 93 <div>You are user "<span tal:replace="annUser"/>"</div> 97 <p> 98 User "<span tal:replace="annUser" />"<span tal:condition="annGroup" tal:content="string: ($annGroup)"/>. 99 </p> 100 <!-- TODO: login button --> 101 <form class="autosubmit" tal:attributes="action viewerUrl"> 102 <input type="hidden" tal:define="params python:here.getParams(params={'annotator_group':None});" tal:repeat="param params" 103 tal:attributes="name param; value python:params[param]" /> 104 <p> 105 In group 106 <select class="autosubmit" name="annotator_group"> 107 <option value="" tal:attributes="selected not:annGroup;"> </option> 108 <option 109 tal:repeat="group python:here.getAnnotatorGroupsForUser(user=annUser,annotationServerUrl='http://localhost:18080/AnnotationManager')" 110 tal:attributes="value group/id; selected python:group['id']==annGroup;" tal:content="group/name" /> 111 </select> <br /> 112 <input type="submit" value="Go!" /> 113 </p> 114 </form> 94 115 </div> 95 116 <!-- END ANNOTATIONS -->
Note: See TracChangeset
for help on using the changeset viewer.