Skip to content
This repository has been archived by the owner on Dec 7, 2022. It is now read-only.

API Notes

Adam Verner edited this page Dec 7, 2022 · 1 revision

Notes from discovering the API, nothing too interesting...

from collections import defaultdict
from typing import List

import canvasapi.folder
from canvasapi import Canvas

if __name__ != '__main__':
    exit()

API_URL = 'https://hvl.instructure.com'
API_KEY = "10747~6XlqxF14JcUD3iUbBN2cC9Yz9NJgnHYrMlr2532I7Na2xaukuvAUUgBfztbEEo8v"

canvas = Canvas(API_URL, API_KEY)
user = canvas.get_user('self')

print(*user.get_folder('/'))

fs_map = {folder.full_name: folder for folder in user.get_folders()}
fs_map.update({folder.full_name: file for file in user.get_()})

canvasapi.folder.Folder.get_files()

folders: List[canvasapi.folder.Folder]
folders = user.get_folders()

# children mapping
folder_map = defaultdict(lambda: {'children': []})
name_map = dict()

# find the root folder
root_folder = next(filter(lambda f: f.parent_folder_id is None, folders))
print('root_folder = ', root_folder.name)

for folder in folders:
    folder_map[folder.parent_folder_id]['children'].append(folder.id)
    name_map[folder.name] = folder.id

print(folder_map)
print(name_map)
Clone this wiki locally