Skip to content

Commit

Permalink
Move dictionary generator from registry to plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
guerler committed Feb 11, 2018
1 parent b6db962 commit 1829c4a
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 17 deletions.
12 changes: 12 additions & 0 deletions lib/galaxy/visualization/plugins/plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,18 @@ def render_saved(self, visualization, trans=None, embedded=None, **kwargs):
))
return self._render(render_vars, trans=trans, embedded=embedded)

def to_dict(self):
return {
'name' : self.name,
'html' : self.config.get('name'),
'description' : self.config.get('description'),
'regular' : self.config.get('regular'),
'logo' : self.config.get('logo'),
'title' : self.config.get('title'),
'target' : self.config.get('render_target', 'galaxy_main'),
'embeddable' : self.config.get('embeddable', False)
}

def _get_saved_visualization_config(self, visualization, revision=None, **kwargs):
"""
Return the config of a saved visualization and revision.
Expand Down
14 changes: 3 additions & 11 deletions lib/galaxy/visualization/plugins/registry.py
Original file line number Diff line number Diff line change
Expand Up @@ -261,17 +261,9 @@ def get_visualization(self, trans, visualization_name, target_object):

# remap some of these vars for direct use in ui.js, PopupMenu (e.g. text->html)
param_data = data_source['to_params']
return {
'name' : visualization.name,
'href' : self.get_visualization_url(trans, target_object, visualization, param_data),
'html' : visualization.config.get('name'),
'description' : visualization.config.get('description'),
'regular' : visualization.config.get('regular'),
'logo' : visualization.config.get('logo'),
'title' : visualization.config.get('title'),
'target' : visualization.config.get('render_target', 'galaxy_main'),
'embeddable' : visualization.config.get('embeddable', False)
}
response = visualization.to_dict()
response['href'] = self.get_visualization_url(trans, target_object, visualization, param_data),

return None

def is_object_applicable(self, trans, target_object, data_source_tests):
Expand Down
10 changes: 4 additions & 6 deletions lib/galaxy/webapps/galaxy/api/visualizations.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,25 +63,23 @@ def show(self, trans, id, **kwargs):
"""
# TODO: revisions should be a contents/nested controller like viz/xxx/r/xxx)?
# the important thing is the config
rval = {}
# TODO:?? /api/visualizations/registry -> json of registry.listings?

visualization = self.get_visualization(trans, id, check_ownership=False, check_accessible=True)
dictionary = trans.security.encode_dict_ids(self.get_visualization_dict(visualization))
dictionary['url'] = web.url_for(controller='visualization',
action="display_by_username_and_slug", username=visualization.user.username, slug=visualization.slug)
dictionary['annotation'] = self.get_item_annotation_str(trans.sa_session, trans.user, visualization)

# need to encode ids in revisions as well
encoded_revisions = []
for revision in dictionary['revisions']:
# NOTE: does not encode ids inside the configs
encoded_revisions.append(trans.security.encode_id(revision))
dictionary['revisions'] = encoded_revisions
dictionary['latest_revision'] = trans.security.encode_dict_ids(dictionary['latest_revision'])

rval = dictionary
return rval
if trans.app.visualizations_registry:
visualization = trans.app.visualizations_registry.get_plugin(dictionary['type'])
dictionary['plugin'] = visualization.to_dict()
return dictionary

@expose_api
def create(self, trans, payload, **kwargs):
Expand Down

0 comments on commit 1829c4a

Please sign in to comment.