bioblend.galaxy.users — BioBlend 0.2.3-dev documentation

### Navigation

- index
- modules |
- BioBlend 0.2.3-dev documentation »
- Module code »
- bioblend »
- bioblend.galaxy »

# Source code for bioblend.galaxy.users

    """
    Contains possible interaction dealing with Galaxy users.

    These methods must be executed by a registered Galaxy admin user.
    """
    from bioblend.galaxy.client import Client

    class UserClient(Client):
        def __init__(self, galaxy_instance):
            self.module = 'users'
            super(UserClient, self).__init__(galaxy_instance)

        def get_users(self, deleted=False):
            """
            Get a list of all registered users. If ``deleted`` is set to ``True``,
            get a list of deleted users.

            :rtype: list
            :return: A list of dicts with user details.
                     For example::

                       [{u'email': u'a_user@example.com',
                         u'id': u'dda47097d9189f15',
                         u'url': u'/api/users/dda47097d9189f15'}]

            """
            return Client._get(self, deleted=deleted)

        def show_user(self, user_id, deleted=False):
            """
            Display information about a user. If ``deleted`` is set to ``True``,
            display information about a deleted user.
            """
            return Client._get(self, id=user_id, deleted=deleted)

        def create_user(self, user_email):
            """
            Create a new Galaxy user.

            .. note::
                For this method to work, the Galaxy instance must have
                ``allow_user_creation`` and ``use_remote_user`` options set to ``True``
                in the ``universe_wsgi.ini`` configuration file. Also note that setting
                ``use_remote_user`` will require an upstream authentication proxy
                server; however, if you do not have one, access to Galaxy via a browser
                will not be possible.
            """
            payload = {}
            payload['remote_user_email'] = user_email
            return Client._post(self, payload)

        def get_current_user(self):
            """
            Returns the user id associated with this Galaxy connection
            """
            url = self.gi._make_url(self, None)
            url = '/'.join([url, 'current'])
            return Client._get(self, url=url)

### Navigation

- index
- modules |
- BioBlend 0.2.3-dev documentation »
- Module code »
- bioblend »
- bioblend.galaxy »