Hi Damion,

Possibly a dumb question, but I thought I'd ask: if i understand your
example, you're basically end-running galaxy due to the fact that for
dynamic options you can execute code.  When this is called, galaxy passes
in an object that lets you access the current history ID.

In other contexts, I have seen code within <configfile> or similar blocks
that seems to essentially be calling native python code as well.  Can a
similar approach be used to accomplish what you're doing more directly?
For example, the other day John Chilton posted this example for the API key:

#from galaxy.managers import api_keys#
${api_keys.ApiKeyManager( $__app__ ).get_or_create_api_key( $__user__ )}

If I'm already using non-public APIs to get the current history ID, can it
be done more directly using something analogous to the above?

Thanks,
Ben


On Tue, May 5, 2015 at 10:33 AM, Dooley, Damion <damion.doo...@bccdc.ca>
wrote:

> About
>    1. find UUID of current history in tool XML wrapper? (Ben Bimber)
>    2. Re: find UUID of current history in tool XML wrapper?
>       (John Chilton)
>
> I think this will work for you, I've simplified the code.  I was able to
> do this somewhat circuitously (=bonfire of time) for my upcoming Versioned
> Data tool.  In your tool XML definition file:
>
>         <param name="history_id" display="radio" type="drill_down"
> dynamic_options="vdb_init_tool_user(__trans__)" />
>         ...
>         <code file="versioned_data_form.py" />
>
> Not sure if making history_id a hidden field would work (I seemed to
> recall __trans__ variable only exposed to select param).
>
> And in a script named versioned_data_form.py we have:
>
> def vdb_init_tool_user(trans):
>         """
>         ...
>         ALSO: squeezing history_id in this way since no other way to pass
> it.
>         "trans" is provided only by tool form presentation via <code
> file="...">
>         ...
>         """
>         history_id = str(trans.security.encode_id(trans.history.id))
>
>         items = [ { 'name': 'think of something to say here', 'value':
> history_id, 'options':[], 'selected': True } ]
>
>         return items
> ___________________________________________________________
> 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:
>   https://lists.galaxyproject.org/
>
> To search Galaxy mailing lists use the unified search at:
>   http://galaxyproject.org/search/mailinglists/
>
___________________________________________________________
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:
  https://lists.galaxyproject.org/

To search Galaxy mailing lists use the unified search at:
  http://galaxyproject.org/search/mailinglists/

Reply via email to