def build_canvas_file_tree(base, folder: Folder) -> FileTree[File]: folders = list( map( lambda subfolder: build_canvas_file_tree( join(base, subfolder.name), subfolder), folder.get_folders())) files = list(folder.get_files()) return FileTree(base, folders, files)
def get_folder(self, folder_id): """ Return the details for a folder :calls: `GET /api/v1/folders/:id \ <https://canvas.instructure.com/doc/api/files.html#method.folders.show>`_ :param folder_id: The ID of the folder to retrieve. :type folder_id: int :rtype: :class:`canvasapi.folder.Folder` """ response = self.__requester.request('GET', 'folders/%s' % (folder_id)) return Folder(self.__requester, response.json())
def create_folder(self, name, **kwargs): """ Creates a folder in this group. :calls: `POST /api/v1/groups/:group_id/folders \ <https://canvas.instructure.com/doc/api/files.html#method.folders.create>`_ :param name: The name of the folder. :type name: str :rtype: :class:`canvasapi.folder.Folder` """ response = self._requester.request('POST', 'groups/{}/folders'.format(self.id), name=name, _kwargs=combine_kwargs(**kwargs)) return Folder(self._requester, response.json())
def get_folder(self, folder): """ Return the details for a folder :calls: `GET /api/v1/folders/:id \ <https://canvas.instructure.com/doc/api/files.html#method.folders.show>`_ :param folder: The object or ID of the folder to retrieve. :type folder: :class:`canvasapi.folder.Folder` or int :rtype: :class:`canvasapi.folder.Folder` """ folder_id = obj_or_id(folder, "folder", (Folder,)) response = self.__requester.request("GET", "folders/{}".format(folder_id)) return Folder(self.__requester, response.json())
def get_folder(self, folder, **kwargs): """ Returns the details for a user's folder :calls: `GET /api/v1/users/:user_id/folders/:id \ <https://canvas.instructure.com/doc/api/files.html#method.folders.show>`_ :param folder: The object or ID of the folder to retrieve. :type folder: :class:`canvasapi.folder.Folder` or int :rtype: :class:`canvasapi.folder.Folder` """ from canvasapi.folder import Folder folder_id = obj_or_id(folder, "folder", (Folder,)) response = self._requester.request( "GET", "users/{}/folders/{}".format(self.id, folder_id), _kwargs=combine_kwargs(**kwargs), ) return Folder(self._requester, response.json())