Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
    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())
Ejemplo n.º 3
0
    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())
Ejemplo n.º 4
0
    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())
Ejemplo n.º 5
0
    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())