Task #8988 (new)
Opened 12 years ago
Last modified 12 years ago
BUG:NoneType' object has no attribute 'getOwner' — at Initial Version
Reported by: | omero-qa | Owned by: | atarkowska |
---|---|---|---|
Priority: | minor | Milestone: | Unscheduled |
Component: | from QA | Version: | n.a. |
Keywords: | n.a. | Cc: | web-team@…, rkferguson |
Resources: | n.a. | Referenced By: | n.a. |
References: | n.a. | Remaining Time: | n.a. |
Sprint: | n.a. |
Description
http://qa.openmicroscopy.org.uk/qa/feedback/4373/
Comment: Trying to view shared image in data tree of user-6 read-only-1 after user-2 read-only-1 had shared it with user-6. Note - still logged in as user-2 just wanted t make sure share was visible.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="robots" content="NONE,NOARCHIVE"> <title>TemplateSyntaxError at /webclient/load_public/2435/</title> <style type="text/css"> html * { padding:0; margin:0; } body * { padding:10px 20px; } body * * { padding:0; } body { font:small sans-serif; } body>div { border-bottom:1px solid #ddd; } h1 { font-weight:normal; } h2 { margin-bottom:.8em; } h2 span { font-size:80%; color:#666; font-weight:normal; } h3 { margin:1em 0 .5em 0; } h4 { margin:0 0 .5em 0; font-weight: normal; } code, pre { font-size: 100%; } table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; } tbody td, tbody th { vertical-align:top; padding:2px 3px; } thead th { padding:1px 6px 1px 3px; background:#fefefe; text-align:left; font-weight:normal; font-size:11px; border:1px solid #ddd; } tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; } table.vars { margin:5px 0 2px 40px; } table.vars td, table.req td { font-family:monospace; } table td.code { width:100%; } table td.code pre { overflow:hidden; } table.source th { color:#666; } table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; } ul.traceback { list-style-type:none; } ul.traceback li.frame { padding-bottom:1em; } div.context { padding:10px 0; overflow:hidden; } div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; } div.context ol li { font-family:monospace; white-space:pre; color:#666; cursor:pointer; } div.context ol li pre { display:inline; } div.context ol.context-line li { color:black; background-color:#ccc; } div.context ol.context-line li span { position:absolute; right:32px; } div.commands { margin-left: 40px; } div.commands a { color:black; text-decoration:none; } #summary { background: #ffc; } #summary h2 { font-weight: normal; color: #666; } #explanation { background:#eee; } #template, #template-not-exist { background:#f6f6f6; } #template-not-exist ul { margin: 0 0 0 20px; } #unicode-hint { background:#eee; } #traceback { background:#eee; } #requestinfo { background:#f6f6f6; padding-left:120px; } #summary table { border:none; background:transparent; } #requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; } #requestinfo h3 { margin-bottom:-1em; } .error { background: #ffc; } .specific { color:#cc3300; font-weight:bold; } h2 span.commands { font-size:.7em;} span.commands a:link {color:#5E5694;} pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; } </style> <script type="text/javascript"> //<!-- function getElementsByClassName(oElm, strTagName, strClassName){ // Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName); var arrReturnElements = new Array(); strClassName = strClassName.replace(/\-/g, "\-"); var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)"); var oElement; for(var i=0; i<arrElements.length; i++){ oElement = arrElements[i]; if(oRegExp.test(oElement.className)){ arrReturnElements.push(oElement); } } return (arrReturnElements) } function hideAll(elems) { for (var e = 0; e < elems.length; e++) { elems[e].style.display = 'none'; } } window.onload = function() { hideAll(getElementsByClassName(document, 'table', 'vars')); hideAll(getElementsByClassName(document, 'ol', 'pre-context')); hideAll(getElementsByClassName(document, 'ol', 'post-context')); hideAll(getElementsByClassName(document, 'div', 'pastebin')); } function toggle() { for (var i = 0; i < arguments.length; i++) { var e = document.getElementById(arguments[i]); if (e) { e.style.display = e.style.display == 'none' ? 'block' : 'none'; } } return false; } function varToggle(link, id) { toggle('v' + id); var s = link.getElementsByTagName('span')[0]; var uarr = String.fromCharCode(0x25b6); var darr = String.fromCharCode(0x25bc); s.innerHTML = s.innerHTML == uarr ? darr : uarr; return false; } function switchPastebinFriendly(link) { s1 = "Switch to copy-and-paste view"; s2 = "Switch back to interactive view"; link.innerHTML = link.innerHTML == s1 ? s2 : s1; toggle('browserTraceback', 'pastebinTraceback'); return false; } //--> </script> </head> <body> <div id="summary"> <h1>TemplateSyntaxError at /webclient/load_public/2435/</h1> <pre class="exception_value">Caught AttributeError while rendering: 'NoneType' object has no attribute 'getOwner'</pre> <table class="meta"> <tr> <th>Request Method:</th> <td>GET</td> </tr> <tr> <th>Request URL:</th> <td>http://10.34.2.150:8000/webclient/load_public/2435/?view=icon</td> </tr> <tr> <th>Django Version:</th> <td>1.3.1</td> </tr> <tr> <th>Exception Type:</th> <td>TemplateSyntaxError</td> </tr> <tr> <th>Exception Value:</th> <td><pre>Caught AttributeError while rendering: 'NoneType' object has no attribute 'getOwner'</pre></td> </tr> <tr> <th>Exception Location:</th> <td>/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/omero/gateway/__init__.py in getOwner, line 1147</td> </tr> <tr> <th>Python Executable:</th> <td>/usr/local/bin/python</td> </tr> <tr> <th>Python Version:</th> <td>2.6.1</td> </tr> <tr> <th>Python Path:</th> <td><pre>['/Users/rkferguson/Documents/openmicroscopy/components/tools/OmeroWeb/omeroweb', '/usr/local/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg', '/usr/local/lib/python2.6/site-packages/pip-1.1-py2.6.egg', '/usr/local/src/tables', '/usr/local/Cellar/zeroc-ice33/3.3/python', '/Users/rkferguson/Documents/openmicroscopy/dist/lib/python', '/Users/rkferguson/Documents/openmicroscopy/components/tools/OmeroWeb', '/usr/local/lib/python26.zip', '/usr/local/lib/python2.6', '/usr/local/lib/python2.6/plat-darwin', '/usr/local/lib/python2.6/plat-mac', '/usr/local/lib/python2.6/plat-mac/lib-scriptpackages', '/usr/local/Extras/lib/python', '/usr/local/lib/python2.6/lib-tk', '/usr/local/lib/python2.6/lib-old', '/usr/local/lib/python2.6/lib-dynload', '/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6', '/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-darwin', '/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk', '/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac', '/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac/lib-scriptpackages', '/usr/local/lib/python2.6/site-packages', '/usr/local/lib/python2.6/site-packages/PIL']</pre></td> </tr> <tr> <th>Server time:</th> <td>Wed, 23 May 2012 14:13:19 +0100</td> </tr> </table> </div> <div id="template"> <h2>Template error</h2> <p>In template <code>/Users/rkferguson/Documents/openmicroscopy/components/tools/OmeroWeb/omeroweb/webclient/templates/webclient/public/share_content_icon.html</code>, error at line <strong>70</strong></p> <h3>Caught AttributeError while rendering: 'NoneType' object has no attribute 'getOwner'</h3> <table class="source cut-top cut-bottom"> <tr><th>60</th> <td> </td></tr> <tr><th>61</th> <td>{% if share.imgSize %} </td></tr> <tr><th>62</th> <td> </td></tr> <tr><th>63</th> <td> <div id="toolbar" class="toolbar_noborder"></div> </td></tr> <tr><th>64</th> <td> <div class="clear"> </div> </td></tr> <tr><th>65</th> <td> </td></tr> <tr><th>66</th> <td> <ul id="dataIcons"> </td></tr> <tr><th>67</th> <td> {% for c in share.imageInShare %} </td></tr> <tr><th>68</th> <td> <li id="image_icon-{{ c.id }}" title="{{ c.name }}" {% if not c.canEdit %}class="editonly"{% else %}class="readonly"{% endif %}> </td></tr> <tr><th>69</th> <td> {% if share.share.isOwned %} </td></tr> <tr class="error"><th>70</th> <td> <img id="{{ c.id }}" src="{% url render_thumbnail c.id %}" alt="image" title="{{ c.name }}, owned by <span class="specific">{{ c.getOwner.getNameWithInitial }}</span>"/> </td></tr> <tr><th>71</th> <td> {% else %} </td></tr> <tr><th>72</th> <td> <img id="{{ c.id }}" src="{% url render_thumbnail c.id share.share.id %}" alt="image" title="{{ c.name }}, owned by {{ c.getOwner.getNameWithInitial }}"/> </td></tr> <tr><th>73</th> <td> {% endif %} </td></tr> <tr><th>74</th> <td> </li> </td></tr> <tr><th>75</th> <td> {% endfor %} </td></tr> <tr><th>76</th> <td> </ul> </td></tr> <tr><th>77</th> <td> </td></tr> <tr><th>78</th> <td>{% else %} </td></tr> <tr><th>79</th> <td> <p>{% trans "No data." %}</p> </td></tr> <tr><th>80</th> <td>{% endif %} </td></tr> </table> </div> <div id="traceback"> <h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">Switch to copy-and-paste view</a></span></h2> <div id="browserTraceback"> <ul class="traceback"> <li class="frame"> <code>/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/core/handlers/base.py</code> in <code>get_response</code> <div class="context" id="c4313098720"> <ol start="104" class="pre-context" id="pre4313098720"><li onclick="toggle('pre4313098720', 'post4313098720')"><pre> for middleware_method in self._view_middleware:</pre></li><li onclick="toggle('pre4313098720', 'post4313098720')"><pre> response = middleware_method(request, callback, callback_args, callback_kwargs)</pre></li><li onclick="toggle('pre4313098720', 'post4313098720')"><pre> if response:</pre></li><li onclick="toggle('pre4313098720', 'post4313098720')"><pre> break</pre></li><li onclick="toggle('pre4313098720', 'post4313098720')"><pre></pre></li><li onclick="toggle('pre4313098720', 'post4313098720')"><pre> if response is None:</pre></li><li onclick="toggle('pre4313098720', 'post4313098720')"><pre> try:</pre></li></ol> <ol start="111" class="context-line"><li onclick="toggle('pre4313098720', 'post4313098720')"><pre> response = callback(request, *callback_args, **callback_kwargs)</pre> <span>...</span></li></ol> <ol start='112' class="post-context" id="post4313098720"><li onclick="toggle('pre4313098720', 'post4313098720')"><pre> except Exception, e:</pre></li><li onclick="toggle('pre4313098720', 'post4313098720')"><pre> # If the view raised an exception, run it through exception</pre></li><li onclick="toggle('pre4313098720', 'post4313098720')"><pre> # middleware, and if the exception middleware returns a</pre></li><li onclick="toggle('pre4313098720', 'post4313098720')"><pre> # response, use that. Otherwise, reraise the exception.</pre></li><li onclick="toggle('pre4313098720', 'post4313098720')"><pre> for middleware_method in self._exception_middleware:</pre></li><li onclick="toggle('pre4313098720', 'post4313098720')"><pre> response = middleware_method(request, e)</pre></li></ol> </div> <div class="commands"> <a href="#" onclick="return varToggle(this, '4313098720')"><span>▶</span> Local vars</a> </div> <table class="vars" id="v4313098720"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>exceptions</td> <td class="code"><pre><module 'django.core.exceptions' from '/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/core/exceptions.pyc'></pre></td> </tr> <tr> <td>e</td> <td class="code"><pre>TemplateSyntaxError(u"Caught AttributeError while rendering: 'NoneType' object has no attribute 'getOwner'",)</pre></td> </tr> <tr> <td>callback_args</td> <td class="code"><pre>()</pre></td> </tr> <tr> <td>receivers</td> <td class="code"><pre>[(<function _rollback_on_exception at 0x102f68668>, None)]</pre></td> </tr> <tr> <td>middleware_method</td> <td class="code"><pre><bound method MessageMiddleware.process_request of <django.contrib.messages.middleware.MessageMiddleware object at 0x103b5c110>></pre></td> </tr> <tr> <td>self</td> <td class="code"><pre><django.core.handlers.wsgi.WSGIHandler object at 0x1039f6a10></pre></td> </tr> <tr> <td>settings</td> <td class="code"><pre><django.conf.LazySettings object at 0x102987750></pre></td> </tr> <tr> <td>request</td> <td class="code"><pre><WSGIRequest GET:<QueryDict: {u'view': [u'icon']}>, POST:<QueryDict: {}>, COOKIES:{'sessionid': 'e962dc994331e82380150a86ef555ca5'}, META:{'Apple_PubSub_Socket_Render': '/tmp/launch-xuQHg3/Render', 'BREW_DIR': '/usr/local', 'COMMAND_MODE': 'unix2003', 'CONTENT_LENGTH': '', 'CONTENT_TYPE': 'text/plain', 'DISPLAY': '/tmp/launch-2FqvS3/org.x:0', 'DJANGO_SETTINGS_MODULE': 'omeroweb.settings', 'DYLD_LIBRARY_PATH': '/usr/local/Cellar/zeroc-ice33/3.3/lib:/usr/local/Cellar/zeroc-ice33/3.3/python:', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOME': '/Users/rkferguson', 'HTTP_ACCEPT': 'text/html, */*; q=0.01', 'HTTP_ACCEPT_ENCODING': 'gzip, deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-gb', 'HTTP_CONNECTION': 'Keep-Alive', 'HTTP_COOKIE': 'sessionid=e962dc994331e82380150a86ef555ca5', 'HTTP_HOST': '10.34.2.150:8000', 'HTTP_REFERER': 'http://10.34.2.150:8000/webclient/public/?experimenter=7', 'HTTP_UA_CPU': 'AMD64', 'HTTP_USER_AGENT': 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; BOIE9;ENGB)', 'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest', 'ICE_HOME': '/usr/local/Cellar/zeroc-ice33/3.3', 'LANG': 'en_GB.UTF-8', 'LOGNAME': 'rkferguson', 'OLDPWD': '/Users/rkferguson', 'OMERO_HOME': '/Users/rkferguson/Documents/openmicroscopy/dist/', 'PATH': '/usr/local/bin:/usr/local/sbin:/usr/local/lib/node_modules:/usr/local/Cellar/zeroc-ice33/3.3/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/local/munki:/usr/X11/bin', 'PATH_INFO': u'/webclient/load_public/2435/', 'PWD': '/Users/rkferguson/Documents/openmicroscopy', 'PYTHONPATH': '/usr/local/Cellar/zeroc-ice33/3.3/python:dist/lib/python:components/tools/OmeroWeb', 'QUERY_STRING': 'view=icon', 'REMOTE_ADDR': '10.34.2.150', 'REMOTE_HOST': '', 'REQUEST_METHOD': 'GET', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'', 'SECURITYSESSIONID': '500c04', 'SERVER_NAME': 'LS25532.local', 'SERVER_PORT': '8000', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 Python/2.6.1', 'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_AUTH_SOCK': '/tmp/launch-cPFaiq/Listeners', 'TERM': 'xterm-color', 'TERM_PROGRAM': 'Apple_Terminal', 'TERM_PROGRAM_VERSION': '273.1', 'TMPDIR': '/var/folders/FN/FNlxIw58GfunXmFak+bdxU+++TI/-Tmp-/', 'TZ': 'Europe/London', 'USER': 'rkferguson', 'VERSIONER_PYTHON_PREFER_32_BIT': 'no', 'VERSIONER_PYTHON_VERSION': '2.6', '_': '/usr/local/bin/python', '__CF_USER_TEXT_ENCODING': '0x1F5:0:0', 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x100416140>, 'wsgi.file_wrapper': <class 'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input': <socket._fileobject object at 0x107dde488>, 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}></pre></td> </tr> <tr> <td>callback</td> <td class="code"><pre><function load_public at 0x1061ca848></pre></td> </tr> <tr> <td>resolver</td> <td class="code"><pre><RegexURLResolver omeroweb.urls (None:None) ^/></pre></td> </tr> <tr> <td>urlresolvers</td> <td class="code"><pre><module 'django.core.urlresolvers' from '/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/core/urlresolvers.pyc'></pre></td> </tr> <tr> <td>callback_kwargs</td> <td class="code"><pre>{'share_id': u'2435'}</pre></td> </tr> <tr> <td>response</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>urlconf</td> <td class="code"><pre>'omeroweb.urls'</pre></td> </tr> </tbody> </table> </li> <li class="frame"> <code>/Users/rkferguson/Documents/openmicroscopy/components/tools/OmeroWeb/omeroweb/decorators.py</code> in <code>wrapped</code> <div class="context" id="c4403692968"> <ol start="304" class="pre-context" id="pre4403692968"><li onclick="toggle('pre4403692968', 'post4403692968')"><pre> ctx.on_share_connection_prepared(request, conn_share)</pre></li><li onclick="toggle('pre4403692968', 'post4403692968')"><pre> kwargs['conn'] = conn_share</pre></li><li onclick="toggle('pre4403692968', 'post4403692968')"><pre> else:</pre></li><li onclick="toggle('pre4403692968', 'post4403692968')"><pre> kwargs['conn'] = conn</pre></li><li onclick="toggle('pre4403692968', 'post4403692968')"><pre> </pre></li><li onclick="toggle('pre4403692968', 'post4403692968')"><pre> #kwargs['error'] = request.REQUEST.get('error')</pre></li><li onclick="toggle('pre4403692968', 'post4403692968')"><pre> kwargs['url'] = url</pre></li></ol> <ol start="311" class="context-line"><li onclick="toggle('pre4403692968', 'post4403692968')"><pre> retval = f(request, *args, **kwargs)</pre> <span>...</span></li></ol> <ol start='312' class="post-context" id="post4403692968"><li onclick="toggle('pre4403692968', 'post4403692968')"><pre> try:</pre></li><li onclick="toggle('pre4403692968', 'post4403692968')"><pre> logger.debug('Doing connection cleanup? %s' % \</pre></li><li onclick="toggle('pre4403692968', 'post4403692968')"><pre> ctx.doConnectionCleanup)</pre></li><li onclick="toggle('pre4403692968', 'post4403692968')"><pre> if ctx.doConnectionCleanup:</pre></li><li onclick="toggle('pre4403692968', 'post4403692968')"><pre> conn.c.closeSession()</pre></li><li onclick="toggle('pre4403692968', 'post4403692968')"><pre> except:</pre></li></ol> </div> <div class="commands"> <a href="#" onclick="return varToggle(this, '4403692968')"><span>▶</span> Local vars</a> </div> <table class="vars" id="v4403692968"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>server_id</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>share_id</td> <td class="code"><pre>u'2435'</pre></td> </tr> <tr> <td>conn_share</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>args</td> <td class="code"><pre>()</pre></td> </tr> <tr> <td>f</td> <td class="code"><pre><function load_public at 0x1061ca7d0></pre></td> </tr> <tr> <td>url</td> <td class="code"><pre>u'/webclient/load_public/2435/?view=icon'</pre></td> </tr> <tr> <td>ctx</td> <td class="code"><pre><omeroweb.webclient.decorators.login_required object at 0x1061c7d10></pre></td> </tr> <tr> <td>kwargs</td> <td class="code"><pre>{'conn': <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>, 'share_id': u'2435', 'url': u'/webclient/load_public/2435/?view=icon'}</pre></td> </tr> <tr> <td>request</td> <td class="code"><pre><WSGIRequest GET:<QueryDict: {u'view': [u'icon']}>, POST:<QueryDict: {}>, COOKIES:{'sessionid': 'e962dc994331e82380150a86ef555ca5'}, META:{'Apple_PubSub_Socket_Render': '/tmp/launch-xuQHg3/Render', 'BREW_DIR': '/usr/local', 'COMMAND_MODE': 'unix2003', 'CONTENT_LENGTH': '', 'CONTENT_TYPE': 'text/plain', 'DISPLAY': '/tmp/launch-2FqvS3/org.x:0', 'DJANGO_SETTINGS_MODULE': 'omeroweb.settings', 'DYLD_LIBRARY_PATH': '/usr/local/Cellar/zeroc-ice33/3.3/lib:/usr/local/Cellar/zeroc-ice33/3.3/python:', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOME': '/Users/rkferguson', 'HTTP_ACCEPT': 'text/html, */*; q=0.01', 'HTTP_ACCEPT_ENCODING': 'gzip, deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-gb', 'HTTP_CONNECTION': 'Keep-Alive', 'HTTP_COOKIE': 'sessionid=e962dc994331e82380150a86ef555ca5', 'HTTP_HOST': '10.34.2.150:8000', 'HTTP_REFERER': 'http://10.34.2.150:8000/webclient/public/?experimenter=7', 'HTTP_UA_CPU': 'AMD64', 'HTTP_USER_AGENT': 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; BOIE9;ENGB)', 'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest', 'ICE_HOME': '/usr/local/Cellar/zeroc-ice33/3.3', 'LANG': 'en_GB.UTF-8', 'LOGNAME': 'rkferguson', 'OLDPWD': '/Users/rkferguson', 'OMERO_HOME': '/Users/rkferguson/Documents/openmicroscopy/dist/', 'PATH': '/usr/local/bin:/usr/local/sbin:/usr/local/lib/node_modules:/usr/local/Cellar/zeroc-ice33/3.3/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/local/munki:/usr/X11/bin', 'PATH_INFO': u'/webclient/load_public/2435/', 'PWD': '/Users/rkferguson/Documents/openmicroscopy', 'PYTHONPATH': '/usr/local/Cellar/zeroc-ice33/3.3/python:dist/lib/python:components/tools/OmeroWeb', 'QUERY_STRING': 'view=icon', 'REMOTE_ADDR': '10.34.2.150', 'REMOTE_HOST': '', 'REQUEST_METHOD': 'GET', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'', 'SECURITYSESSIONID': '500c04', 'SERVER_NAME': 'LS25532.local', 'SERVER_PORT': '8000', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 Python/2.6.1', 'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_AUTH_SOCK': '/tmp/launch-cPFaiq/Listeners', 'TERM': 'xterm-color', 'TERM_PROGRAM': 'Apple_Terminal', 'TERM_PROGRAM_VERSION': '273.1', 'TMPDIR': '/var/folders/FN/FNlxIw58GfunXmFak+bdxU+++TI/-Tmp-/', 'TZ': 'Europe/London', 'USER': 'rkferguson', 'VERSIONER_PYTHON_PREFER_32_BIT': 'no', 'VERSIONER_PYTHON_VERSION': '2.6', '_': '/usr/local/bin/python', '__CF_USER_TEXT_ENCODING': '0x1F5:0:0', 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x100416140>, 'wsgi.file_wrapper': <class 'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input': <socket._fileobject object at 0x107dde488>, 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}></pre></td> </tr> <tr> <td>error</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>conn</td> <td class="code"><pre><webclient.webclient_gateway.OmeroWebGateway object at 0x101153110></pre></td> </tr> </tbody> </table> </li> <li class="frame"> <code>/Users/rkferguson/Documents/openmicroscopy/components/tools/OmeroWeb/omeroweb/decorators.py</code> in <code>wrapper</code> <div class="context" id="c4403691744"> <ol start="358" class="pre-context" id="pre4403691744"><li onclick="toggle('pre4403691744', 'post4403691744')"><pre> json_data = simplejson.dumps(context)</pre></li><li onclick="toggle('pre4403691744', 'post4403691744')"><pre> return HttpResponse(json_data, mimetype='application/javascript')</pre></li><li onclick="toggle('pre4403691744', 'post4403691744')"><pre> else:</pre></li><li onclick="toggle('pre4403691744', 'post4403691744')"><pre> # allow additional processing of context dict</pre></li><li onclick="toggle('pre4403691744', 'post4403691744')"><pre> ctx.prepare_context(request, context, *args, **kwargs)</pre></li><li onclick="toggle('pre4403691744', 'post4403691744')"><pre> t = template_loader.get_template(template)</pre></li><li onclick="toggle('pre4403691744', 'post4403691744')"><pre> c = RequestContext(request, context)</pre></li></ol> <ol start="365" class="context-line"><li onclick="toggle('pre4403691744', 'post4403691744')"><pre> return HttpResponse(t.render(c))</pre> <span>...</span></li></ol> <ol start='366' class="post-context" id="post4403691744"><li onclick="toggle('pre4403691744', 'post4403691744')"><pre> return wraps(f)(wrapper)</pre></li></ol> </div> <div class="commands"> <a href="#" onclick="return varToggle(this, '4403691744')"><span>▶</span> Local vars</a> </div> <table class="vars" id="v4403691744"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>c</td> <td class="code"><pre>[{'isLeader': False, 'share': <omeroweb.webclient.controller.share.BaseShare object at 0x107deb310>, 'ome': {'user_id': 7L, 'eventContext': <bound method OmeroWebGateway.getEventContext of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>, 'top_links': [], 'center_plugins': [{'plugin_id': u'image_table', 'include': u'webclient/data/includes/center_plugin.table.js.html', 'label': u'Table'}, {'plugin_id': u'split_view_panel', 'include': u'webclient/data/includes/center_plugin.splitview.js.html', 'label': u'Split-view'}], 'right_plugins': [{'plugin_id': u'metadata_tab', 'include': u'webclient/data/includes/right_plugin.acquisition.js.html', 'label': u'Acquisition'}, {'plugin_id': u'preview_tab', 'include': u'webclient/data/includes/right_plugin.preview.js.html', 'label': u'Preview'}], 'basket_counter': 0, 'group_id': 0, 'user': <bound method OmeroWebGateway.getUser of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>}, 'template': 'webclient/public/share_content_icon.html', 'ping_interval': 60000}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x10ab3f490>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nl', 'Dutch'), ('no', 'Norwegian'), ('nb', 'Norwegian Bokmal'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en-gb'}, {'MEDIA_URL': ''}, {'STATIC_URL': '/static/'}, {'messages': <django.contrib.messages.storage.user_messages.LegacyFallbackStorage object at 0x10642ced0>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'c': <omero.gateway.BlitzObjectWrapper object at 0x10b829390>}]</pre></td> </tr> <tr> <td>template</td> <td class="code"><pre>'webclient/public/share_content_icon.html'</pre></td> </tr> <tr> <td>f</td> <td class="code"><pre><function load_public at 0x1061ca758></pre></td> </tr> <tr> <td>ctx</td> <td class="code"><pre><omeroweb.webclient.decorators.render_response object at 0x1061c7d90></pre></td> </tr> <tr> <td>args</td> <td class="code"><pre>()</pre></td> </tr> <tr> <td>request</td> <td class="code"><pre><WSGIRequest GET:<QueryDict: {u'view': [u'icon']}>, POST:<QueryDict: {}>, COOKIES:{'sessionid': 'e962dc994331e82380150a86ef555ca5'}, META:{'Apple_PubSub_Socket_Render': '/tmp/launch-xuQHg3/Render', 'BREW_DIR': '/usr/local', 'COMMAND_MODE': 'unix2003', 'CONTENT_LENGTH': '', 'CONTENT_TYPE': 'text/plain', 'DISPLAY': '/tmp/launch-2FqvS3/org.x:0', 'DJANGO_SETTINGS_MODULE': 'omeroweb.settings', 'DYLD_LIBRARY_PATH': '/usr/local/Cellar/zeroc-ice33/3.3/lib:/usr/local/Cellar/zeroc-ice33/3.3/python:', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HOME': '/Users/rkferguson', 'HTTP_ACCEPT': 'text/html, */*; q=0.01', 'HTTP_ACCEPT_ENCODING': 'gzip, deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-gb', 'HTTP_CONNECTION': 'Keep-Alive', 'HTTP_COOKIE': 'sessionid=e962dc994331e82380150a86ef555ca5', 'HTTP_HOST': '10.34.2.150:8000', 'HTTP_REFERER': 'http://10.34.2.150:8000/webclient/public/?experimenter=7', 'HTTP_UA_CPU': 'AMD64', 'HTTP_USER_AGENT': 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; BOIE9;ENGB)', 'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest', 'ICE_HOME': '/usr/local/Cellar/zeroc-ice33/3.3', 'LANG': 'en_GB.UTF-8', 'LOGNAME': 'rkferguson', 'OLDPWD': '/Users/rkferguson', 'OMERO_HOME': '/Users/rkferguson/Documents/openmicroscopy/dist/', 'PATH': '/usr/local/bin:/usr/local/sbin:/usr/local/lib/node_modules:/usr/local/Cellar/zeroc-ice33/3.3/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/local/munki:/usr/X11/bin', 'PATH_INFO': u'/webclient/load_public/2435/', 'PWD': '/Users/rkferguson/Documents/openmicroscopy', 'PYTHONPATH': '/usr/local/Cellar/zeroc-ice33/3.3/python:dist/lib/python:components/tools/OmeroWeb', 'QUERY_STRING': 'view=icon', 'REMOTE_ADDR': '10.34.2.150', 'REMOTE_HOST': '', 'REQUEST_METHOD': 'GET', 'RUN_MAIN': 'true', 'SCRIPT_NAME': u'', 'SECURITYSESSIONID': '500c04', 'SERVER_NAME': 'LS25532.local', 'SERVER_PORT': '8000', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'WSGIServer/0.1 Python/2.6.1', 'SHELL': '/bin/bash', 'SHLVL': '1', 'SSH_AUTH_SOCK': '/tmp/launch-cPFaiq/Listeners', 'TERM': 'xterm-color', 'TERM_PROGRAM': 'Apple_Terminal', 'TERM_PROGRAM_VERSION': '273.1', 'TMPDIR': '/var/folders/FN/FNlxIw58GfunXmFak+bdxU+++TI/-Tmp-/', 'TZ': 'Europe/London', 'USER': 'rkferguson', 'VERSIONER_PYTHON_PREFER_32_BIT': 'no', 'VERSIONER_PYTHON_VERSION': '2.6', '_': '/usr/local/bin/python', '__CF_USER_TEXT_ENCODING': '0x1F5:0:0', 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x100416140>, 'wsgi.file_wrapper': <class 'django.core.servers.basehttp.FileWrapper'>, 'wsgi.input': <socket._fileobject object at 0x107dde488>, 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}></pre></td> </tr> <tr> <td>t</td> <td class="code"><pre><django.template.base.Template object at 0x10b8294d0></pre></td> </tr> <tr> <td>context</td> <td class="code"><pre>{'isLeader': False, 'ome': {'basket_counter': 0, 'center_plugins': [{'include': u'webclient/data/includes/center_plugin.table.js.html', 'label': u'Table', 'plugin_id': u'image_table'}, {'include': u'webclient/data/includes/center_plugin.splitview.js.html', 'label': u'Split-view', 'plugin_id': u'split_view_panel'}], 'eventContext': <bound method OmeroWebGateway.getEventContext of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>, 'group_id': 0, 'right_plugins': [{'include': u'webclient/data/includes/right_plugin.acquisition.js.html', 'label': u'Acquisition', 'plugin_id': u'metadata_tab'}, {'include': u'webclient/data/includes/right_plugin.preview.js.html', 'label': u'Preview', 'plugin_id': u'preview_tab'}], 'top_links': [], 'user': <bound method OmeroWebGateway.getUser of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>, 'user_id': 7L}, 'ping_interval': 60000, 'share': <omeroweb.webclient.controller.share.BaseShare object at 0x107deb310>, 'template': 'webclient/public/share_content_icon.html'}</pre></td> </tr> <tr> <td>kwargs</td> <td class="code"><pre>{'conn': <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>, 'share_id': u'2435', 'url': u'/webclient/load_public/2435/?view=icon'}</pre></td> </tr> </tbody> </table> </li> <li class="frame"> <code>/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/base.py</code> in <code>render</code> <div class="context" id="c4403692320"> <ol start="116" class="pre-context" id="pre4403692320"><li onclick="toggle('pre4403692320', 'post4403692320')"><pre> def _render(self, context):</pre></li><li onclick="toggle('pre4403692320', 'post4403692320')"><pre> return self.nodelist.render(context)</pre></li><li onclick="toggle('pre4403692320', 'post4403692320')"><pre></pre></li><li onclick="toggle('pre4403692320', 'post4403692320')"><pre> def render(self, context):</pre></li><li onclick="toggle('pre4403692320', 'post4403692320')"><pre> "Display stage -- can be called many times"</pre></li><li onclick="toggle('pre4403692320', 'post4403692320')"><pre> context.render_context.push()</pre></li><li onclick="toggle('pre4403692320', 'post4403692320')"><pre> try:</pre></li></ol> <ol start="123" class="context-line"><li onclick="toggle('pre4403692320', 'post4403692320')"><pre> return self._render(context)</pre> <span>...</span></li></ol> <ol start='124' class="post-context" id="post4403692320"><li onclick="toggle('pre4403692320', 'post4403692320')"><pre> finally:</pre></li><li onclick="toggle('pre4403692320', 'post4403692320')"><pre> context.render_context.pop()</pre></li><li onclick="toggle('pre4403692320', 'post4403692320')"><pre></pre></li><li onclick="toggle('pre4403692320', 'post4403692320')"><pre>def compile_string(template_string, origin):</pre></li><li onclick="toggle('pre4403692320', 'post4403692320')"><pre> "Compiles template_string into NodeList ready for rendering"</pre></li><li onclick="toggle('pre4403692320', 'post4403692320')"><pre> if settings.TEMPLATE_DEBUG:</pre></li></ol> </div> <div class="commands"> <a href="#" onclick="return varToggle(this, '4403692320')"><span>▶</span> Local vars</a> </div> <table class="vars" id="v4403692320"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>self</td> <td class="code"><pre><django.template.base.Template object at 0x10b8294d0></pre></td> </tr> <tr> <td>context</td> <td class="code"><pre>[{'isLeader': False, 'share': <omeroweb.webclient.controller.share.BaseShare object at 0x107deb310>, 'ome': {'user_id': 7L, 'eventContext': <bound method OmeroWebGateway.getEventContext of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>, 'top_links': [], 'center_plugins': [{'plugin_id': u'image_table', 'include': u'webclient/data/includes/center_plugin.table.js.html', 'label': u'Table'}, {'plugin_id': u'split_view_panel', 'include': u'webclient/data/includes/center_plugin.splitview.js.html', 'label': u'Split-view'}], 'right_plugins': [{'plugin_id': u'metadata_tab', 'include': u'webclient/data/includes/right_plugin.acquisition.js.html', 'label': u'Acquisition'}, {'plugin_id': u'preview_tab', 'include': u'webclient/data/includes/right_plugin.preview.js.html', 'label': u'Preview'}], 'basket_counter': 0, 'group_id': 0, 'user': <bound method OmeroWebGateway.getUser of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>}, 'template': 'webclient/public/share_content_icon.html', 'ping_interval': 60000}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x10ab3f490>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nl', 'Dutch'), ('no', 'Norwegian'), ('nb', 'Norwegian Bokmal'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en-gb'}, {'MEDIA_URL': ''}, {'STATIC_URL': '/static/'}, {'messages': <django.contrib.messages.storage.user_messages.LegacyFallbackStorage object at 0x10642ced0>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'c': <omero.gateway.BlitzObjectWrapper object at 0x10b829390>}]</pre></td> </tr> </tbody> </table> </li> <li class="frame"> <code>/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/base.py</code> in <code>_render</code> <div class="context" id="c4403692752"> <ol start="110" class="pre-context" id="pre4403692752"><li onclick="toggle('pre4403692752', 'post4403692752')"><pre></pre></li><li onclick="toggle('pre4403692752', 'post4403692752')"><pre> def __iter__(self):</pre></li><li onclick="toggle('pre4403692752', 'post4403692752')"><pre> for node in self.nodelist:</pre></li><li onclick="toggle('pre4403692752', 'post4403692752')"><pre> for subnode in node:</pre></li><li onclick="toggle('pre4403692752', 'post4403692752')"><pre> yield subnode</pre></li><li onclick="toggle('pre4403692752', 'post4403692752')"><pre></pre></li><li onclick="toggle('pre4403692752', 'post4403692752')"><pre> def _render(self, context):</pre></li></ol> <ol start="117" class="context-line"><li onclick="toggle('pre4403692752', 'post4403692752')"><pre> return self.nodelist.render(context)</pre> <span>...</span></li></ol> <ol start='118' class="post-context" id="post4403692752"><li onclick="toggle('pre4403692752', 'post4403692752')"><pre></pre></li><li onclick="toggle('pre4403692752', 'post4403692752')"><pre> def render(self, context):</pre></li><li onclick="toggle('pre4403692752', 'post4403692752')"><pre> "Display stage -- can be called many times"</pre></li><li onclick="toggle('pre4403692752', 'post4403692752')"><pre> context.render_context.push()</pre></li><li onclick="toggle('pre4403692752', 'post4403692752')"><pre> try:</pre></li><li onclick="toggle('pre4403692752', 'post4403692752')"><pre> return self._render(context)</pre></li></ol> </div> <div class="commands"> <a href="#" onclick="return varToggle(this, '4403692752')"><span>▶</span> Local vars</a> </div> <table class="vars" id="v4403692752"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>self</td> <td class="code"><pre><django.template.base.Template object at 0x10b8294d0></pre></td> </tr> <tr> <td>context</td> <td class="code"><pre>[{'isLeader': False, 'share': <omeroweb.webclient.controller.share.BaseShare object at 0x107deb310>, 'ome': {'user_id': 7L, 'eventContext': <bound method OmeroWebGateway.getEventContext of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>, 'top_links': [], 'center_plugins': [{'plugin_id': u'image_table', 'include': u'webclient/data/includes/center_plugin.table.js.html', 'label': u'Table'}, {'plugin_id': u'split_view_panel', 'include': u'webclient/data/includes/center_plugin.splitview.js.html', 'label': u'Split-view'}], 'right_plugins': [{'plugin_id': u'metadata_tab', 'include': u'webclient/data/includes/right_plugin.acquisition.js.html', 'label': u'Acquisition'}, {'plugin_id': u'preview_tab', 'include': u'webclient/data/includes/right_plugin.preview.js.html', 'label': u'Preview'}], 'basket_counter': 0, 'group_id': 0, 'user': <bound method OmeroWebGateway.getUser of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>}, 'template': 'webclient/public/share_content_icon.html', 'ping_interval': 60000}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x10ab3f490>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nl', 'Dutch'), ('no', 'Norwegian'), ('nb', 'Norwegian Bokmal'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en-gb'}, {'MEDIA_URL': ''}, {'STATIC_URL': '/static/'}, {'messages': <django.contrib.messages.storage.user_messages.LegacyFallbackStorage object at 0x10642ced0>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'c': <omero.gateway.BlitzObjectWrapper object at 0x10b829390>}]</pre></td> </tr> </tbody> </table> </li> <li class="frame"> <code>/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/base.py</code> in <code>render</code> <div class="context" id="c4403695344"> <ol start="737" class="pre-context" id="pre4403695344"><li onclick="toggle('pre4403695344', 'post4403695344')"><pre> # extend_nodelist().</pre></li><li onclick="toggle('pre4403695344', 'post4403695344')"><pre> contains_nontext = False</pre></li><li onclick="toggle('pre4403695344', 'post4403695344')"><pre></pre></li><li onclick="toggle('pre4403695344', 'post4403695344')"><pre> def render(self, context):</pre></li><li onclick="toggle('pre4403695344', 'post4403695344')"><pre> bits = []</pre></li><li onclick="toggle('pre4403695344', 'post4403695344')"><pre> for node in self:</pre></li><li onclick="toggle('pre4403695344', 'post4403695344')"><pre> if isinstance(node, Node):</pre></li></ol> <ol start="744" class="context-line"><li onclick="toggle('pre4403695344', 'post4403695344')"><pre> bits.append(self.render_node(node, context))</pre> <span>...</span></li></ol> <ol start='745' class="post-context" id="post4403695344"><li onclick="toggle('pre4403695344', 'post4403695344')"><pre> else:</pre></li><li onclick="toggle('pre4403695344', 'post4403695344')"><pre> bits.append(node)</pre></li><li onclick="toggle('pre4403695344', 'post4403695344')"><pre> return mark_safe(''.join([force_unicode(b) for b in bits]))</pre></li><li onclick="toggle('pre4403695344', 'post4403695344')"><pre></pre></li><li onclick="toggle('pre4403695344', 'post4403695344')"><pre> def get_nodes_by_type(self, nodetype):</pre></li><li onclick="toggle('pre4403695344', 'post4403695344')"><pre> "Return a list of all nodes of the given type"</pre></li></ol> </div> <div class="commands"> <a href="#" onclick="return varToggle(this, '4403695344')"><span>▶</span> Local vars</a> </div> <table class="vars" id="v4403695344"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>node</td> <td class="code"><pre><If node></pre></td> </tr> <tr> <td>self</td> <td class="code"><pre>[<django.template.defaulttags.LoadNode object at 0x10ab3fa10>, <Text Node: ' '>, <django.template.defaulttags.CommentNode object at 0x10b829f90>, <Text Node: ' <script type="text/'>, <django.template.defaulttags.URLNode object at 0x10b8297d0>, <Text Node: '".replace('0', parseInt( '>, <If node>, <Text Node: ' '>]</pre></td> </tr> <tr> <td>bits</td> <td class="code"><pre>['', u'\n\n\n', '', u'\n\n <script type="text/javascript">\n $(document).ready(function(){\n\n var datatree = $.jstree._focused();\n\n // double-click handler on image - launches image viewer\n $("#dataIcons img").dblclick(function(event) {\n openPopup("', '/webgateway/img_detail/0/', u'".replace(\'0\', parseInt( $(this).attr(\'id\') )));\n });\n \n // single click handler on image (container). Selection then update toolbar & metadata pane\n $("#dataIcons li").click(function(event) {\n handleClickSelection(event);\n });\n\n // handles selection for \'clicks\' (not drags) including multi-select for shift and meta keys\n var handleClickSelection = function(event) {\n \n var $clickedImage = $(event.target);\n \n var thumbs = $("#dataIcons img");\n var selIndex = thumbs.index(event.target);\n\n datatree.deselect_all();\n thumbs.parent().removeClass("ui-selected");\n \n var branch = datatree._get_children(\'#\'+$(\'#content_details\').attr(\'rel\'))\n var selectee = $(branch[selIndex]);\n $clickedImage.parent().addClass("ui-selected");\n if(!datatree.is_selected(selectee)) datatree.select_node(selectee);\n primaryIndex = selIndex;\n }\n\n });\n\n </script>\n\n']</pre></td> </tr> <tr> <td>context</td> <td class="code"><pre>[{'isLeader': False, 'share': <omeroweb.webclient.controller.share.BaseShare object at 0x107deb310>, 'ome': {'user_id': 7L, 'eventContext': <bound method OmeroWebGateway.getEventContext of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>, 'top_links': [], 'center_plugins': [{'plugin_id': u'image_table', 'include': u'webclient/data/includes/center_plugin.table.js.html', 'label': u'Table'}, {'plugin_id': u'split_view_panel', 'include': u'webclient/data/includes/center_plugin.splitview.js.html', 'label': u'Split-view'}], 'right_plugins': [{'plugin_id': u'metadata_tab', 'include': u'webclient/data/includes/right_plugin.acquisition.js.html', 'label': u'Acquisition'}, {'plugin_id': u'preview_tab', 'include': u'webclient/data/includes/right_plugin.preview.js.html', 'label': u'Preview'}], 'basket_counter': 0, 'group_id': 0, 'user': <bound method OmeroWebGateway.getUser of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>}, 'template': 'webclient/public/share_content_icon.html', 'ping_interval': 60000}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x10ab3f490>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nl', 'Dutch'), ('no', 'Norwegian'), ('nb', 'Norwegian Bokmal'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en-gb'}, {'MEDIA_URL': ''}, {'STATIC_URL': '/static/'}, {'messages': <django.contrib.messages.storage.user_messages.LegacyFallbackStorage object at 0x10642ced0>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'c': <omero.gateway.BlitzObjectWrapper object at 0x10b829390>}]</pre></td> </tr> </tbody> </table> </li> <li class="frame"> <code>/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/debug.py</code> in <code>render_node</code> <div class="context" id="c4403695056"> <ol start="66" class="pre-context" id="pre4403695056"><li onclick="toggle('pre4403695056', 'post4403695056')"><pre> def compile_function_error(self, token, e):</pre></li><li onclick="toggle('pre4403695056', 'post4403695056')"><pre> if not hasattr(e, 'source'):</pre></li><li onclick="toggle('pre4403695056', 'post4403695056')"><pre> e.source = token.source</pre></li><li onclick="toggle('pre4403695056', 'post4403695056')"><pre></pre></li><li onclick="toggle('pre4403695056', 'post4403695056')"><pre>class DebugNodeList(NodeList):</pre></li><li onclick="toggle('pre4403695056', 'post4403695056')"><pre> def render_node(self, node, context):</pre></li><li onclick="toggle('pre4403695056', 'post4403695056')"><pre> try:</pre></li></ol> <ol start="73" class="context-line"><li onclick="toggle('pre4403695056', 'post4403695056')"><pre> result = node.render(context)</pre> <span>...</span></li></ol> <ol start='74' class="post-context" id="post4403695056"><li onclick="toggle('pre4403695056', 'post4403695056')"><pre> except TemplateSyntaxError, e:</pre></li><li onclick="toggle('pre4403695056', 'post4403695056')"><pre> if not hasattr(e, 'source'):</pre></li><li onclick="toggle('pre4403695056', 'post4403695056')"><pre> e.source = node.source</pre></li><li onclick="toggle('pre4403695056', 'post4403695056')"><pre> raise</pre></li><li onclick="toggle('pre4403695056', 'post4403695056')"><pre> except Exception, e:</pre></li><li onclick="toggle('pre4403695056', 'post4403695056')"><pre> from sys import exc_info</pre></li></ol> </div> <div class="commands"> <a href="#" onclick="return varToggle(this, '4403695056')"><span>▶</span> Local vars</a> </div> <table class="vars" id="v4403695056"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>node</td> <td class="code"><pre><If node></pre></td> </tr> <tr> <td>self</td> <td class="code"><pre>[<django.template.defaulttags.LoadNode object at 0x10ab3fa10>, <Text Node: ' '>, <django.template.defaulttags.CommentNode object at 0x10b829f90>, <Text Node: ' <script type="text/'>, <django.template.defaulttags.URLNode object at 0x10b8297d0>, <Text Node: '".replace('0', parseInt( '>, <If node>, <Text Node: ' '>]</pre></td> </tr> <tr> <td>e</td> <td class="code"><pre>TemplateSyntaxError(u"Caught AttributeError while rendering: 'NoneType' object has no attribute 'getOwner'",)</pre></td> </tr> <tr> <td>context</td> <td class="code"><pre>[{'isLeader': False, 'share': <omeroweb.webclient.controller.share.BaseShare object at 0x107deb310>, 'ome': {'user_id': 7L, 'eventContext': <bound method OmeroWebGateway.getEventContext of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>, 'top_links': [], 'center_plugins': [{'plugin_id': u'image_table', 'include': u'webclient/data/includes/center_plugin.table.js.html', 'label': u'Table'}, {'plugin_id': u'split_view_panel', 'include': u'webclient/data/includes/center_plugin.splitview.js.html', 'label': u'Split-view'}], 'right_plugins': [{'plugin_id': u'metadata_tab', 'include': u'webclient/data/includes/right_plugin.acquisition.js.html', 'label': u'Acquisition'}, {'plugin_id': u'preview_tab', 'include': u'webclient/data/includes/right_plugin.preview.js.html', 'label': u'Preview'}], 'basket_counter': 0, 'group_id': 0, 'user': <bound method OmeroWebGateway.getUser of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>}, 'template': 'webclient/public/share_content_icon.html', 'ping_interval': 60000}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x10ab3f490>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nl', 'Dutch'), ('no', 'Norwegian'), ('nb', 'Norwegian Bokmal'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en-gb'}, {'MEDIA_URL': ''}, {'STATIC_URL': '/static/'}, {'messages': <django.contrib.messages.storage.user_messages.LegacyFallbackStorage object at 0x10642ced0>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'c': <omero.gateway.BlitzObjectWrapper object at 0x10b829390>}]</pre></td> </tr> </tbody> </table> </li> <li class="frame"> <code>/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/defaulttags.py</code> in <code>render</code> <div class="context" id="c4403694408"> <ol start="304" class="pre-context" id="pre4403694408"><li onclick="toggle('pre4403694408', 'post4403694408')"><pre> def render(self, context):</pre></li><li onclick="toggle('pre4403694408', 'post4403694408')"><pre> try:</pre></li><li onclick="toggle('pre4403694408', 'post4403694408')"><pre> var = self.var.eval(context)</pre></li><li onclick="toggle('pre4403694408', 'post4403694408')"><pre> except VariableDoesNotExist:</pre></li><li onclick="toggle('pre4403694408', 'post4403694408')"><pre> var = None</pre></li><li onclick="toggle('pre4403694408', 'post4403694408')"><pre></pre></li><li onclick="toggle('pre4403694408', 'post4403694408')"><pre> if var:</pre></li></ol> <ol start="311" class="context-line"><li onclick="toggle('pre4403694408', 'post4403694408')"><pre> return self.nodelist_true.render(context)</pre> <span>...</span></li></ol> <ol start='312' class="post-context" id="post4403694408"><li onclick="toggle('pre4403694408', 'post4403694408')"><pre> else:</pre></li><li onclick="toggle('pre4403694408', 'post4403694408')"><pre> return self.nodelist_false.render(context)</pre></li><li onclick="toggle('pre4403694408', 'post4403694408')"><pre></pre></li><li onclick="toggle('pre4403694408', 'post4403694408')"><pre>class RegroupNode(Node):</pre></li><li onclick="toggle('pre4403694408', 'post4403694408')"><pre> def __init__(self, target, expression, var_name):</pre></li><li onclick="toggle('pre4403694408', 'post4403694408')"><pre> self.target, self.expression = target, expression</pre></li></ol> </div> <div class="commands"> <a href="#" onclick="return varToggle(this, '4403694408')"><span>▶</span> Local vars</a> </div> <table class="vars" id="v4403694408"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>var</td> <td class="code"><pre>1</pre></td> </tr> <tr> <td>self</td> <td class="code"><pre><If node></pre></td> </tr> <tr> <td>context</td> <td class="code"><pre>[{'isLeader': False, 'share': <omeroweb.webclient.controller.share.BaseShare object at 0x107deb310>, 'ome': {'user_id': 7L, 'eventContext': <bound method OmeroWebGateway.getEventContext of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>, 'top_links': [], 'center_plugins': [{'plugin_id': u'image_table', 'include': u'webclient/data/includes/center_plugin.table.js.html', 'label': u'Table'}, {'plugin_id': u'split_view_panel', 'include': u'webclient/data/includes/center_plugin.splitview.js.html', 'label': u'Split-view'}], 'right_plugins': [{'plugin_id': u'metadata_tab', 'include': u'webclient/data/includes/right_plugin.acquisition.js.html', 'label': u'Acquisition'}, {'plugin_id': u'preview_tab', 'include': u'webclient/data/includes/right_plugin.preview.js.html', 'label': u'Preview'}], 'basket_counter': 0, 'group_id': 0, 'user': <bound method OmeroWebGateway.getUser of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>}, 'template': 'webclient/public/share_content_icon.html', 'ping_interval': 60000}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x10ab3f490>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nl', 'Dutch'), ('no', 'Norwegian'), ('nb', 'Norwegian Bokmal'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en-gb'}, {'MEDIA_URL': ''}, {'STATIC_URL': '/static/'}, {'messages': <django.contrib.messages.storage.user_messages.LegacyFallbackStorage object at 0x10642ced0>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'c': <omero.gateway.BlitzObjectWrapper object at 0x10b829390>}]</pre></td> </tr> </tbody> </table> </li> <li class="frame"> <code>/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/base.py</code> in <code>render</code> <div class="context" id="c4403695560"> <ol start="737" class="pre-context" id="pre4403695560"><li onclick="toggle('pre4403695560', 'post4403695560')"><pre> # extend_nodelist().</pre></li><li onclick="toggle('pre4403695560', 'post4403695560')"><pre> contains_nontext = False</pre></li><li onclick="toggle('pre4403695560', 'post4403695560')"><pre></pre></li><li onclick="toggle('pre4403695560', 'post4403695560')"><pre> def render(self, context):</pre></li><li onclick="toggle('pre4403695560', 'post4403695560')"><pre> bits = []</pre></li><li onclick="toggle('pre4403695560', 'post4403695560')"><pre> for node in self:</pre></li><li onclick="toggle('pre4403695560', 'post4403695560')"><pre> if isinstance(node, Node):</pre></li></ol> <ol start="744" class="context-line"><li onclick="toggle('pre4403695560', 'post4403695560')"><pre> bits.append(self.render_node(node, context))</pre> <span>...</span></li></ol> <ol start='745' class="post-context" id="post4403695560"><li onclick="toggle('pre4403695560', 'post4403695560')"><pre> else:</pre></li><li onclick="toggle('pre4403695560', 'post4403695560')"><pre> bits.append(node)</pre></li><li onclick="toggle('pre4403695560', 'post4403695560')"><pre> return mark_safe(''.join([force_unicode(b) for b in bits]))</pre></li><li onclick="toggle('pre4403695560', 'post4403695560')"><pre></pre></li><li onclick="toggle('pre4403695560', 'post4403695560')"><pre> def get_nodes_by_type(self, nodetype):</pre></li><li onclick="toggle('pre4403695560', 'post4403695560')"><pre> "Return a list of all nodes of the given type"</pre></li></ol> </div> <div class="commands"> <a href="#" onclick="return varToggle(this, '4403695560')"><span>▶</span> Local vars</a> </div> <table class="vars" id="v4403695560"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>node</td> <td class="code"><pre><For Node: for c in share.imageInShare, tail_len: 9></pre></td> </tr> <tr> <td>self</td> <td class="code"><pre>[<Text Node: ' <div id="toolbar" c'>, <For Node: for c in share.imageInShare, tail_len: 9>, <Text Node: ' </ul> '>]</pre></td> </tr> <tr> <td>bits</td> <td class="code"><pre>[u'\n\n <div id="toolbar" class="toolbar_noborder"></div>\n <div class="clear"> </div>\n \n <ul id="dataIcons">\n ']</pre></td> </tr> <tr> <td>context</td> <td class="code"><pre>[{'isLeader': False, 'share': <omeroweb.webclient.controller.share.BaseShare object at 0x107deb310>, 'ome': {'user_id': 7L, 'eventContext': <bound method OmeroWebGateway.getEventContext of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>, 'top_links': [], 'center_plugins': [{'plugin_id': u'image_table', 'include': u'webclient/data/includes/center_plugin.table.js.html', 'label': u'Table'}, {'plugin_id': u'split_view_panel', 'include': u'webclient/data/includes/center_plugin.splitview.js.html', 'label': u'Split-view'}], 'right_plugins': [{'plugin_id': u'metadata_tab', 'include': u'webclient/data/includes/right_plugin.acquisition.js.html', 'label': u'Acquisition'}, {'plugin_id': u'preview_tab', 'include': u'webclient/data/includes/right_plugin.preview.js.html', 'label': u'Preview'}], 'basket_counter': 0, 'group_id': 0, 'user': <bound method OmeroWebGateway.getUser of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>}, 'template': 'webclient/public/share_content_icon.html', 'ping_interval': 60000}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x10ab3f490>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nl', 'Dutch'), ('no', 'Norwegian'), ('nb', 'Norwegian Bokmal'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en-gb'}, {'MEDIA_URL': ''}, {'STATIC_URL': '/static/'}, {'messages': <django.contrib.messages.storage.user_messages.LegacyFallbackStorage object at 0x10642ced0>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'c': <omero.gateway.BlitzObjectWrapper object at 0x10b829390>}]</pre></td> </tr> </tbody> </table> </li> <li class="frame"> <code>/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/debug.py</code> in <code>render_node</code> <div class="context" id="c4403693976"> <ol start="66" class="pre-context" id="pre4403693976"><li onclick="toggle('pre4403693976', 'post4403693976')"><pre> def compile_function_error(self, token, e):</pre></li><li onclick="toggle('pre4403693976', 'post4403693976')"><pre> if not hasattr(e, 'source'):</pre></li><li onclick="toggle('pre4403693976', 'post4403693976')"><pre> e.source = token.source</pre></li><li onclick="toggle('pre4403693976', 'post4403693976')"><pre></pre></li><li onclick="toggle('pre4403693976', 'post4403693976')"><pre>class DebugNodeList(NodeList):</pre></li><li onclick="toggle('pre4403693976', 'post4403693976')"><pre> def render_node(self, node, context):</pre></li><li onclick="toggle('pre4403693976', 'post4403693976')"><pre> try:</pre></li></ol> <ol start="73" class="context-line"><li onclick="toggle('pre4403693976', 'post4403693976')"><pre> result = node.render(context)</pre> <span>...</span></li></ol> <ol start='74' class="post-context" id="post4403693976"><li onclick="toggle('pre4403693976', 'post4403693976')"><pre> except TemplateSyntaxError, e:</pre></li><li onclick="toggle('pre4403693976', 'post4403693976')"><pre> if not hasattr(e, 'source'):</pre></li><li onclick="toggle('pre4403693976', 'post4403693976')"><pre> e.source = node.source</pre></li><li onclick="toggle('pre4403693976', 'post4403693976')"><pre> raise</pre></li><li onclick="toggle('pre4403693976', 'post4403693976')"><pre> except Exception, e:</pre></li><li onclick="toggle('pre4403693976', 'post4403693976')"><pre> from sys import exc_info</pre></li></ol> </div> <div class="commands"> <a href="#" onclick="return varToggle(this, '4403693976')"><span>▶</span> Local vars</a> </div> <table class="vars" id="v4403693976"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>node</td> <td class="code"><pre><For Node: for c in share.imageInShare, tail_len: 9></pre></td> </tr> <tr> <td>self</td> <td class="code"><pre>[<Text Node: ' <div id="toolbar" c'>, <For Node: for c in share.imageInShare, tail_len: 9>, <Text Node: ' </ul> '>]</pre></td> </tr> <tr> <td>e</td> <td class="code"><pre>TemplateSyntaxError(u"Caught AttributeError while rendering: 'NoneType' object has no attribute 'getOwner'",)</pre></td> </tr> <tr> <td>context</td> <td class="code"><pre>[{'isLeader': False, 'share': <omeroweb.webclient.controller.share.BaseShare object at 0x107deb310>, 'ome': {'user_id': 7L, 'eventContext': <bound method OmeroWebGateway.getEventContext of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>, 'top_links': [], 'center_plugins': [{'plugin_id': u'image_table', 'include': u'webclient/data/includes/center_plugin.table.js.html', 'label': u'Table'}, {'plugin_id': u'split_view_panel', 'include': u'webclient/data/includes/center_plugin.splitview.js.html', 'label': u'Split-view'}], 'right_plugins': [{'plugin_id': u'metadata_tab', 'include': u'webclient/data/includes/right_plugin.acquisition.js.html', 'label': u'Acquisition'}, {'plugin_id': u'preview_tab', 'include': u'webclient/data/includes/right_plugin.preview.js.html', 'label': u'Preview'}], 'basket_counter': 0, 'group_id': 0, 'user': <bound method OmeroWebGateway.getUser of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>}, 'template': 'webclient/public/share_content_icon.html', 'ping_interval': 60000}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x10ab3f490>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nl', 'Dutch'), ('no', 'Norwegian'), ('nb', 'Norwegian Bokmal'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en-gb'}, {'MEDIA_URL': ''}, {'STATIC_URL': '/static/'}, {'messages': <django.contrib.messages.storage.user_messages.LegacyFallbackStorage object at 0x10642ced0>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'c': <omero.gateway.BlitzObjectWrapper object at 0x10b829390>}]</pre></td> </tr> </tbody> </table> </li> <li class="frame"> <code>/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/defaulttags.py</code> in <code>render</code> <div class="context" id="c4403694120"> <ol start="220" class="pre-context" id="pre4403694120"><li onclick="toggle('pre4403694120', 'post4403694120')"><pre> pass</pre></li><li onclick="toggle('pre4403694120', 'post4403694120')"><pre> else:</pre></li><li onclick="toggle('pre4403694120', 'post4403694120')"><pre> pop_context = True</pre></li><li onclick="toggle('pre4403694120', 'post4403694120')"><pre> context.update(unpacked_vars)</pre></li><li onclick="toggle('pre4403694120', 'post4403694120')"><pre> else:</pre></li><li onclick="toggle('pre4403694120', 'post4403694120')"><pre> context[self.loopvars[0]] = item</pre></li><li onclick="toggle('pre4403694120', 'post4403694120')"><pre> for node in self.nodelist_loop:</pre></li></ol> <ol start="227" class="context-line"><li onclick="toggle('pre4403694120', 'post4403694120')"><pre> nodelist.append(node.render(context))</pre> <span>...</span></li></ol> <ol start='228' class="post-context" id="post4403694120"><li onclick="toggle('pre4403694120', 'post4403694120')"><pre> if pop_context:</pre></li><li onclick="toggle('pre4403694120', 'post4403694120')"><pre> # The loop variables were pushed on to the context so pop them</pre></li><li onclick="toggle('pre4403694120', 'post4403694120')"><pre> # off again. This is necessary because the tag lets the length</pre></li><li onclick="toggle('pre4403694120', 'post4403694120')"><pre> # of loopvars differ to the length of each set of items and we</pre></li><li onclick="toggle('pre4403694120', 'post4403694120')"><pre> # don't want to leave any vars from the previous loop on the</pre></li><li onclick="toggle('pre4403694120', 'post4403694120')"><pre> # context.</pre></li></ol> </div> <div class="commands"> <a href="#" onclick="return varToggle(this, '4403694120')"><span>▶</span> Local vars</a> </div> <table class="vars" id="v4403694120"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>node</td> <td class="code"><pre><If node></pre></td> </tr> <tr> <td>parentloop</td> <td class="code"><pre>{}</pre></td> </tr> <tr> <td>pop_context</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>nodelist</td> <td class="code"><pre>[u'\n <li id="image_icon-', u'3693', u'" title="', u'None', u'" ', u'class="readonly"', u'>\n ']</pre></td> </tr> <tr> <td>i</td> <td class="code"><pre>0</pre></td> </tr> <tr> <td>loop_dict</td> <td class="code"><pre>{'counter': 1, 'counter0': 0, 'first': True, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}</pre></td> </tr> <tr> <td>self</td> <td class="code"><pre><For Node: for c in share.imageInShare, tail_len: 9></pre></td> </tr> <tr> <td>len_values</td> <td class="code"><pre>1</pre></td> </tr> <tr> <td>item</td> <td class="code"><pre><omero.gateway.BlitzObjectWrapper object at 0x10b829390></pre></td> </tr> <tr> <td>values</td> <td class="code"><pre>[<omero.gateway.BlitzObjectWrapper object at 0x10b829390>]</pre></td> </tr> <tr> <td>context</td> <td class="code"><pre>[{'isLeader': False, 'share': <omeroweb.webclient.controller.share.BaseShare object at 0x107deb310>, 'ome': {'user_id': 7L, 'eventContext': <bound method OmeroWebGateway.getEventContext of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>, 'top_links': [], 'center_plugins': [{'plugin_id': u'image_table', 'include': u'webclient/data/includes/center_plugin.table.js.html', 'label': u'Table'}, {'plugin_id': u'split_view_panel', 'include': u'webclient/data/includes/center_plugin.splitview.js.html', 'label': u'Split-view'}], 'right_plugins': [{'plugin_id': u'metadata_tab', 'include': u'webclient/data/includes/right_plugin.acquisition.js.html', 'label': u'Acquisition'}, {'plugin_id': u'preview_tab', 'include': u'webclient/data/includes/right_plugin.preview.js.html', 'label': u'Preview'}], 'basket_counter': 0, 'group_id': 0, 'user': <bound method OmeroWebGateway.getUser of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>}, 'template': 'webclient/public/share_content_icon.html', 'ping_interval': 60000}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x10ab3f490>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nl', 'Dutch'), ('no', 'Norwegian'), ('nb', 'Norwegian Bokmal'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en-gb'}, {'MEDIA_URL': ''}, {'STATIC_URL': '/static/'}, {'messages': <django.contrib.messages.storage.user_messages.LegacyFallbackStorage object at 0x10642ced0>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'c': <omero.gateway.BlitzObjectWrapper object at 0x10b829390>}]</pre></td> </tr> <tr> <td>unpack</td> <td class="code"><pre>False</pre></td> </tr> </tbody> </table> </li> <li class="frame"> <code>/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/defaulttags.py</code> in <code>render</code> <div class="context" id="c4403693184"> <ol start="304" class="pre-context" id="pre4403693184"><li onclick="toggle('pre4403693184', 'post4403693184')"><pre> def render(self, context):</pre></li><li onclick="toggle('pre4403693184', 'post4403693184')"><pre> try:</pre></li><li onclick="toggle('pre4403693184', 'post4403693184')"><pre> var = self.var.eval(context)</pre></li><li onclick="toggle('pre4403693184', 'post4403693184')"><pre> except VariableDoesNotExist:</pre></li><li onclick="toggle('pre4403693184', 'post4403693184')"><pre> var = None</pre></li><li onclick="toggle('pre4403693184', 'post4403693184')"><pre></pre></li><li onclick="toggle('pre4403693184', 'post4403693184')"><pre> if var:</pre></li></ol> <ol start="311" class="context-line"><li onclick="toggle('pre4403693184', 'post4403693184')"><pre> return self.nodelist_true.render(context)</pre> <span>...</span></li></ol> <ol start='312' class="post-context" id="post4403693184"><li onclick="toggle('pre4403693184', 'post4403693184')"><pre> else:</pre></li><li onclick="toggle('pre4403693184', 'post4403693184')"><pre> return self.nodelist_false.render(context)</pre></li><li onclick="toggle('pre4403693184', 'post4403693184')"><pre></pre></li><li onclick="toggle('pre4403693184', 'post4403693184')"><pre>class RegroupNode(Node):</pre></li><li onclick="toggle('pre4403693184', 'post4403693184')"><pre> def __init__(self, target, expression, var_name):</pre></li><li onclick="toggle('pre4403693184', 'post4403693184')"><pre> self.target, self.expression = target, expression</pre></li></ol> </div> <div class="commands"> <a href="#" onclick="return varToggle(this, '4403693184')"><span>▶</span> Local vars</a> </div> <table class="vars" id="v4403693184"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>var</td> <td class="code"><pre>True</pre></td> </tr> <tr> <td>self</td> <td class="code"><pre><If node></pre></td> </tr> <tr> <td>context</td> <td class="code"><pre>[{'isLeader': False, 'share': <omeroweb.webclient.controller.share.BaseShare object at 0x107deb310>, 'ome': {'user_id': 7L, 'eventContext': <bound method OmeroWebGateway.getEventContext of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>, 'top_links': [], 'center_plugins': [{'plugin_id': u'image_table', 'include': u'webclient/data/includes/center_plugin.table.js.html', 'label': u'Table'}, {'plugin_id': u'split_view_panel', 'include': u'webclient/data/includes/center_plugin.splitview.js.html', 'label': u'Split-view'}], 'right_plugins': [{'plugin_id': u'metadata_tab', 'include': u'webclient/data/includes/right_plugin.acquisition.js.html', 'label': u'Acquisition'}, {'plugin_id': u'preview_tab', 'include': u'webclient/data/includes/right_plugin.preview.js.html', 'label': u'Preview'}], 'basket_counter': 0, 'group_id': 0, 'user': <bound method OmeroWebGateway.getUser of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>}, 'template': 'webclient/public/share_content_icon.html', 'ping_interval': 60000}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x10ab3f490>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nl', 'Dutch'), ('no', 'Norwegian'), ('nb', 'Norwegian Bokmal'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en-gb'}, {'MEDIA_URL': ''}, {'STATIC_URL': '/static/'}, {'messages': <django.contrib.messages.storage.user_messages.LegacyFallbackStorage object at 0x10642ced0>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'c': <omero.gateway.BlitzObjectWrapper object at 0x10b829390>}]</pre></td> </tr> </tbody> </table> </li> <li class="frame"> <code>/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/base.py</code> in <code>render</code> <div class="context" id="c4403694264"> <ol start="737" class="pre-context" id="pre4403694264"><li onclick="toggle('pre4403694264', 'post4403694264')"><pre> # extend_nodelist().</pre></li><li onclick="toggle('pre4403694264', 'post4403694264')"><pre> contains_nontext = False</pre></li><li onclick="toggle('pre4403694264', 'post4403694264')"><pre></pre></li><li onclick="toggle('pre4403694264', 'post4403694264')"><pre> def render(self, context):</pre></li><li onclick="toggle('pre4403694264', 'post4403694264')"><pre> bits = []</pre></li><li onclick="toggle('pre4403694264', 'post4403694264')"><pre> for node in self:</pre></li><li onclick="toggle('pre4403694264', 'post4403694264')"><pre> if isinstance(node, Node):</pre></li></ol> <ol start="744" class="context-line"><li onclick="toggle('pre4403694264', 'post4403694264')"><pre> bits.append(self.render_node(node, context))</pre> <span>...</span></li></ol> <ol start='745' class="post-context" id="post4403694264"><li onclick="toggle('pre4403694264', 'post4403694264')"><pre> else:</pre></li><li onclick="toggle('pre4403694264', 'post4403694264')"><pre> bits.append(node)</pre></li><li onclick="toggle('pre4403694264', 'post4403694264')"><pre> return mark_safe(''.join([force_unicode(b) for b in bits]))</pre></li><li onclick="toggle('pre4403694264', 'post4403694264')"><pre></pre></li><li onclick="toggle('pre4403694264', 'post4403694264')"><pre> def get_nodes_by_type(self, nodetype):</pre></li><li onclick="toggle('pre4403694264', 'post4403694264')"><pre> "Return a list of all nodes of the given type"</pre></li></ol> </div> <div class="commands"> <a href="#" onclick="return varToggle(this, '4403694264')"><span>▶</span> Local vars</a> </div> <table class="vars" id="v4403694264"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>node</td> <td class="code"><pre><Variable Node: c.getOwner.getNameWithInitial></pre></td> </tr> <tr> <td>self</td> <td class="code"><pre>[<Text Node: ' <img id="'>, <Variable Node: c.id>, <Text Node: '" src="'>, <django.template.defaulttags.URLNode object at 0x10ab3f0d0>, <Text Node: '" alt="image" title="'>, <Variable Node: c.name>, <Text Node: ', owned by '>, <Variable Node: c.getOwner.getNameWithInitial>, <Text Node: '"/> '>]</pre></td> </tr> <tr> <td>bits</td> <td class="code"><pre>[u'\n <img id="', u'3693', u'" src="', '/webclient/render_thumbnail/3693/', u'" alt="image" title="', u'None', u', owned by ']</pre></td> </tr> <tr> <td>context</td> <td class="code"><pre>[{'isLeader': False, 'share': <omeroweb.webclient.controller.share.BaseShare object at 0x107deb310>, 'ome': {'user_id': 7L, 'eventContext': <bound method OmeroWebGateway.getEventContext of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>, 'top_links': [], 'center_plugins': [{'plugin_id': u'image_table', 'include': u'webclient/data/includes/center_plugin.table.js.html', 'label': u'Table'}, {'plugin_id': u'split_view_panel', 'include': u'webclient/data/includes/center_plugin.splitview.js.html', 'label': u'Split-view'}], 'right_plugins': [{'plugin_id': u'metadata_tab', 'include': u'webclient/data/includes/right_plugin.acquisition.js.html', 'label': u'Acquisition'}, {'plugin_id': u'preview_tab', 'include': u'webclient/data/includes/right_plugin.preview.js.html', 'label': u'Preview'}], 'basket_counter': 0, 'group_id': 0, 'user': <bound method OmeroWebGateway.getUser of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>}, 'template': 'webclient/public/share_content_icon.html', 'ping_interval': 60000}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x10ab3f490>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nl', 'Dutch'), ('no', 'Norwegian'), ('nb', 'Norwegian Bokmal'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en-gb'}, {'MEDIA_URL': ''}, {'STATIC_URL': '/static/'}, {'messages': <django.contrib.messages.storage.user_messages.LegacyFallbackStorage object at 0x10642ced0>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'c': <omero.gateway.BlitzObjectWrapper object at 0x10b829390>}]</pre></td> </tr> </tbody> </table> </li> <li class="frame"> <code>/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/debug.py</code> in <code>render_node</code> <div class="context" id="c4403694480"> <ol start="66" class="pre-context" id="pre4403694480"><li onclick="toggle('pre4403694480', 'post4403694480')"><pre> def compile_function_error(self, token, e):</pre></li><li onclick="toggle('pre4403694480', 'post4403694480')"><pre> if not hasattr(e, 'source'):</pre></li><li onclick="toggle('pre4403694480', 'post4403694480')"><pre> e.source = token.source</pre></li><li onclick="toggle('pre4403694480', 'post4403694480')"><pre></pre></li><li onclick="toggle('pre4403694480', 'post4403694480')"><pre>class DebugNodeList(NodeList):</pre></li><li onclick="toggle('pre4403694480', 'post4403694480')"><pre> def render_node(self, node, context):</pre></li><li onclick="toggle('pre4403694480', 'post4403694480')"><pre> try:</pre></li></ol> <ol start="73" class="context-line"><li onclick="toggle('pre4403694480', 'post4403694480')"><pre> result = node.render(context)</pre> <span>...</span></li></ol> <ol start='74' class="post-context" id="post4403694480"><li onclick="toggle('pre4403694480', 'post4403694480')"><pre> except TemplateSyntaxError, e:</pre></li><li onclick="toggle('pre4403694480', 'post4403694480')"><pre> if not hasattr(e, 'source'):</pre></li><li onclick="toggle('pre4403694480', 'post4403694480')"><pre> e.source = node.source</pre></li><li onclick="toggle('pre4403694480', 'post4403694480')"><pre> raise</pre></li><li onclick="toggle('pre4403694480', 'post4403694480')"><pre> except Exception, e:</pre></li><li onclick="toggle('pre4403694480', 'post4403694480')"><pre> from sys import exc_info</pre></li></ol> </div> <div class="commands"> <a href="#" onclick="return varToggle(this, '4403694480')"><span>▶</span> Local vars</a> </div> <table class="vars" id="v4403694480"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>node</td> <td class="code"><pre><Variable Node: c.getOwner.getNameWithInitial></pre></td> </tr> <tr> <td>e</td> <td class="code"><pre>AttributeError("'NoneType' object has no attribute 'getOwner'",)</pre></td> </tr> <tr> <td>self</td> <td class="code"><pre>[<Text Node: ' <img id="'>, <Variable Node: c.id>, <Text Node: '" src="'>, <django.template.defaulttags.URLNode object at 0x10ab3f0d0>, <Text Node: '" alt="image" title="'>, <Variable Node: c.name>, <Text Node: ', owned by '>, <Variable Node: c.getOwner.getNameWithInitial>, <Text Node: '"/> '>]</pre></td> </tr> <tr> <td>context</td> <td class="code"><pre>[{'isLeader': False, 'share': <omeroweb.webclient.controller.share.BaseShare object at 0x107deb310>, 'ome': {'user_id': 7L, 'eventContext': <bound method OmeroWebGateway.getEventContext of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>, 'top_links': [], 'center_plugins': [{'plugin_id': u'image_table', 'include': u'webclient/data/includes/center_plugin.table.js.html', 'label': u'Table'}, {'plugin_id': u'split_view_panel', 'include': u'webclient/data/includes/center_plugin.splitview.js.html', 'label': u'Split-view'}], 'right_plugins': [{'plugin_id': u'metadata_tab', 'include': u'webclient/data/includes/right_plugin.acquisition.js.html', 'label': u'Acquisition'}, {'plugin_id': u'preview_tab', 'include': u'webclient/data/includes/right_plugin.preview.js.html', 'label': u'Preview'}], 'basket_counter': 0, 'group_id': 0, 'user': <bound method OmeroWebGateway.getUser of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>}, 'template': 'webclient/public/share_content_icon.html', 'ping_interval': 60000}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x10ab3f490>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nl', 'Dutch'), ('no', 'Norwegian'), ('nb', 'Norwegian Bokmal'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en-gb'}, {'MEDIA_URL': ''}, {'STATIC_URL': '/static/'}, {'messages': <django.contrib.messages.storage.user_messages.LegacyFallbackStorage object at 0x10642ced0>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'c': <omero.gateway.BlitzObjectWrapper object at 0x10b829390>}]</pre></td> </tr> <tr> <td>wrapped</td> <td class="code"><pre>TemplateSyntaxError(u"Caught AttributeError while rendering: 'NoneType' object has no attribute 'getOwner'",)</pre></td> </tr> <tr> <td>exc_info</td> <td class="code"><pre><built-in function exc_info></pre></td> </tr> </tbody> </table> </li> <li class="frame"> <code>/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/debug.py</code> in <code>render</code> <div class="context" id="c4403693544"> <ol start="83" class="pre-context" id="pre4403693544"><li onclick="toggle('pre4403693544', 'post4403693544')"><pre> wrapped.exc_info = exc_info()</pre></li><li onclick="toggle('pre4403693544', 'post4403693544')"><pre> raise wrapped, None, wrapped.exc_info[2]</pre></li><li onclick="toggle('pre4403693544', 'post4403693544')"><pre> return result</pre></li><li onclick="toggle('pre4403693544', 'post4403693544')"><pre></pre></li><li onclick="toggle('pre4403693544', 'post4403693544')"><pre>class DebugVariableNode(VariableNode):</pre></li><li onclick="toggle('pre4403693544', 'post4403693544')"><pre> def render(self, context):</pre></li><li onclick="toggle('pre4403693544', 'post4403693544')"><pre> try:</pre></li></ol> <ol start="90" class="context-line"><li onclick="toggle('pre4403693544', 'post4403693544')"><pre> output = self.filter_expression.resolve(context)</pre> <span>...</span></li></ol> <ol start='91' class="post-context" id="post4403693544"><li onclick="toggle('pre4403693544', 'post4403693544')"><pre> output = localize(output, use_l10n=context.use_l10n)</pre></li><li onclick="toggle('pre4403693544', 'post4403693544')"><pre> output = force_unicode(output)</pre></li><li onclick="toggle('pre4403693544', 'post4403693544')"><pre> except TemplateSyntaxError, e:</pre></li><li onclick="toggle('pre4403693544', 'post4403693544')"><pre> if not hasattr(e, 'source'):</pre></li><li onclick="toggle('pre4403693544', 'post4403693544')"><pre> e.source = self.source</pre></li><li onclick="toggle('pre4403693544', 'post4403693544')"><pre> raise</pre></li></ol> </div> <div class="commands"> <a href="#" onclick="return varToggle(this, '4403693544')"><span>▶</span> Local vars</a> </div> <table class="vars" id="v4403693544"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>self</td> <td class="code"><pre><Variable Node: c.getOwner.getNameWithInitial></pre></td> </tr> <tr> <td>context</td> <td class="code"><pre>[{'isLeader': False, 'share': <omeroweb.webclient.controller.share.BaseShare object at 0x107deb310>, 'ome': {'user_id': 7L, 'eventContext': <bound method OmeroWebGateway.getEventContext of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>, 'top_links': [], 'center_plugins': [{'plugin_id': u'image_table', 'include': u'webclient/data/includes/center_plugin.table.js.html', 'label': u'Table'}, {'plugin_id': u'split_view_panel', 'include': u'webclient/data/includes/center_plugin.splitview.js.html', 'label': u'Split-view'}], 'right_plugins': [{'plugin_id': u'metadata_tab', 'include': u'webclient/data/includes/right_plugin.acquisition.js.html', 'label': u'Acquisition'}, {'plugin_id': u'preview_tab', 'include': u'webclient/data/includes/right_plugin.preview.js.html', 'label': u'Preview'}], 'basket_counter': 0, 'group_id': 0, 'user': <bound method OmeroWebGateway.getUser of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>}, 'template': 'webclient/public/share_content_icon.html', 'ping_interval': 60000}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x10ab3f490>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nl', 'Dutch'), ('no', 'Norwegian'), ('nb', 'Norwegian Bokmal'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en-gb'}, {'MEDIA_URL': ''}, {'STATIC_URL': '/static/'}, {'messages': <django.contrib.messages.storage.user_messages.LegacyFallbackStorage object at 0x10642ced0>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'c': <omero.gateway.BlitzObjectWrapper object at 0x10b829390>}]</pre></td> </tr> </tbody> </table> </li> <li class="frame"> <code>/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/base.py</code> in <code>resolve</code> <div class="context" id="c4400083600"> <ol start="503" class="pre-context" id="pre4400083600"><li onclick="toggle('pre4400083600', 'post4400083600')"><pre></pre></li><li onclick="toggle('pre4400083600', 'post4400083600')"><pre> self.filters = filters</pre></li><li onclick="toggle('pre4400083600', 'post4400083600')"><pre> self.var = var_obj</pre></li><li onclick="toggle('pre4400083600', 'post4400083600')"><pre></pre></li><li onclick="toggle('pre4400083600', 'post4400083600')"><pre> def resolve(self, context, ignore_failures=False):</pre></li><li onclick="toggle('pre4400083600', 'post4400083600')"><pre> if isinstance(self.var, Variable):</pre></li><li onclick="toggle('pre4400083600', 'post4400083600')"><pre> try:</pre></li></ol> <ol start="510" class="context-line"><li onclick="toggle('pre4400083600', 'post4400083600')"><pre> obj = self.var.resolve(context)</pre> <span>...</span></li></ol> <ol start='511' class="post-context" id="post4400083600"><li onclick="toggle('pre4400083600', 'post4400083600')"><pre> except VariableDoesNotExist:</pre></li><li onclick="toggle('pre4400083600', 'post4400083600')"><pre> if ignore_failures:</pre></li><li onclick="toggle('pre4400083600', 'post4400083600')"><pre> obj = None</pre></li><li onclick="toggle('pre4400083600', 'post4400083600')"><pre> else:</pre></li><li onclick="toggle('pre4400083600', 'post4400083600')"><pre> if settings.TEMPLATE_STRING_IF_INVALID:</pre></li><li onclick="toggle('pre4400083600', 'post4400083600')"><pre> global invalid_var_format_string</pre></li></ol> </div> <div class="commands"> <a href="#" onclick="return varToggle(this, '4400083600')"><span>▶</span> Local vars</a> </div> <table class="vars" id="v4400083600"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>self</td> <td class="code"><pre><django.template.base.FilterExpression object at 0x10ab3f890></pre></td> </tr> <tr> <td>ignore_failures</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>context</td> <td class="code"><pre>[{'isLeader': False, 'share': <omeroweb.webclient.controller.share.BaseShare object at 0x107deb310>, 'ome': {'user_id': 7L, 'eventContext': <bound method OmeroWebGateway.getEventContext of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>, 'top_links': [], 'center_plugins': [{'plugin_id': u'image_table', 'include': u'webclient/data/includes/center_plugin.table.js.html', 'label': u'Table'}, {'plugin_id': u'split_view_panel', 'include': u'webclient/data/includes/center_plugin.splitview.js.html', 'label': u'Split-view'}], 'right_plugins': [{'plugin_id': u'metadata_tab', 'include': u'webclient/data/includes/right_plugin.acquisition.js.html', 'label': u'Acquisition'}, {'plugin_id': u'preview_tab', 'include': u'webclient/data/includes/right_plugin.preview.js.html', 'label': u'Preview'}], 'basket_counter': 0, 'group_id': 0, 'user': <bound method OmeroWebGateway.getUser of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>}, 'template': 'webclient/public/share_content_icon.html', 'ping_interval': 60000}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x10ab3f490>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nl', 'Dutch'), ('no', 'Norwegian'), ('nb', 'Norwegian Bokmal'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en-gb'}, {'MEDIA_URL': ''}, {'STATIC_URL': '/static/'}, {'messages': <django.contrib.messages.storage.user_messages.LegacyFallbackStorage object at 0x10642ced0>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'c': <omero.gateway.BlitzObjectWrapper object at 0x10b829390>}]</pre></td> </tr> </tbody> </table> </li> <li class="frame"> <code>/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/base.py</code> in <code>resolve</code> <div class="context" id="c4340715176"> <ol start="646" class="pre-context" id="pre4340715176"><li onclick="toggle('pre4340715176', 'post4340715176')"><pre> raise TemplateSyntaxError("Variables and attributes may not begin with underscores: '%s'" % var)</pre></li><li onclick="toggle('pre4340715176', 'post4340715176')"><pre> self.lookups = tuple(var.split(VARIABLE_ATTRIBUTE_SEPARATOR))</pre></li><li onclick="toggle('pre4340715176', 'post4340715176')"><pre></pre></li><li onclick="toggle('pre4340715176', 'post4340715176')"><pre> def resolve(self, context):</pre></li><li onclick="toggle('pre4340715176', 'post4340715176')"><pre> """Resolve this variable against a given context."""</pre></li><li onclick="toggle('pre4340715176', 'post4340715176')"><pre> if self.lookups is not None:</pre></li><li onclick="toggle('pre4340715176', 'post4340715176')"><pre> # We're dealing with a variable that needs to be resolved</pre></li></ol> <ol start="653" class="context-line"><li onclick="toggle('pre4340715176', 'post4340715176')"><pre> value = self._resolve_lookup(context)</pre> <span>...</span></li></ol> <ol start='654' class="post-context" id="post4340715176"><li onclick="toggle('pre4340715176', 'post4340715176')"><pre> else:</pre></li><li onclick="toggle('pre4340715176', 'post4340715176')"><pre> # We're dealing with a literal, so it's already been "resolved"</pre></li><li onclick="toggle('pre4340715176', 'post4340715176')"><pre> value = self.literal</pre></li><li onclick="toggle('pre4340715176', 'post4340715176')"><pre> if self.translate:</pre></li><li onclick="toggle('pre4340715176', 'post4340715176')"><pre> return ugettext_lazy(value)</pre></li><li onclick="toggle('pre4340715176', 'post4340715176')"><pre> return value</pre></li></ol> </div> <div class="commands"> <a href="#" onclick="return varToggle(this, '4340715176')"><span>▶</span> Local vars</a> </div> <table class="vars" id="v4340715176"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>self</td> <td class="code"><pre><Variable: u'c.getOwner.getNameWithInitial'></pre></td> </tr> <tr> <td>context</td> <td class="code"><pre>[{'isLeader': False, 'share': <omeroweb.webclient.controller.share.BaseShare object at 0x107deb310>, 'ome': {'user_id': 7L, 'eventContext': <bound method OmeroWebGateway.getEventContext of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>, 'top_links': [], 'center_plugins': [{'plugin_id': u'image_table', 'include': u'webclient/data/includes/center_plugin.table.js.html', 'label': u'Table'}, {'plugin_id': u'split_view_panel', 'include': u'webclient/data/includes/center_plugin.splitview.js.html', 'label': u'Split-view'}], 'right_plugins': [{'plugin_id': u'metadata_tab', 'include': u'webclient/data/includes/right_plugin.acquisition.js.html', 'label': u'Acquisition'}, {'plugin_id': u'preview_tab', 'include': u'webclient/data/includes/right_plugin.preview.js.html', 'label': u'Preview'}], 'basket_counter': 0, 'group_id': 0, 'user': <bound method OmeroWebGateway.getUser of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>}, 'template': 'webclient/public/share_content_icon.html', 'ping_interval': 60000}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x10ab3f490>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nl', 'Dutch'), ('no', 'Norwegian'), ('nb', 'Norwegian Bokmal'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en-gb'}, {'MEDIA_URL': ''}, {'STATIC_URL': '/static/'}, {'messages': <django.contrib.messages.storage.user_messages.LegacyFallbackStorage object at 0x10642ced0>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'c': <omero.gateway.BlitzObjectWrapper object at 0x10b829390>}]</pre></td> </tr> </tbody> </table> </li> <li class="frame"> <code>/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/base.py</code> in <code>_resolve_lookup</code> <div class="context" id="c4403693400"> <ol start="691" class="pre-context" id="pre4403693400"><li onclick="toggle('pre4403693400', 'post4403693400')"><pre> ):</pre></li><li onclick="toggle('pre4403693400', 'post4403693400')"><pre> raise VariableDoesNotExist("Failed lookup for key [%s] in %r", (bit, current)) # missing attribute</pre></li><li onclick="toggle('pre4403693400', 'post4403693400')"><pre> if callable(current):</pre></li><li onclick="toggle('pre4403693400', 'post4403693400')"><pre> if getattr(current, 'alters_data', False):</pre></li><li onclick="toggle('pre4403693400', 'post4403693400')"><pre> current = settings.TEMPLATE_STRING_IF_INVALID</pre></li><li onclick="toggle('pre4403693400', 'post4403693400')"><pre> else:</pre></li><li onclick="toggle('pre4403693400', 'post4403693400')"><pre> try: # method call (assuming no args required)</pre></li></ol> <ol start="698" class="context-line"><li onclick="toggle('pre4403693400', 'post4403693400')"><pre> current = current()</pre> <span>...</span></li></ol> <ol start='699' class="post-context" id="post4403693400"><li onclick="toggle('pre4403693400', 'post4403693400')"><pre> except TypeError: # arguments *were* required</pre></li><li onclick="toggle('pre4403693400', 'post4403693400')"><pre> # GOTCHA: This will also catch any TypeError</pre></li><li onclick="toggle('pre4403693400', 'post4403693400')"><pre> # raised in the function itself.</pre></li><li onclick="toggle('pre4403693400', 'post4403693400')"><pre> current = settings.TEMPLATE_STRING_IF_INVALID # invalid method call</pre></li><li onclick="toggle('pre4403693400', 'post4403693400')"><pre> except Exception, e:</pre></li><li onclick="toggle('pre4403693400', 'post4403693400')"><pre> if getattr(e, 'silent_variable_failure', False):</pre></li></ol> </div> <div class="commands"> <a href="#" onclick="return varToggle(this, '4403693400')"><span>▶</span> Local vars</a> </div> <table class="vars" id="v4403693400"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>current</td> <td class="code"><pre><bound method BlitzObjectWrapper.getOwner of <omero.gateway.BlitzObjectWrapper object at 0x10b829390>></pre></td> </tr> <tr> <td>bit</td> <td class="code"><pre>u'getOwner'</pre></td> </tr> <tr> <td>e</td> <td class="code"><pre>AttributeError("'NoneType' object has no attribute 'getOwner'",)</pre></td> </tr> <tr> <td>self</td> <td class="code"><pre><Variable: u'c.getOwner.getNameWithInitial'></pre></td> </tr> <tr> <td>context</td> <td class="code"><pre>[{'isLeader': False, 'share': <omeroweb.webclient.controller.share.BaseShare object at 0x107deb310>, 'ome': {'user_id': 7L, 'eventContext': <bound method OmeroWebGateway.getEventContext of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>, 'top_links': [], 'center_plugins': [{'plugin_id': u'image_table', 'include': u'webclient/data/includes/center_plugin.table.js.html', 'label': u'Table'}, {'plugin_id': u'split_view_panel', 'include': u'webclient/data/includes/center_plugin.splitview.js.html', 'label': u'Split-view'}], 'right_plugins': [{'plugin_id': u'metadata_tab', 'include': u'webclient/data/includes/right_plugin.acquisition.js.html', 'label': u'Acquisition'}, {'plugin_id': u'preview_tab', 'include': u'webclient/data/includes/right_plugin.preview.js.html', 'label': u'Preview'}], 'basket_counter': 0, 'group_id': 0, 'user': <bound method OmeroWebGateway.getUser of <webclient.webclient_gateway.OmeroWebGateway object at 0x101153110>>}, 'template': 'webclient/public/share_content_icon.html', 'ping_interval': 60000}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x10ab3f490>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nl', 'Dutch'), ('no', 'Norwegian'), ('nb', 'Norwegian Bokmal'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'en-gb'}, {'MEDIA_URL': ''}, {'STATIC_URL': '/static/'}, {'messages': <django.contrib.messages.storage.user_messages.LegacyFallbackStorage object at 0x10642ced0>}, {'forloop': {'revcounter0': 0, 'last': True, 'counter': 1, 'parentloop': {}, 'revcounter': 1, 'counter0': 0, 'first': True}, u'c': <omero.gateway.BlitzObjectWrapper object at 0x10b829390>}]</pre></td> </tr> </tbody> </table> </li> <li class="frame"> <code>/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/omero/gateway/__init__.py</code> in <code>getOwner</code> <div class="context" id="c4400083024"> <ol start="1140" class="pre-context" id="pre4400083024"><li onclick="toggle('pre4400083024', 'post4400083024')"><pre></pre></li><li onclick="toggle('pre4400083024', 'post4400083024')"><pre> def getOwner (self):</pre></li><li onclick="toggle('pre4400083024', 'post4400083024')"><pre> """</pre></li><li onclick="toggle('pre4400083024', 'post4400083024')"><pre> Gets user who is the owner of this object.</pre></li><li onclick="toggle('pre4400083024', 'post4400083024')"><pre> </pre></li><li onclick="toggle('pre4400083024', 'post4400083024')"><pre> @return: _ExperimenterWrapper</pre></li><li onclick="toggle('pre4400083024', 'post4400083024')"><pre> """</pre></li></ol> <ol start="1147" class="context-line"><li onclick="toggle('pre4400083024', 'post4400083024')"><pre> return self.getDetails().getOwner()</pre> <span>...</span></li></ol> <ol start='1148' class="post-context" id="post4400083024"><li onclick="toggle('pre4400083024', 'post4400083024')"><pre></pre></li><li onclick="toggle('pre4400083024', 'post4400083024')"><pre> def getOwnerFullName (self):</pre></li><li onclick="toggle('pre4400083024', 'post4400083024')"><pre> """</pre></li><li onclick="toggle('pre4400083024', 'post4400083024')"><pre> Gets full name of the owner of this object.</pre></li><li onclick="toggle('pre4400083024', 'post4400083024')"><pre> </pre></li><li onclick="toggle('pre4400083024', 'post4400083024')"><pre> @return: String or None</pre></li></ol> </div> <div class="commands"> <a href="#" onclick="return varToggle(this, '4400083024')"><span>▶</span> Local vars</a> </div> <table class="vars" id="v4400083024"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>self</td> <td class="code"><pre><omero.gateway.BlitzObjectWrapper object at 0x10b829390></pre></td> </tr> </tbody> </table> </li> </ul> </div> <form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post"> <div id="pastebinTraceback" class="pastebin"> <input type="hidden" name="language" value="PythonConsole"> <input type="hidden" name="title" value="TemplateSyntaxError at /webclient/load_public/2435/"> <input type="hidden" name="source" value="Django Dpaste Agent"> <input type="hidden" name="poster" value="Django"> <textarea name="content" id="traceback_area" cols="140" rows="25"> Environment: Request Method: GET Request URL: http://10.34.2.150:8000/webclient/load_public/2435/?view=icon Django Version: 1.3.1 Python Version: 2.6.1 Installed Applications: ['django.contrib.staticfiles', 'django.contrib.markup', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'omeroweb.feedback', 'omeroweb.webadmin', 'omeroweb.webclient', 'omeroweb.webgateway', 'omeroweb.webtest', 'omeroweb.webredirect'] Installed Middleware: ('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.messages.middleware.MessageMiddleware') Template error: In template /Users/rkferguson/Documents/openmicroscopy/components/tools/OmeroWeb/omeroweb/webclient/templates/webclient/public/share_content_icon.html, error at line 70 Caught AttributeError while rendering: 'NoneType' object has no attribute 'getOwner' 60 : 61 : {% if share.imgSize %} 62 : 63 : <div id="toolbar" class="toolbar_noborder"></div> 64 : <div class="clear"> </div> 65 : 66 : <ul id="dataIcons"> 67 : {% for c in share.imageInShare %} 68 : <li id="image_icon-{{ c.id }}" title="{{ c.name }}" {% if not c.canEdit %}class="editonly"{% else %}class="readonly"{% endif %}> 69 : {% if share.share.isOwned %} 70 : <img id="{{ c.id }}" src="{% url render_thumbnail c.id %}" alt="image" title="{{ c.name }}, owned by {{ c.getOwner.getNameWithInitial }} "/> 71 : {% else %} 72 : <img id="{{ c.id }}" src="{% url render_thumbnail c.id share.share.id %}" alt="image" title="{{ c.name }}, owned by {{ c.getOwner.getNameWithInitial }}"/> 73 : {% endif %} 74 : </li> 75 : {% endfor %} 76 : </ul> 77 : 78 : {% else %} 79 : <p>{% trans "No data." %}</p> 80 : {% endif %} Traceback: File "/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/core/handlers/base.py" in get_response 111. response = callback(request, *callback_args, **callback_kwargs) File "/Users/rkferguson/Documents/openmicroscopy/components/tools/OmeroWeb/omeroweb/decorators.py" in wrapped 311. retval = f(request, *args, **kwargs) File "/Users/rkferguson/Documents/openmicroscopy/components/tools/OmeroWeb/omeroweb/decorators.py" in wrapper 365. return HttpResponse(t.render(c)) File "/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/base.py" in render 123. return self._render(context) File "/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/base.py" in _render 117. return self.nodelist.render(context) File "/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/base.py" in render 744. bits.append(self.render_node(node, context)) File "/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/debug.py" in render_node 73. result = node.render(context) File "/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/defaulttags.py" in render 311. return self.nodelist_true.render(context) File "/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/base.py" in render 744. bits.append(self.render_node(node, context)) File "/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/debug.py" in render_node 73. result = node.render(context) File "/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/defaulttags.py" in render 227. nodelist.append(node.render(context)) File "/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/defaulttags.py" in render 311. return self.nodelist_true.render(context) File "/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/base.py" in render 744. bits.append(self.render_node(node, context)) File "/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/debug.py" in render_node 73. result = node.render(context) File "/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/debug.py" in render 90. output = self.filter_expression.resolve(context) File "/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/base.py" in resolve 510. obj = self.var.resolve(context) File "/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/base.py" in resolve 653. value = self._resolve_lookup(context) File "/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/django/template/base.py" in _resolve_lookup 698. current = current() File "/Users/rkferguson/Documents/openmicroscopy/dist/lib/python/omero/gateway/__init__.py" in getOwner 1147. return self.getDetails().getOwner() Exception Type: TemplateSyntaxError at /webclient/load_public/2435/ Exception Value: Caught AttributeError while rendering: 'NoneType' object has no attribute 'getOwner' </textarea> <br><br> <input type="submit" value="Share this traceback on a public Web site"> </div> </form> </div> <div id="requestinfo"> <h2>Request information</h2> <h3 id="get-info">GET</h3> <table class="req"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>view</td> <td class="code"><pre>u'icon'</pre></td> </tr> </tbody> </table> <h3 id="post-info">POST</h3> <p>No POST data</p> <h3 id="files-info">FILES</h3> <p>No FILES data</p> <h3 id="cookie-info">COOKIES</h3> <table class="req"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>sessionid</td> <td class="code"><pre>'e962dc994331e82380150a86ef555ca5'</pre></td> </tr> </tbody> </table> <h3 id="meta-info">META</h3> <table class="req"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>wsgi.multiprocess</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>RUN_MAIN</td> <td class="code"><pre>'true'</pre></td> </tr> <tr> <td>HTTP_REFERER</td> <td class="code"><pre>'http://10.34.2.150:8000/webclient/public/?experimenter=7'</pre></td> </tr> <tr> <td>VERSIONER_PYTHON_PREFER_32_BIT</td> <td class="code"><pre>'no'</pre></td> </tr> <tr> <td>SERVER_SOFTWARE</td> <td class="code"><pre>'WSGIServer/0.1 Python/2.6.1'</pre></td> </tr> <tr> <td>TERM_PROGRAM_VERSION</td> <td class="code"><pre>'273.1'</pre></td> </tr> <tr> <td>REQUEST_METHOD</td> <td class="code"><pre>'GET'</pre></td> </tr> <tr> <td>LOGNAME</td> <td class="code"><pre>'rkferguson'</pre></td> </tr> <tr> <td>USER</td> <td class="code"><pre>'rkferguson'</pre></td> </tr> <tr> <td>PATH</td> <td class="code"><pre>'/usr/local/bin:/usr/local/sbin:/usr/local/lib/node_modules:/usr/local/Cellar/zeroc-ice33/3.3/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/local/munki:/usr/X11/bin'</pre></td> </tr> <tr> <td>QUERY_STRING</td> <td class="code"><pre>'view=icon'</pre></td> </tr> <tr> <td>HOME</td> <td class="code"><pre>'/Users/rkferguson'</pre></td> </tr> <tr> <td>DISPLAY</td> <td class="code"><pre>'/tmp/launch-2FqvS3/org.x:0'</pre></td> </tr> <tr> <td>TERM_PROGRAM</td> <td class="code"><pre>'Apple_Terminal'</pre></td> </tr> <tr> <td>LANG</td> <td class="code"><pre>'en_GB.UTF-8'</pre></td> </tr> <tr> <td>wsgi.url_scheme</td> <td class="code"><pre>'http'</pre></td> </tr> <tr> <td>TERM</td> <td class="code"><pre>'xterm-color'</pre></td> </tr> <tr> <td>Apple_PubSub_Socket_Render</td> <td class="code"><pre>'/tmp/launch-xuQHg3/Render'</pre></td> </tr> <tr> <td>TZ</td> <td class="code"><pre>'Europe/London'</pre></td> </tr> <tr> <td>HTTP_COOKIE</td> <td class="code"><pre>'sessionid=e962dc994331e82380150a86ef555ca5'</pre></td> </tr> <tr> <td>SERVER_NAME</td> <td class="code"><pre>'LS25532.local'</pre></td> </tr> <tr> <td>VERSIONER_PYTHON_VERSION</td> <td class="code"><pre>'2.6'</pre></td> </tr> <tr> <td>SHLVL</td> <td class="code"><pre>'1'</pre></td> </tr> <tr> <td>SECURITYSESSIONID</td> <td class="code"><pre>'500c04'</pre></td> </tr> <tr> <td>OMERO_HOME</td> <td class="code"><pre>'/Users/rkferguson/Documents/openmicroscopy/dist/'</pre></td> </tr> <tr> <td>_</td> <td class="code"><pre>'/usr/local/bin/python'</pre></td> </tr> <tr> <td>SERVER_PORT</td> <td class="code"><pre>'8000'</pre></td> </tr> <tr> <td>PATH_INFO</td> <td class="code"><pre>u'/webclient/load_public/2435/'</pre></td> </tr> <tr> <td>CONTENT_LENGTH</td> <td class="code"><pre>''</pre></td> </tr> <tr> <td>HTTP_CONNECTION</td> <td class="code"><pre>'Keep-Alive'</pre></td> </tr> <tr> <td>HTTP_X_REQUESTED_WITH</td> <td class="code"><pre>'XMLHttpRequest'</pre></td> </tr> <tr> <td>BREW_DIR</td> <td class="code"><pre>'/usr/local'</pre></td> </tr> <tr> <td>PYTHONPATH</td> <td class="code"><pre>'/usr/local/Cellar/zeroc-ice33/3.3/python:dist/lib/python:components/tools/OmeroWeb'</pre></td> </tr> <tr> <td>SSH_AUTH_SOCK</td> <td class="code"><pre>'/tmp/launch-cPFaiq/Listeners'</pre></td> </tr> <tr> <td>ICE_HOME</td> <td class="code"><pre>'/usr/local/Cellar/zeroc-ice33/3.3'</pre></td> </tr> <tr> <td>DYLD_LIBRARY_PATH</td> <td class="code"><pre>'/usr/local/Cellar/zeroc-ice33/3.3/lib:/usr/local/Cellar/zeroc-ice33/3.3/python:'</pre></td> </tr> <tr> <td>wsgi.input</td> <td class="code"><pre><socket._fileobject object at 0x107dde488></pre></td> </tr> <tr> <td>SHELL</td> <td class="code"><pre>'/bin/bash'</pre></td> </tr> <tr> <td>HTTP_HOST</td> <td class="code"><pre>'10.34.2.150:8000'</pre></td> </tr> <tr> <td>SCRIPT_NAME</td> <td class="code"><pre>u''</pre></td> </tr> <tr> <td>wsgi.multithread</td> <td class="code"><pre>True</pre></td> </tr> <tr> <td>HTTP_UA_CPU</td> <td class="code"><pre>'AMD64'</pre></td> </tr> <tr> <td>TMPDIR</td> <td class="code"><pre>'/var/folders/FN/FNlxIw58GfunXmFak+bdxU+++TI/-Tmp-/'</pre></td> </tr> <tr> <td>HTTP_ACCEPT</td> <td class="code"><pre>'text/html, */*; q=0.01'</pre></td> </tr> <tr> <td>wsgi.version</td> <td class="code"><pre>(1, 0)</pre></td> </tr> <tr> <td>HTTP_USER_AGENT</td> <td class="code"><pre>'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; BOIE9;ENGB)'</pre></td> </tr> <tr> <td>GATEWAY_INTERFACE</td> <td class="code"><pre>'CGI/1.1'</pre></td> </tr> <tr> <td>wsgi.run_once</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>OLDPWD</td> <td class="code"><pre>'/Users/rkferguson'</pre></td> </tr> <tr> <td>REMOTE_ADDR</td> <td class="code"><pre>'10.34.2.150'</pre></td> </tr> <tr> <td>HTTP_ACCEPT_LANGUAGE</td> <td class="code"><pre>'en-gb'</pre></td> </tr> <tr> <td>wsgi.errors</td> <td class="code"><pre><open file '<stderr>', mode 'w' at 0x100416140></pre></td> </tr> <tr> <td>__CF_USER_TEXT_ENCODING</td> <td class="code"><pre>'0x1F5:0:0'</pre></td> </tr> <tr> <td>PWD</td> <td class="code"><pre>'/Users/rkferguson/Documents/openmicroscopy'</pre></td> </tr> <tr> <td>SERVER_PROTOCOL</td> <td class="code"><pre>'HTTP/1.1'</pre></td> </tr> <tr> <td>DJANGO_SETTINGS_MODULE</td> <td class="code"><pre>'omeroweb.settings'</pre></td> </tr> <tr> <td>CONTENT_TYPE</td> <td class="code"><pre>'text/plain'</pre></td> </tr> <tr> <td>wsgi.file_wrapper</td> <td class="code"><pre>''</pre></td> </tr> <tr> <td>REMOTE_HOST</td> <td class="code"><pre>''</pre></td> </tr> <tr> <td>HTTP_ACCEPT_ENCODING</td> <td class="code"><pre>'gzip, deflate'</pre></td> </tr> <tr> <td>COMMAND_MODE</td> <td class="code"><pre>'unix2003'</pre></td> </tr> </tbody> </table> <h3 id="settings-info">Settings</h3> <h4>Using settings module <code>omeroweb.settings</code></h4> <table class="req"> <thead> <tr> <th>Setting</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>YEAR_MONTH_FORMAT</td> <td class="code"><pre>'F Y'</pre></td> </tr> <tr> <td>USE_L10N</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>USE_THOUSAND_SEPARATOR</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>CENTER_PLUGINS</td> <td class="code"><pre>[[u'Table', u'webclient/data/includes/center_plugin.table.js.html', u'image_table'], [u'Split-view', u'webclient/data/includes/center_plugin.splitview.js.html', u'split_view_panel']]</pre></td> </tr> <tr> <td>LANGUAGE_CODE</td> <td class="code"><pre>'en-gb'</pre></td> </tr> <tr> <td>ROOT_URLCONF</td> <td class="code"><pre>'omeroweb.urls'</pre></td> </tr> <tr> <td>MANAGERS</td> <td class="code"><pre>[]</pre></td> </tr> <tr> <td>OPEN_ASTEX_MAX_VOXELS</td> <td class="code"><pre>27000000</pre></td> </tr> <tr> <td>DEFAULT_CHARSET</td> <td class="code"><pre>'utf-8'</pre></td> </tr> <tr> <td>PING_INTERVAL</td> <td class="code"><pre>60000</pre></td> </tr> <tr> <td>STATIC_ROOT</td> <td class="code"><pre>'/Users/rkferguson/Documents/openmicroscopy/components/tools/OmeroWeb/omeroweb/static'</pre></td> </tr> <tr> <td>TEST_DATABASE_CHARSET</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>APPLICATION_SERVER_HOST</td> <td class="code"><pre>'0.0.0.0'</pre></td> </tr> <tr> <td>OMERO_HOME</td> <td class="code"><pre>'/Users/rkferguson/Documents/openmicroscopy/dist/'</pre></td> </tr> <tr> <td>MESSAGE_STORAGE</td> <td class="code"><pre>'django.contrib.messages.storage.user_messages.LegacyFallbackStorage'</pre></td> </tr> <tr> <td>DATABASE_HOST</td> <td class="code"><pre>''</pre></td> </tr> <tr> <td>IGNORABLE_404_STARTS</td> <td class="code"><pre>('/cgi-bin/', '/_vti_bin', '/_vti_inf')</pre></td> </tr> <tr> <td>SEND_BROKEN_LINK_EMAILS</td> <td class="code"><pre>True</pre></td> </tr> <tr> <td>URL_VALIDATOR_USER_AGENT</td> <td class="code"><pre>'Django/1.3.1 (http://www.djangoproject.com)'</pre></td> </tr> <tr> <td>OPEN_ASTEX_MAX_SIDE</td> <td class="code"><pre>400</pre></td> </tr> <tr> <td>SESSION_COOKIE_DOMAIN</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>SESSION_COOKIE_NAME</td> <td class="code"><pre>'sessionid'</pre></td> </tr> <tr> <td>PUBLIC_URL_FILTER</td> <td class="code"><pre><_sre.SRE_Pattern object at 0x102694e70></pre></td> </tr> <tr> <td>ADMIN_FOR</td> <td class="code"><pre>()</pre></td> </tr> <tr> <td>TIME_INPUT_FORMATS</td> <td class="code"><pre>('%H:%M:%S', '%H:%M')</pre></td> </tr> <tr> <td>DATABASES</td> <td class="code"><pre>{'default': {'ENGINE': 'django.db.backends.dummy', 'HOST': '', 'NAME': '', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '', 'TEST_CHARSET': None, 'TEST_COLLATION': None, 'TEST_MIRROR': None, 'TEST_NAME': None, 'TIME_ZONE': 'Europe/London', 'USER': ''}}</pre></td> </tr> <tr> <td>TEST_DATABASE_NAME</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>FILE_UPLOAD_PERMISSIONS</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>FILE_UPLOAD_HANDLERS</td> <td class="code"><pre>('django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler')</pre></td> </tr> <tr> <td>PUBLIC_ENABLED</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>DEFAULT_CONTENT_TYPE</td> <td class="code"><pre>'text/html'</pre></td> </tr> <tr> <td>TEST_RUNNER</td> <td class="code"><pre>'django.test.simple.DjangoTestSuiteRunner'</pre></td> </tr> <tr> <td>APPEND_SLASH</td> <td class="code"><pre>True</pre></td> </tr> <tr> <td>FIRST_DAY_OF_WEEK</td> <td class="code"><pre>0</pre></td> </tr> <tr> <td>DATABASE_ROUTERS</td> <td class="code"><pre>[]</pre></td> </tr> <tr> <td>TEST_DATABASE_COLLATION</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>DEFAULT_IMG</td> <td class="code"><pre>'/Users/rkferguson/Documents/openmicroscopy/components/tools/OmeroWeb/omeroweb/webgateway/static/webgateway/img/image128.png'</pre></td> </tr> <tr> <td>STATICFILES_STORAGE</td> <td class="code"><pre>'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td> </tr> <tr> <td>CACHES</td> <td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'LOCATION': ''}}</pre></td> </tr> <tr> <td>SERVER_EMAIL</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>FASTCGI_TYPES</td> <td class="code"><pre>('fastcgi', 'fastcgi-tcp')</pre></td> </tr> <tr> <td>CACHE_BACKEND</td> <td class="code"><pre>'locmem://'</pre></td> </tr> <tr> <td>IGNORABLE_404_ENDS</td> <td class="code"><pre>('mail.pl', 'mailform.pl', 'mail.cgi', 'mailform.cgi', 'favicon.ico', '.php')</pre></td> </tr> <tr> <td>CUSTOM_SETTINGS</td> <td class="code"><pre>{'omero.config.version': '4.2.1', 'omero.web.debug': 'True', 'omero.web.server_list': '[["gretzky.openmicroscopy.org.uk", 4064, "gretzky"]]'}</pre></td> </tr> <tr> <td>MIDDLEWARE_CLASSES</td> <td class="code"><pre>('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.messages.middleware.MessageMiddleware')</pre></td> </tr> <tr> <td>USE_I18N</td> <td class="code"><pre>True</pre></td> </tr> <tr> <td>THOUSAND_SEPARATOR</td> <td class="code"><pre>','</pre></td> </tr> <tr> <td>SECRET_KEY</td> <td class="code"><pre>'********************'</pre></td> </tr> <tr> <td>LANGUAGE_COOKIE_NAME</td> <td class="code"><pre>'django_language'</pre></td> </tr> <tr> <td>FILE_UPLOAD_TEMP_DIR</td> <td class="code"><pre>'/var/folders/FN/FNlxIw58GfunXmFak+bdxU+++TI/-Tmp-'</pre></td> </tr> <tr> <td>EMAIL_TEMPLATES</td> <td class="code"><pre>{'add_comment_to_share': {'html_content': '<p>New comment is available on share <a href="%s?server=%i">%s?server=%i</a>.</p>', 'text_content': 'New comment is available on share %s?server=%i.'}, 'add_member_to_share': {'html_content': '<p>Hi,</p><p>I would like to share some of my data with you.<br/>Please find it on the <a href="%s?server=%i">%s?server=%i</a>.</p><p>%s</p>', 'text_content': 'Hi, I would like to share some of my data with you. Please find it on the %s?server=%i. /n %s'}, 'create_share': {'html_content': '<p>Hi,</p><p>I would like to share some of my data with you.<br/>Please find it on the <a href="%s?server=%i">%s?server=%i</a>.</p><p>%s</p>', 'text_content': 'Hi, I would like to share some of my data with you. Please find it on the %s?server=%i. /n %s'}, 'remove_member_from_share': {'html_content': '<p>You were removed from the share <a href="%s?server=%i">%s?server=%i</a>. This share is no longer available for you.</p>', 'text_content': 'You were removed from the share %s?server=%i. This share is no longer available for you.'}}</pre></td> </tr> <tr> <td>TRANSACTIONS_MANAGED</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>LOGGING_CONFIG</td> <td class="code"><pre>'django.utils.log.dictConfig'</pre></td> </tr> <tr> <td>TEMPLATE_LOADERS</td> <td class="code"><pre>('django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader')</pre></td> </tr> <tr> <td>TEMPLATE_DEBUG</td> <td class="code"><pre>True</pre></td> </tr> <tr> <td>CSRF_COOKIE_NAME</td> <td class="code"><pre>'csrftoken'</pre></td> </tr> <tr> <td>LOGDIR</td> <td class="code"><pre>'/Users/rkferguson/Documents/openmicroscopy/dist/var/log'</pre></td> </tr> <tr> <td>FORCE_SCRIPT_NAME</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>CONFIG_XML</td> <td class="code"><pre><omero.config.ConfigXml object at 0x102ad2250></pre></td> </tr> <tr> <td>USE_ETAGS</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>TOP_LINKS</td> <td class="code"><pre>[]</pre></td> </tr> <tr> <td>USE_X_FORWARDED_HOST</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>SESSION_COOKIE_SECURE</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>CSRF_COOKIE_DOMAIN</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>FILE_CHARSET</td> <td class="code"><pre>'utf-8'</pre></td> </tr> <tr> <td>DEBUG</td> <td class="code"><pre>True</pre></td> </tr> <tr> <td>SESSION_FILE_PATH</td> <td class="code"><pre>'/var/folders/FN/FNlxIw58GfunXmFak+bdxU+++TI/-Tmp-'</pre></td> </tr> <tr> <td>FASTCGI</td> <td class="code"><pre>'fastcgi'</pre></td> </tr> <tr> <td>INSTALLED_APPS</td> <td class="code"><pre>['django.contrib.staticfiles', 'django.contrib.markup', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'omeroweb.feedback', 'omeroweb.webadmin', 'omeroweb.webclient', 'omeroweb.webgateway', 'omeroweb.webtest', 'omeroweb.webredirect']</pre></td> </tr> <tr> <td>LANGUAGES</td> <td class="code"><pre>(('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nl', 'Dutch'), ('no', 'Norwegian'), ('nb', 'Norwegian Bokmal'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese'))</pre></td> </tr> <tr> <td>DATABASE_ENGINE</td> <td class="code"><pre>''</pre></td> </tr> <tr> <td>SERVER_LIST</td> <td class="code"><pre>[[u'gretzky.openmicroscopy.org.uk', 4064, u'gretzky']]</pre></td> </tr> <tr> <td>DATABASE_NAME</td> <td class="code"><pre>''</pre></td> </tr> <tr> <td>COMMENTS_FIRST_FEW</td> <td class="code"><pre>0</pre></td> </tr> <tr> <td>PREPEND_WWW</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>ADDITIONAL_APPS</td> <td class="code"><pre>[]</pre></td> </tr> <tr> <td>SESSION_COOKIE_HTTPONLY</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>DATABASE_PORT</td> <td class="code"><pre>''</pre></td> </tr> <tr> <td>DEBUG_PROPAGATE_EXCEPTIONS</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>MEDIA_URL</td> <td class="code"><pre>''</pre></td> </tr> <tr> <td>MONTH_DAY_FORMAT</td> <td class="code"><pre>'F j'</pre></td> </tr> <tr> <td>LOGIN_URL</td> <td class="code"><pre>'/accounts/login/'</pre></td> </tr> <tr> <td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td> <td class="code"><pre>True</pre></td> </tr> <tr> <td>DEFAULT_SESSION_ENGINE</td> <td class="code"><pre>'django.contrib.sessions.backends.file'</pre></td> </tr> <tr> <td>TIME_FORMAT</td> <td class="code"><pre>'P'</pre></td> </tr> <tr> <td>DATE_INPUT_FORMATS</td> <td class="code"><pre>('%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y')</pre></td> </tr> <tr> <td>AUTHENTICATION_BACKENDS</td> <td class="code"><pre>('django.contrib.auth.backends.ModelBackend',)</pre></td> </tr> <tr> <td>EMAIL_HOST_PASSWORD</td> <td class="code"><pre>'********************'</pre></td> </tr> <tr> <td>PASSWORD_RESET_TIMEOUT_DAYS</td> <td class="code"><pre>'********************'</pre></td> </tr> <tr> <td>CACHE_MIDDLEWARE_ALIAS</td> <td class="code"><pre>'default'</pre></td> </tr> <tr> <td>SESSION_SAVE_EVERY_REQUEST</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>ADMIN_MEDIA_PREFIX</td> <td class="code"><pre>'/static/admin/'</pre></td> </tr> <tr> <td>NUMBER_GROUPING</td> <td class="code"><pre>0</pre></td> </tr> <tr> <td>APPLICATION_SERVER</td> <td class="code"><pre>'fastcgi-tcp'</pre></td> </tr> <tr> <td>SESSION_ENGINE</td> <td class="code"><pre>'django.contrib.sessions.backends.file'</pre></td> </tr> <tr> <td>DEFAULT_FILE_STORAGE</td> <td class="code"><pre>'django.core.files.storage.FileSystemStorage'</pre></td> </tr> <tr> <td>CSRF_FAILURE_VIEW</td> <td class="code"><pre>'django.views.csrf.csrf_failure'</pre></td> </tr> <tr> <td>COMMENTS_SKETCHY_USERS_GROUP</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>LOGIN_REDIRECT_URL</td> <td class="code"><pre>'/accounts/profile/'</pre></td> </tr> <tr> <td>SESSION_COOKIE_PATH</td> <td class="code"><pre>'/'</pre></td> </tr> <tr> <td>FASTCGITCP</td> <td class="code"><pre>'fastcgi-tcp'</pre></td> </tr> <tr> <td>DECIMAL_SEPARATOR</td> <td class="code"><pre>'.'</pre></td> </tr> <tr> <td>CACHE_MIDDLEWARE_KEY_PREFIX</td> <td class="code"><pre>''</pre></td> </tr> <tr> <td>LOCALE_PATHS</td> <td class="code"><pre>()</pre></td> </tr> <tr> <td>TEMPLATE_STRING_IF_INVALID</td> <td class="code"><pre>''</pre></td> </tr> <tr> <td>COMMENTS_ALLOW_PROFANITIES</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>LOGOUT_URL</td> <td class="code"><pre>'/accounts/logout/'</pre></td> </tr> <tr> <td>EMAIL_USE_TLS</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>TEMPLATE_DIRS</td> <td class="code"><pre>()</pre></td> </tr> <tr> <td>FIXTURE_DIRS</td> <td class="code"><pre>()</pre></td> </tr> <tr> <td>EMAIL_HOST</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>DATE_FORMAT</td> <td class="code"><pre>'N j, Y'</pre></td> </tr> <tr> <td>MEDIA_ROOT</td> <td class="code"><pre>''</pre></td> </tr> <tr> <td>FEEDBACK_URL</td> <td class="code"><pre>'qa.openmicroscopy.org.uk:80'</pre></td> </tr> <tr> <td>ADMINS</td> <td class="code"><pre>[]</pre></td> </tr> <tr> <td>FORMAT_MODULE_PATH</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>DEFAULT_FROM_EMAIL</td> <td class="code"><pre>'webmaster@localhost'</pre></td> </tr> <tr> <td>CUSTOM_SETTINGS_MAPPINGS</td> <td class="code"><pre>{'omero.web.admins': ['ADMINS', '[]', <function loads at 0x10295f5f0>, True], 'omero.web.application_server': ['APPLICATION_SERVER', 'fastcgi-tcp', <function check_server_type at 0x102ad07d0>, True], 'omero.web.application_server.host': ['APPLICATION_SERVER_HOST', '0.0.0.0', <type 'str'>, True], 'omero.web.application_server.port': ['APPLICATION_SERVER_PORT', '4080', <type 'str'>, True], 'omero.web.apps': ['ADDITIONAL_APPS', '[]', <function loads at 0x10295f5f0>, True], 'omero.web.caches': ['CACHES', '{}', <function loads at 0x10295f5f0>, True], 'omero.web.databases': ['DATABASES', '{}', <function loads at 0x10295f5f0>, True], 'omero.web.debug': ['DEBUG', 'false', <function parse_boolean at 0x102ad06e0>, False], 'omero.web.email_host': ['EMAIL_HOST', None, <function identity at 0x102ad08c0>, True], 'omero.web.email_host_password': ['EMAIL_HOST_PASSWORD', None, <function identity at 0x102ad08c0>, True], 'omero.web.email_host_user': ['EMAIL_HOST_USER', None, <function identity at 0x102ad08c0>, True], 'omero.web.email_port': ['EMAIL_PORT', None, <function identity at 0x102ad08c0>, True], 'omero.web.email_subject_prefix': ['EMAIL_SUBJECT_PREFIX', '[OMERO.web] ', <type 'str'>, True], 'omero.web.email_use_tls': ['EMAIL_USE_TLS', 'false', <function parse_boolean at 0x102ad06e0>, True], 'omero.web.logdir': ['LOGDIR', '/Users/rkferguson/Documents/openmicroscopy/dist/var/log', <type 'str'>, True], 'omero.web.open_astex_max_side': ['OPEN_ASTEX_MAX_SIDE', 400, <type 'int'>, True], 'omero.web.open_astex_max_voxels': ['OPEN_ASTEX_MAX_VOXELS', 27000000, <type 'int'>, True], 'omero.web.open_astex_min_side': ['OPEN_ASTEX_MIN_SIDE', 20, <type 'int'>, True], 'omero.web.ping_interval': ['PING_INTERVAL', 60000, <type 'int'>, True], 'omero.web.public.enabled': ['PUBLIC_ENABLED', 'false', <function parse_boolean at 0x102ad06e0>, True], 'omero.web.public.password': ['PUBLIC_PASSWORD', None, <function leave_none_unset at 0x102ad09b0>, True], 'omero.web.public.server_id': ['PUBLIC_SERVER_ID', 1, <type 'int'>, True], 'omero.web.public.url_filter': ['PUBLIC_URL_FILTER', '^/(?!webadmin)', <function compile at 0x100509320>, True], 'omero.web.public.user': ['PUBLIC_USER', None, <function leave_none_unset at 0x102ad09b0>, True], 'omero.web.scripts_to_ignore': ['SCRIPTS_TO_IGNORE', '["/omero/figure_scripts/Movie_Figure.py", "/omero/figure_scripts/Split_View_Figure.py", "/omero/figure_scripts/Thumbnail_Figure.py", "/omero/figure_scripts/ROI_Split_Figure.py", "/omero/export_scripts/Make_Movie.py"]', <function parse_paths at 0x102ad0758>, True], 'omero.web.send_broken_link_emails': ['SEND_BROKEN_LINK_EMAILS', 'true', <function parse_boolean at 0x102ad06e0>, True], 'omero.web.server_email': ['SERVER_EMAIL', None, <function identity at 0x102ad08c0>, True], 'omero.web.server_list': ['SERVER_LIST', '[["localhost", 4064, "omero"]]', <function loads at 0x10295f5f0>, False], 'omero.web.session_engine': ['SESSION_ENGINE', 'django.contrib.sessions.backends.file', <function check_session_engine at 0x102ad0848>, True], 'omero.web.static_url': ['STATIC_URL', '/static/', <type 'str'>, True], 'omero.web.staticfile_dirs': ['STATICFILES_DIRS', '[]', <function loads at 0x10295f5f0>, True], 'omero.web.ui.center_plugins': ['CENTER_PLUGINS', '[["Table", "webclient/data/includes/center_plugin.table.js.html", "image_table"],["Split-view", "webclient/data/includes/center_plugin.splitview.js.html", "split_view_panel"]]', <function loads at 0x10295f5f0>, True], 'omero.web.ui.right_plugins': ['RIGHT_PLUGINS', '[["Acquisition", "webclient/data/includes/right_plugin.acquisition.js.html", "metadata_tab"],["Preview", "webclient/data/includes/right_plugin.preview.js.html", "preview_tab"]]', <function loads at 0x10295f5f0>, True], 'omero.web.ui.top_links': ['TOP_LINKS', '[]', <function loads at 0x10295f5f0>, True], 'omero.web.webgateway_cache': ['WEBGATEWAY_CACHE', None, <function leave_none_unset at 0x102ad09b0>, True]}</pre></td> </tr> <tr> <td>SCRIPTS_TO_IGNORE</td> <td class="code"><pre>[u'/omero/figure_scripts/Movie_Figure.py', u'/omero/figure_scripts/Split_View_Figure.py', u'/omero/figure_scripts/Thumbnail_Figure.py', u'/omero/figure_scripts/ROI_Split_Figure.py', u'/omero/export_scripts/Make_Movie.py']</pre></td> </tr> <tr> <td>PAGE</td> <td class="code"><pre>200</pre></td> </tr> <tr> <td>DEFAULT_USER</td> <td class="code"><pre>'/Users/rkferguson/Documents/openmicroscopy/components/tools/OmeroWeb/omeroweb/webgateway/static/webgateway/img/personal32.png'</pre></td> </tr> <tr> <td>DATETIME_FORMAT</td> <td class="code"><pre>'N j, Y, P'</pre></td> </tr> <tr> <td>EMAIL_SUBJECT_PREFIX</td> <td class="code"><pre>'[OMERO.web] '</pre></td> </tr> <tr> <td>SITE_ID</td> <td class="code"><pre>1</pre></td> </tr> <tr> <td>DISALLOWED_USER_AGENTS</td> <td class="code"><pre>()</pre></td> </tr> <tr> <td>ALLOWED_INCLUDE_ROOTS</td> <td class="code"><pre>()</pre></td> </tr> <tr> <td>LOGGING</td> <td class="code"><pre>{'disable_existing_loggers': True, 'formatters': {'standard': {'format': '%(asctime)s %(levelname)5.5s [%(name)40.40s] (proc.%(process)5.5d) %(funcName)s:%(lineno)d %(message)s'}}, 'handlers': {'console': {'class': 'logging.StreamHandler', 'formatter': 'standard', 'level': 'DEBUG'}, 'default': {'backupCount': 5, 'class': 'logging.handlers.RotatingFileHandler', 'filename': '/Users/rkferguson/Documents/openmicroscopy/dist/var/log/OMEROweb.log', 'formatter': 'standard', 'level': 'DEBUG', 'maxBytes': 5242880}, 'null': {'class': 'django.utils.log.NullHandler', 'level': 'DEBUG'}, 'request_handler': {'backupCount': 5, 'class': 'logging.handlers.RotatingFileHandler', 'filename': '/Users/rkferguson/Documents/openmicroscopy/dist/var/log/OMEROweb_request.log', 'formatter': 'standard', 'level': 'DEBUG', 'maxBytes': 5242880}}, 'loggers': {'': {'handlers': ['default'], 'level': 'DEBUG', 'propagate': True}, 'django': {'handlers': ['null'], 'level': 'DEBUG', 'propagate': True}, 'django.request': {'handlers': ['request_handler'], 'level': 'DEBUG', 'propagate': False}}, 'version': 1}</pre></td> </tr> <tr> <td>SHORT_DATE_FORMAT</td> <td class="code"><pre>'m/d/Y'</pre></td> </tr> <tr> <td>APPLICATION_SERVER_PORT</td> <td class="code"><pre>'4080'</pre></td> </tr> <tr> <td>DATABASE_USER</td> <td class="code"><pre>''</pre></td> </tr> <tr> <td>SESSION_ENGINE_VALUES</td> <td class="code"><pre>('django.contrib.sessions.backends.db', 'django.contrib.sessions.backends.file', 'django.contrib.sessions.backends.cache', 'django.contrib.sessions.backends.cached_db')</pre></td> </tr> <tr> <td>OPEN_ASTEX_MIN_SIDE</td> <td class="code"><pre>20</pre></td> </tr> <tr> <td>STATICFILES_FINDERS</td> <td class="code"><pre>('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder')</pre></td> </tr> <tr> <td>TIME_ZONE</td> <td class="code"><pre>'Europe/London'</pre></td> </tr> <tr> <td>FILE_UPLOAD_MAX_MEMORY_SIZE</td> <td class="code"><pre>2621440</pre></td> </tr> <tr> <td>EMAIL_BACKEND</td> <td class="code"><pre>'django.core.mail.backends.smtp.EmailBackend'</pre></td> </tr> <tr> <td>STATICFILES_DIRS</td> <td class="code"><pre>[]</pre></td> </tr> <tr> <td>DEFAULT_TABLESPACE</td> <td class="code"><pre>''</pre></td> </tr> <tr> <td>TEMPLATE_CONTEXT_PROCESSORS</td> <td class="code"><pre>('django.core.context_processors.debug', 'django.core.context_processors.i18n', 'django.core.context_processors.media', 'django.core.context_processors.static', 'django.contrib.messages.context_processors.messages')</pre></td> </tr> <tr> <td>ALL_SERVER_TYPES</td> <td class="code"><pre>('fastcgi-tcp', 'fastcgi', 'development')</pre></td> </tr> <tr> <td>SESSION_COOKIE_AGE</td> <td class="code"><pre>86400</pre></td> </tr> <tr> <td>SETTINGS_MODULE</td> <td class="code"><pre>'omeroweb.settings'</pre></td> </tr> <tr> <td>RIGHT_PLUGINS</td> <td class="code"><pre>[[u'Acquisition', u'webclient/data/includes/right_plugin.acquisition.js.html', u'metadata_tab'], [u'Preview', u'webclient/data/includes/right_plugin.preview.js.html', u'preview_tab']]</pre></td> </tr> <tr> <td>DEFAULT_SERVER_TYPE</td> <td class="code"><pre>'fastcgi-tcp'</pre></td> </tr> <tr> <td>LANGUAGES_BIDI</td> <td class="code"><pre>('he', 'ar', 'fa')</pre></td> </tr> <tr> <td>DEFAULT_INDEX_TABLESPACE</td> <td class="code"><pre>''</pre></td> </tr> <tr> <td>INTERNAL_IPS</td> <td class="code"><pre>()</pre></td> </tr> <tr> <td>STATIC_URL</td> <td class="code"><pre>'/static/'</pre></td> </tr> <tr> <td>EMAIL_PORT</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>SHORT_DATETIME_FORMAT</td> <td class="code"><pre>'m/d/Y P'</pre></td> </tr> <tr> <td>DEVELOPMENT</td> <td class="code"><pre>'development'</pre></td> </tr> <tr> <td>ABSOLUTE_URL_OVERRIDES</td> <td class="code"><pre>{}</pre></td> </tr> <tr> <td>DATABASE_OPTIONS</td> <td class="code"><pre>{}</pre></td> </tr> <tr> <td>PUBLIC_SERVER_ID</td> <td class="code"><pre>1</pre></td> </tr> <tr> <td>CACHE_MIDDLEWARE_SECONDS</td> <td class="code"><pre>600</pre></td> </tr> <tr> <td>BANNED_IPS</td> <td class="code"><pre>()</pre></td> </tr> <tr> <td>DATETIME_INPUT_FORMATS</td> <td class="code"><pre>('%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M', '%m/%d/%y')</pre></td> </tr> <tr> <td>DATABASE_PASSWORD</td> <td class="code"><pre>'********************'</pre></td> </tr> <tr> <td>COMMENTS_MODERATORS_GROUP</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>PROFANITIES_LIST</td> <td class="code"><pre>'********************'</pre></td> </tr> <tr> <td>EMAIL_HOST_USER</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>COMMENTS_BANNED_USERS_GROUP</td> <td class="code"><pre>None</pre></td> </tr> </tbody> </table> </div> <div id="explanation"> <p> You're seeing this error because you have <code>DEBUG = True</code> in your Django settings file. Change that to <code>False</code>, and Django will display a standard 500 page. </p> </div> </body> </html>
Note: See
TracTickets for help on using
tickets.
You may also have a look at Agilo extensions to the ticket.