KeyError ['tools'] on importing workflow from locally installed repository
Hey y'all, I am testing how to best share a workflow through a tool shed. I stumbled across a possible bug and am hoping that this is simply a configuration issue. Steps to reproduce: 1. In local galaxy instance goto . . admin > search and browse tool sheds 2. locate select "Galaxy test tool shed" 3. search for "obo" 4. preview and install repository "obo_test_workflows" 5. in next screen click "install to Galaxy" 6. in next screen click "install" 7. in next screen click "obo_test_workflows" 8. in next screen, under workflows, click "TestOboWorkflow1" 9. in svg graphics page > repository actions > import workflow to galaxy Expected results: Workflow is installed and made available in workflow section in local Galaxy instance. Actual results: URL: http://galaxy:7474/admin_toolshed/import_workflow?repository_id=2d9035b3fc152403&workflow_name=0c2d739e4f60c1bed9e8e46f2f317141702ceb26%3A546573744f626f576f726b666c6f7731 File '/home/ubuntu/galaxy-dist/eggs/WebError-0.8a-py2.7.egg/weberror/evalexception/middleware.py', line 364 in respond app_iter = self.application(environ, detect_start_response) File '/home/ubuntu/galaxy-dist/eggs/Paste-1.6-py2.7.egg/paste/debug/prints.py', line 98 in __call__ environ, self.app) File '/home/ubuntu/galaxy-dist/eggs/Paste-1.6-py2.7.egg/paste/wsgilib.py', line 539 in intercept_output app_iter = application(environ, replacement_start_response) File '/home/ubuntu/galaxy-dist/eggs/Paste-1.6-py2.7.egg/paste/recursive.py', line 80 in __call__ return self.application(environ, start_response) File '/home/ubuntu/galaxy-dist/eggs/Paste-1.6-py2.7.egg/paste/httpexceptions.py', line 632 in __call__ return self.application(environ, start_response) File '/home/ubuntu/galaxy-dist/lib/galaxy/web/framework/base.py', line 132 in __call__ return self.handle_request( environ, start_response ) File '/home/ubuntu/galaxy-dist/lib/galaxy/web/framework/base.py', line 185 in handle_request body = method( trans, **kwargs ) File '/home/ubuntu/galaxy-dist/lib/galaxy/web/framework/__init__.py', line 216 in decorator return func( self, trans, *args, **kwargs ) File '/home/ubuntu/galaxy-dist/lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py', line 744 in import_workflow tools_metadata = metadata[ 'tools' ] KeyError: 'tools' Thanks in advance for suggestions on how to solve / work around this issue. -jorrit PS Note that the workflow can be installed using a url pointing to the workflow from a hg repository on bitbucket (ie. https://bitbucket.org/jhpoelen/obo_workflows/raw/25d386a50562d02e03fa821d96a...).
Jorrit, Thank you for uncovering that issue, I've commited a fix in the stable branch of galaxy-central at 8887:d5896e8a60fa. To apply that changeset, you'll need to run the following commands from your Galaxy directory: $ hg pull -b stable https://bitbucket.org/galaxy/galaxy-central/ $ hg update stable --Dave B. On 2/18/13 21:57:18.000, jorrit poelen wrote:
Hey y'all,
I am testing how to best share a workflow through a tool shed. I stumbled across a possible bug and am hoping that this is simply a configuration issue.
Steps to reproduce:
1. In local galaxy instance goto . . admin > search and browse tool sheds 2. locate select "Galaxy test tool shed" 3. search for "obo" 4. preview and install repository "obo_test_workflows" 5. in next screen click "install to Galaxy" 6. in next screen click "install" 7. in next screen click "obo_test_workflows" 8. in next screen, under workflows, click "TestOboWorkflow1" 9. in svg graphics page > repository actions > import workflow to galaxy
Expected results: Workflow is installed and made available in workflow section in local Galaxy instance.
Actual results: URL: http://galaxy:7474/admin_toolshed/import_workflow?repository_id=2d9035b3fc152403&workflow_name=0c2d739e4f60c1bed9e8e46f2f317141702ceb26%3A546573744f626f576f726b666c6f7731 File '/home/ubuntu/galaxy-dist/eggs/WebError-0.8a-py2.7.egg/weberror/evalexception/middleware.py', line 364 in respond app_iter = self.application(environ, detect_start_response) File '/home/ubuntu/galaxy-dist/eggs/Paste-1.6-py2.7.egg/paste/debug/prints.py', line 98 in __call__ environ, self.app) File '/home/ubuntu/galaxy-dist/eggs/Paste-1.6-py2.7.egg/paste/wsgilib.py', line 539 in intercept_output app_iter = application(environ, replacement_start_response) File '/home/ubuntu/galaxy-dist/eggs/Paste-1.6-py2.7.egg/paste/recursive.py', line 80 in __call__ return self.application(environ, start_response) File '/home/ubuntu/galaxy-dist/eggs/Paste-1.6-py2.7.egg/paste/httpexceptions.py', line 632 in __call__ return self.application(environ, start_response) File '/home/ubuntu/galaxy-dist/lib/galaxy/web/framework/base.py', line 132 in __call__ return self.handle_request( environ, start_response ) File '/home/ubuntu/galaxy-dist/lib/galaxy/web/framework/base.py', line 185 in handle_request body = method( trans, **kwargs ) File '/home/ubuntu/galaxy-dist/lib/galaxy/web/framework/__init__.py', line 216 in decorator return func( self, trans, *args, **kwargs ) File '/home/ubuntu/galaxy-dist/lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py', line 744 in import_workflow tools_metadata = metadata[ 'tools' ] KeyError: 'tools'
Thanks in advance for suggestions on how to solve / work around this issue.
-jorrit
PS Note that the workflow can be installed using a url pointing to the workflow from a hg repository on bitbucket (ie. https://bitbucket.org/jhpoelen/obo_workflows/raw/25d386a50562d02e03fa821d96a...). ___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at:
participants (2)
-
Dave Bouvier
-
jorrit poelen