From 3df21ef899aafd2461570687ef3b9b1c9f9a555e Mon Sep 17 00:00:00 2001 From: kaa Date: Sun, 19 Nov 2023 11:32:23 -0800 Subject: Dump Canvas account directory structure. Start of directory parsing. --- dump.sh | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) (limited to 'dump.sh') diff --git a/dump.sh b/dump.sh index 21ae5da..18ed1f4 100755 --- a/dump.sh +++ b/dump.sh @@ -1,4 +1,40 @@ #!/bin/sh -curl -s -X GET "https://sdccd.instructure.com/api/v1/users/self/files" -H "Authorization: Bearer $CANKEY" | tr '}' '\n' | sed -e 's/{//g' -e's/\[//g' -e 's/\]//g' -e 's/^,//g' > dump +cd dump +base=https://sdccd.instructure.com/api/v1/ +get() +{ + url=$base$1 + curl -s -X GET "$url" -H "Authorization: Bearer $CANKEY" | tr '}' '\n' | sed -e 's/{//g' -e's/\[//g' -e 's/\]//g' -e 's/^,//g' +} +get users/self/folders > folders +get users/self/files > files +fi + +get_id() +{ + < folders sed -e 's/,.*//g' -e 's/.*://g' +} + +# Recursively resolve directories and files. +# Empty response: [] +get_dir() +{ + id=$1 + echo $id + mkdir $id + cd $id + get folders/$id/files > files + get folders/$id/folders > folders + for i in $(get_id) + do + get_dir $i + done + cd .. +} + +for i in $(get_id) +do + get_dir $i +done -- cgit v1.2.3