diff env/lib/python3.9/site-packages/bioblend/galaxy/roles/__init__.py @ 0:4f3585e2f14b draft default tip

"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author shellac
date Mon, 22 Mar 2021 18:12:50 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/env/lib/python3.9/site-packages/bioblend/galaxy/roles/__init__.py	Mon Mar 22 18:12:50 2021 +0000
@@ -0,0 +1,96 @@
+"""
+Contains possible interactions with the Galaxy Roles
+"""
+from bioblend.galaxy.client import Client
+
+
+class RolesClient(Client):
+
+    def __init__(self, galaxy_instance):
+        self.module = 'roles'
+        super().__init__(galaxy_instance)
+
+    def get_roles(self):
+        """
+        Displays a collection (list) of roles.
+
+        :rtype: list
+        :return: A list of dicts with details on individual roles.
+          For example::
+
+            [{"id": "f2db41e1fa331b3e",
+              "model_class": "Role",
+              "name": "Foo",
+              "url": "/api/roles/f2db41e1fa331b3e"},
+             {"id": "f597429621d6eb2b",
+              "model_class": "Role",
+              "name": "Bar",
+              "url": "/api/roles/f597429621d6eb2b"}]
+        """
+        return self._get()
+
+    def show_role(self, role_id):
+        """
+        Display information on a single role
+
+        :type role_id: str
+        :param role_id: Encoded role ID
+
+        :rtype: dict
+        :return: Details of the given role.
+          For example::
+
+            {"description": "Private Role for Foo",
+             "id": "f2db41e1fa331b3e",
+             "model_class": "Role",
+             "name": "Foo",
+             "type": "private",
+             "url": "/api/roles/f2db41e1fa331b3e"}
+        """
+        return self._get(id=role_id)
+
+    def create_role(self, role_name, description, user_ids=None, group_ids=None):
+        """
+        Create a new role.
+
+        :type role_name: str
+        :param role_name: A name for the new role
+
+        :type description: str
+        :param description: Description for the new role
+
+        :type user_ids: list
+        :param user_ids: A list of encoded user IDs to add to the new role
+
+        :type group_ids: list
+        :param group_ids: A list of encoded group IDs to add to the new role
+
+        :rtype: dict
+        :return: Details of the newly created role.
+          For example::
+
+            {'description': 'desc',
+             'url': '/api/roles/ebfb8f50c6abde6d',
+             'model_class': 'Role',
+             'type': 'admin',
+             'id': 'ebfb8f50c6abde6d',
+             'name': 'Foo'}
+
+        .. versionchanged:: 0.15.0
+            Changed the return value from a 1-element list to a dict.
+        """
+        if user_ids is None:
+            user_ids = []
+        if group_ids is None:
+            group_ids = []
+        payload = {
+            'name': role_name,
+            'description': description,
+            'user_ids': user_ids,
+            'group_ids': group_ids
+        }
+        ret = self._post(payload)
+        if isinstance(ret, list):
+            # Galaxy release_20.09 and earlier returned a 1-element list
+            ret = ret[0]
+        return ret