bioblend.galaxy.forms — BioBlend 0.5.4-dev documentation

# Source code for bioblend.galaxy.forms

    """
    Contains possible interactions with the Galaxy Forms
    """
    from bioblend.galaxy.client import Client

    class FormsClient(Client):

        def __init__(self, galaxy_instance):
            self.module = 'forms'
            super(FormsClient, self).__init__(galaxy_instance)

        def get_forms(self):
            """
            Get a list of forms

            :rtype:     list
            :returns:   Displays a collection (list) of forms.
                     For example::

                       [   {   u'id': u'f2db41e1fa331b3e',
                       u'model_class': u'FormDefinition',
                       u'name': u'First form',
                       u'url': u'/api/forms/f2db41e1fa331b3e'},
                       {   u'id': u'ebfb8f50c6abde6d',
                       u'model_class': u'FormDefinition',
                       u'name': u'second form',
                       u'url': u'/api/forms/ebfb8f50c6abde6d'}]

            """
            return Client._get(self)

        def show_form(self, form_id):
            """
            Display information on a single form

            :type form_id: str
            :param form_id: Encoded form ID

            :rtype: dict
            :return: A description of single form
                     For example::

                       {   u'desc': u'here it is ',
                       u'fields': [],
                       u'form_definition_current_id': u'f2db41e1fa331b3e',
                       u'id': u'f2db41e1fa331b3e',
                       u'layout': [],
                       u'model_class': u'FormDefinition',
                       u'name': u'First form',
                       u'url': u'/api/forms/f2db41e1fa331b3e'}

            """

            return Client._get(self, id=form_id)

        def create_form(self, form_xml_text):
            """
            Create a new form

            :type   form_xml_text: str
            :param  form_xml_text: Form xml to create a form on galaxy instance

            :rtype:     str
            :returns:   Unique url of newly created form with encoded id

            """

            payload = form_xml_text

            return Client._post(self, payload=payload)