web Package

web Package

The Galaxy web application framework

buildapp Module

form_builder Module

Classes for generating HTML forms

class galaxy.web.form_builder.AddressField(name, user=None, value=None, params=None)[source]

Bases: galaxy.web.form_builder.BaseField

static fields()[source]
get_html(disabled=False)[source]
class galaxy.web.form_builder.BaseField[source]

Bases: object

get_disabled_str(disabled=False)[source]
get_html(prefix='')[source]

Returns the html widget corresponding to the parameter

class galaxy.web.form_builder.CheckboxField(name, checked=None, refresh_on_change=False, refresh_on_change_values=None)[source]

Bases: galaxy.web.form_builder.BaseField

A checkbox (boolean input)

>>> print CheckboxField( "foo" ).get_html()
<input type="checkbox" id="foo" name="foo" value="true"><input type="hidden" name="foo" value="true">
>>> print CheckboxField( "bar", checked="yes" ).get_html()
<input type="checkbox" id="bar" name="bar" value="true" checked="checked"><input type="hidden" name="bar" value="true">
get_html(prefix='', disabled=False)[source]
static is_checked(value)[source]
set_checked(value)[source]
class galaxy.web.form_builder.DrillDownField(name, multiple=None, display=None, refresh_on_change=False, options=[], value=[], refresh_on_change_values=[])[source]

Bases: galaxy.web.form_builder.BaseField

A hierarchical select field, which allows users to ‘drill down’ a tree-like set of options.

>>> t = DrillDownField( "foo", multiple=True, display="checkbox", options=[{'name': 'Heading 1', 'value': 'heading1', 'options': [{'name': 'Option 1', 'value': 'option1', 'options': []}, {'name': 'Option 2', 'value': 'option2', 'options': []}, {'name': 'Heading 1', 'value': 'heading1', 'options': [{'name': 'Option 3', 'value': 'option3', 'options': []}, {'name': 'Option 4', 'value': 'option4', 'options': []}]}]}, {'name': 'Option 5', 'value': 'option5', 'options': []}] )
>>> print t.get_html()
<div class="form-row drilldown-container" id="drilldown--666f6f">
<div class="form-row-input">
<div><span class="form-toggle icon-button toggle-expand" id="drilldown--666f6f-68656164696e6731-click"></span>
<input type="checkbox" name="foo" value="heading1" >Heading 1
</div><div class="form-row" id="drilldown--666f6f-68656164696e6731-container" style="float: left; margin-left: 1em;">
<div class="form-row-input">
<input type="checkbox" name="foo" value="option1" >Option 1
</div>
<div class="form-row-input">
<input type="checkbox" name="foo" value="option2" >Option 2
</div>
<div class="form-row-input">
<div><span class="form-toggle icon-button toggle-expand" id="drilldown--666f6f-68656164696e6731-68656164696e6731-click"></span>
<input type="checkbox" name="foo" value="heading1" >Heading 1
</div><div class="form-row" id="drilldown--666f6f-68656164696e6731-68656164696e6731-container" style="float: left; margin-left: 1em;">
<div class="form-row-input">
<input type="checkbox" name="foo" value="option3" >Option 3
</div>
<div class="form-row-input">
<input type="checkbox" name="foo" value="option4" >Option 4
</div>
</div>
</div>
</div>
</div>
<div class="form-row-input">
<input type="checkbox" name="foo" value="option5" >Option 5
</div>
</div>
>>> t = DrillDownField( "foo", multiple=False, display="radio", options=[{'name': 'Heading 1', 'value': 'heading1', 'options': [{'name': 'Option 1', 'value': 'option1', 'options': []}, {'name': 'Option 2', 'value': 'option2', 'options': []}, {'name': 'Heading 1', 'value': 'heading1', 'options': [{'name': 'Option 3', 'value': 'option3', 'options': []}, {'name': 'Option 4', 'value': 'option4', 'options': []}]}]}, {'name': 'Option 5', 'value': 'option5', 'options': []}] )
>>> print t.get_html()
<div class="form-row drilldown-container" id="drilldown--666f6f">
<div class="form-row-input">
<div><span class="form-toggle icon-button toggle-expand" id="drilldown--666f6f-68656164696e6731-click"></span>
<input type="radio" name="foo" value="heading1" >Heading 1
</div><div class="form-row" id="drilldown--666f6f-68656164696e6731-container" style="float: left; margin-left: 1em;">
<div class="form-row-input">
<input type="radio" name="foo" value="option1" >Option 1
</div>
<div class="form-row-input">
<input type="radio" name="foo" value="option2" >Option 2
</div>
<div class="form-row-input">
<div><span class="form-toggle icon-button toggle-expand" id="drilldown--666f6f-68656164696e6731-68656164696e6731-click"></span>
<input type="radio" name="foo" value="heading1" >Heading 1
</div><div class="form-row" id="drilldown--666f6f-68656164696e6731-68656164696e6731-container" style="float: left; margin-left: 1em;">
<div class="form-row-input">
<input type="radio" name="foo" value="option3" >Option 3
</div>
<div class="form-row-input">
<input type="radio" name="foo" value="option4" >Option 4
</div>
</div>
</div>
</div>
</div>
<div class="form-row-input">
<input type="radio" name="foo" value="option5" >Option 5
</div>
</div>
get_html(prefix='')[source]
class galaxy.web.form_builder.FTPFileField(name, dir, ftp_site, value=None)[source]

Bases: galaxy.web.form_builder.BaseField

An FTP file upload input.

get_html(prefix='')[source]
tfoot = '\n </tbody>\n </table>\n '
thead = '\n <table id="grid-table" class="grid">\n <thead id="grid-table-header">\n <tr>\n <th id="select-header"></th>\n <th id="name-header">\n File\n </th>\n <th id="size-header">\n Size\n </th>\n <th id="date-header">\n Date\n </th>\n </tr>\n </thead>\n <tbody id="grid-table-body">\n '
trow = '\n <tr>\n <td><input type="checkbox" name="%s%s" value="%s"/></td>\n <td>%s</td>\n <td>%s</td>\n <td>%s</td>\n </tr>\n '
class galaxy.web.form_builder.FileField(name, value=None, ajax=False)[source]

Bases: galaxy.web.form_builder.BaseField

A file upload input.

>>> print FileField( "foo" ).get_html()
<input type="file" name="foo">
>>> print FileField( "foo", ajax = True ).get_html()
<input type="file" name="foo" galaxy-ajax-upload="true">
get_html(prefix='')[source]
class galaxy.web.form_builder.HiddenField(name, value=None)[source]

Bases: galaxy.web.form_builder.BaseField

A hidden field.

>>> print HiddenField( "foo", 100 ).get_html()
<input type="hidden" name="foo" value="100">
get_html(prefix='')[source]
class galaxy.web.form_builder.HistoryField(name, user=None, value=None, params=None)[source]

Bases: galaxy.web.form_builder.BaseField

get_display_text()[source]
get_html(disabled=False)[source]
class galaxy.web.form_builder.LibraryField(name, value=None, trans=None)[source]

Bases: galaxy.web.form_builder.BaseField

get_display_text()[source]
get_html(prefix='', disabled=False)[source]
class galaxy.web.form_builder.PasswordField(name, size=None, value=None)[source]

Bases: galaxy.web.form_builder.BaseField

A password input box. text appears as “**

>>> print PasswordField( "foo" ).get_html()
<input type="password" name="foo" size="10" value="">
>>> print PasswordField( "bins", size=4, value="default" ).get_html()
<input type="password" name="bins" size="4" value="default">
get_html(prefix='', disabled=False)[source]
set_size(size)[source]
class galaxy.web.form_builder.SelectField(name, multiple=None, display=None, refresh_on_change=False, refresh_on_change_values=None, size=None)[source]

Bases: galaxy.web.form_builder.BaseField

A select field.

>>> t = SelectField( "foo", multiple=True )
>>> t.add_option( "tuti", 1 )
>>> t.add_option( "fruity", "x" )
>>> print t.get_html()
<select name="foo" multiple>
<option value="1">tuti</option>
<option value="x">fruity</option>
</select>
>>> t = SelectField( "bar" )
>>> t.add_option( "automatic", 3 )
>>> t.add_option( "bazooty", 4, selected=True )
>>> print t.get_html()
<select name="bar" last_selected_value="4">
<option value="3">automatic</option>
<option value="4" selected>bazooty</option>
</select>
>>> t = SelectField( "foo", display="radio" )
>>> t.add_option( "tuti", 1 )
>>> t.add_option( "fruity", "x" )
>>> print t.get_html()
<div><input type="radio" name="foo" value="1" id="foo|1"><label class="inline" for="foo|1">tuti</label></div>
<div><input type="radio" name="foo" value="x" id="foo|x"><label class="inline" for="foo|x">fruity</label></div>
>>> t = SelectField( "bar", multiple=True, display="checkboxes" )
>>> t.add_option( "automatic", 3 )
>>> t.add_option( "bazooty", 4, selected=True )
>>> print t.get_html()
<div class="checkUncheckAllPlaceholder" checkbox_name="bar"></div>
<div><input type="checkbox" name="bar" value="3" id="bar|3"><label class="inline" for="bar|3">automatic</label></div>
<div><input type="checkbox" name="bar" value="4" id="bar|4" checked='checked'><label class="inline" for="bar|4">bazooty</label></div>
add_option(text, value, selected=False)[source]
get_html(prefix='', disabled=False)[source]
get_html_checkboxes(prefix='', disabled=False)[source]
get_html_default(prefix='', disabled=False)[source]
get_html_radio(prefix='', disabled=False)[source]
get_selected(return_label=False, return_value=False, multi=False)[source]

Return the currently selected option’s label, value or both as a tuple. For multi-select lists, a list is returned.

to_dict()[source]
class galaxy.web.form_builder.SwitchingSelectField(delegate_fields, default_field=None)[source]

Bases: galaxy.web.form_builder.BaseField

get_html(prefix='', disabled=False)[source]
primary_field
class galaxy.web.form_builder.TextArea(name, size=None, value=None)[source]

Bases: galaxy.web.form_builder.BaseField

A standard text area box.

>>> print TextArea( "foo" ).get_html()
<textarea name="foo" rows="5" cols="25"></textarea>
>>> print TextArea( "bins", size="4x5", value="default" ).get_html()
<textarea name="bins" rows="4" cols="5">default</textarea>
get_html(prefix='', disabled=False)[source]
set_size(rows, cols)[source]
class galaxy.web.form_builder.TextField(name, size=None, value=None)[source]

Bases: galaxy.web.form_builder.BaseField

A standard text input box.

>>> print TextField( "foo" ).get_html()
<input type="text" name="foo" size="10" value="">
>>> print TextField( "bins", size=4, value="default" ).get_html()
<input type="text" name="bins" size="4" value="default">
get_html(prefix='', disabled=False)[source]
set_size(size)[source]
class galaxy.web.form_builder.WorkflowField(name, user=None, value=None, params=None)[source]

Bases: galaxy.web.form_builder.BaseField

get_html(disabled=False)[source]
class galaxy.web.form_builder.WorkflowMappingField(name, user=None, value=None, params=None, **kwd)[source]

Bases: galaxy.web.form_builder.BaseField

get_display_text()[source]
get_html(disabled=False)[source]
galaxy.web.form_builder.build_select_field(trans, objs, label_attr, select_field_name, initial_value='none', selected_value='none', refresh_on_change=False, multiple=False, display=None, size=None)[source]

Build a SelectField given a set of objects. The received params are:

  • objs: the set of objects used to populate the option list

  • label_attr: the attribute of each obj (e.g., name, email, etc ) whose value is used to populate each option label.

    • If the string ‘self’ is passed as label_attr, each obj in objs is assumed to be a string, so the obj itself is used
  • select_field_name: the name of the SelectField

  • initial_value: the value of the first option in the SelectField - allows for an option telling the user to select something

  • selected_value: the value of the currently selected option

  • refresh_on_change: True if the SelectField should perform a refresh_on_change

galaxy.web.form_builder.get_suite()[source]

Get unittest suite for this module

params Module

Mixins for parsing web form and API parameters

class galaxy.web.params.BaseParamParser[source]

Bases: object

get_params(kwargs)[source]
class galaxy.web.params.QuotaParamParser[source]

Bases: galaxy.web.params.BaseParamParser

get_quota_params(kwargs)[source]