Skip to content

damilarelana/joncalhoun-dl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

joncalhoun-dl 🔥⬇

Downloads Go tutorial videos from https://courses.calhoun.io

Before you proceed, note that you must be a paid user for the paid content to download

Kindly create your account here. Jon is a great teacher, consider buying his premium courses if you want to.

How to use

  • Ensure youtube-dl is installed and in your PATH.
  • Run the following commands
    $ git clone [email protected]:timolinn/joncalhoun-dl.git
    $ cd joncalhoun-dl
    $ go run main.go [email protected] --password=12345 --course=gophercises
     [courses.calhoun.io]: fetching video urls for gophercises
     [courses.calhoun.io]: fetching data from https://courses.calhoun.io/courses/cor_gophercises...

Video downloads resumes from where it stopped, so should you experience network interruption nothing to worry about just make sure the output directory remains the same.

Command [OPTIONS]

  • --email : Your account email address. Sign up here
  • --password : Your account password. Unlike the unix password prompt, this will not hide your password by default, you'll have to keep an eye over your shoulder 😉
  • --course : This is the name of the course you want to download. Defaults to "gophercises"
  • --output : Output directory (where the videos would be saved). Defaults to "./videos/[course]"

Supported courses

Nuance

Downloaded course videos would be automatically grouped inside course directories named after their respective courses titles e.g. testwithgo etc., without your input. These newly created course directories would be in a root directory named videos - which is also created at runtime.

Contributing

There is still a couple features to implement, check the TODO list below and send a pull request.

Tests

    $ go test

TODO

  • Add caching for requests
  • Add default output directory
  • Add output directoy flag
  • Add more unit tests
  • provide packaged release and semver
  • check for authentication error
  • prevent signin when using cache
  • choose video quality

Authors

If you find this repository to be of any help, please consider giving it Star! 🔥

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%