Skip to content

timolinn/joncalhoun-dl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 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.

Installation

  • Ensure youtube-dl is installed and in your PATH.

To install this package run

    $ go get -u github.com/timolinn/joncalhoun-dl

To build from source run

    $ git clone [email protected]:timolinn/joncalhoun-dl.git
    $ cd joncalhoun-dl
    $ go build .

How to use

If you installed via go get, you can simply run

    $ joncalhoun-dl [email protected] -password=12345 -course=gophercises -output=your-chosen-directory
     [courses.calhoun.io]: fetching video urls for gophercises
     [courses.calhoun.io]: fetching data from https://courses.calhoun.io/courses/cor_gophercises...

If you built from source, the compiled binary should be in the current folder.

    $ ./joncalhoun-dl [email protected] -password=12345 -course=gophercises -output=your-chosen-directory
     [courses.calhoun.io]: fetching video urls for gophercises
     [courses.calhoun.io]: fetching data from https://courses.calhoun.io/courses/cor_gophercises...

Also note, 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 : This is the location directory you want the videos to be saved. It must be an absolute path. If this is not specified, we will try to create a "/[course] folder" (ie. the specified course name eg. gophercises) within your current working directory.
  • --cache : Specify your desired location where the cache will be saved. joncalhoun-dl uses the cached data to resume downloads incase of an interruption. It also prevents unecessary repeated calls to the remote server. This will default to a cache folder within the course videos folder.
  • --clean-cache : removes existing cache.

Supported courses

Contributing

There is still a couple features to implement, check the TODO list below.

  • Start by forking this repo
  • Create your branch
  • Implement your fixes, changes etc.
  • Open a Pull Request

Issues

If you find a bug please create an issue

Tests

To run existing tests

    $ go test

TODO

  • Add caching for requests
  • Add default output directory
  • Add output directoy flag
  • provide packaged release
  • Add more unit tests
  • 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! 🔥