All Projects → skyzh → Canvas_grab

skyzh / Canvas_grab

Licence: mit
🌐 One-click script to synchronize files from Canvas LMS.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Canvas grab

Image Screenshot
download an image node along with its css properties
Stars: ✭ 40 (-66.1%)
Mutual labels:  download, canvas
Yunban
fullstack movie & music proj(rebuilding)
Stars: ✭ 116 (-1.69%)
Mutual labels:  canvas
The Matrix Effect
The incredible effect of rain of letters in the style of the Matrix trilogy.
Stars: ✭ 109 (-7.63%)
Mutual labels:  canvas
Vue Graph
⚡️ Vue components based on the JUI chart available in Vue.js
Stars: ✭ 114 (-3.39%)
Mutual labels:  canvas
Schart.js
📊 Small & simple HTML5 charts
Stars: ✭ 110 (-6.78%)
Mutual labels:  canvas
Canvas
Peer-to-peer canvas app for Urbit
Stars: ✭ 114 (-3.39%)
Mutual labels:  canvas
Action Download Artifact
⚙️ A GitHub Action to download an artifact associated with given workflow and commit or other criteria
Stars: ✭ 107 (-9.32%)
Mutual labels:  download
Canvas Webgl Study
this is a canvas study project
Stars: ✭ 117 (-0.85%)
Mutual labels:  canvas
Dl coursera
A simple, fast, and reliable Coursera crawling & downloading tool
Stars: ✭ 115 (-2.54%)
Mutual labels:  download
Filimo Downloader
Download movies from filimo.com | لینک جایگزین جهت احتیاط: https://gitlab.com/NabiKAZ/filimo-downloader
Stars: ✭ 113 (-4.24%)
Mutual labels:  download
Knowledge
文档着重构建一个完整的「前端技术架构图谱」,方便 F2E(Front End Engineering又称FEE、F2E) 学习与进阶。
Stars: ✭ 1,620 (+1272.88%)
Mutual labels:  canvas
Electron Vue Cloud Music
🚀Electron + Vue 仿网易云音乐windows客户端
Stars: ✭ 1,894 (+1505.08%)
Mutual labels:  canvas
Vue Thanos Snap
thanos snap animation by vue
Stars: ✭ 115 (-2.54%)
Mutual labels:  canvas
Capture Frame
Capture video screenshot from a `<video>` tag (at the current time)
Stars: ✭ 109 (-7.63%)
Mutual labels:  canvas
Filedownloader
Multitask、MultiThread(MultiConnection)、Breakpoint-resume、High-concurrency、Simple to use、Single/NotSingle-process
Stars: ✭ 10,408 (+8720.34%)
Mutual labels:  download
Egret
🐦Some of the egret tutorial -《白鹭引擎笔记》
Stars: ✭ 108 (-8.47%)
Mutual labels:  canvas
Canvas Raycaster
Using the <canvas> element to do software rendering of a 3D environment with ray-casting
Stars: ✭ 112 (-5.08%)
Mutual labels:  canvas
Canvas Confetti
🎉 on-demand confetti gun
Stars: ✭ 2,394 (+1928.81%)
Mutual labels:  canvas
Canvas2video
Convert dynamic canvas to video, support merge audio
Stars: ✭ 117 (-0.85%)
Mutual labels:  canvas
Easy Canvas
小程序简单绘图,通过 json 方式绘制一张朋友圈分享图
Stars: ✭ 117 (-0.85%)
Mutual labels:  canvas

canvas-grab

Grab all files on Canvas LMS to local directory.

Less is More. In canvas_grab v2, we focus on stability and ease of use. Now you don't have to tweak dozens of configurations. We have a very simple setup wizard to help you get started!

For legacy version, refer to legacy branch.

Getting Started

  1. Install Python
  2. Download canvas_grab source code. There are typically two ways of doing this.
    • Go to Release Page and download {version}.zip.
    • Or git clone https://github.com/skyzh/canvas_grab.
  3. Run ./canvas_grab.sh (Linux, macOS) or .\canvas_grab.ps1 (Windows) in Terminal. Please refer to Build and Run from Source for more information.
  4. Get your API key at Canvas profile and you're ready to go!
  5. Please don't modify any file inside download folder (e.g take notes, add supplementary items). They will be overwritten upon each run.

You may interrupt the downloading process at any time. The program will automatically resume from where it stopped.

To upgrade, just replace canvas_grab with a more recent version.

If you have any questions, feel free to file an issue here.

Build and Run from Source

First of all, please install Python 3.8+, and download source code.

We have prepared a simple script to automatically install dependencies and run canvas_grab.

For macOS or Linux users, open a Terminal and run:

./canvas_grab.sh

For Windows users:

  1. Right-click Windows icon on taskbar, and select "Run Powershell (Administrator)".
  2. Run Set-ExecutionPolicy Unrestricted in Powershell.
  3. If some courses in Canvas LMS have very long module names that exceed Windows limits (which will causes "No such file" error when downloading), run the following command to enable long path support.
    Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name LongPathsEnabled -Type DWord -Value 1 
    
  4. Open canvas_grab source file in file browser, Shift + Right-click on blank area, and select Run Powershell here.
  5. Now you can start canvas_grab with a simple command:
    .\canvas_grab.ps1
    

Configure

The setup wizard will automatically create a configuration for you. You can change config.toml to fit your needs. If you need to re-configure, run ./configure.sh or ./configure.ps1.

Common Issues

  • Acquire API token Access Token can be obtained at "Account - Settings - New Access Token".
  • SJTU users 请在此页面内通过“创建新访问许可证”按钮生成访问令牌。
  • An error occurred You'll see "An error occurred when processing this course" if there's no file in a course.
  • File not available This file might have been included in an unpublished unit. canvas_grab cannot bypass restrictions.
  • No module named 'canvasapi' You haven't installed the dependencies. Follow steps in "build and run from source" or download prebuilt binaries.
  • Error when checking update It's normal if you don't have a stable connection to GitHub. You may regularly check updates by visiting this repo.
  • Reserved escape sequence used please use "/" as the path seperator instead of "\".
  • Duplicated files detected There're two files of same name in same folder. You should download it from Canvas yourself.

Screenshot

image

Contributors

See Contributors list. @skyzh, @danyang685 are two core maintainers.

License

MIT

Which means that we do not shoulder any responsibilities for, included but not limited to:

  1. API key leaking
  2. Users upload copyright material from website to the Internet
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].