Skip to content

timolinn/joncalhoun-dl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 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 git@github.com: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=jon@doe.com -password=12345 -course=gophercises -output=your-chosen-directory
     [joncalhoun-dl]: fetching video urls for gophercises
     [joncalhoun-dl]: 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=jon@doe.com -password=12345 -course=gophercises -output=your-chosen-directory
     [joncalhoun-dl]: fetching video urls for gophercises
     [joncalhoun-dl]: 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 [required] : Your account email address. Sign up here
  • --password [required]: 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 [gophercises | algorithmswithgo | testwithgo | webdevwithgo]: This is the name of the course you want to download. defaults to "gophercises"
  • --output [optional]: This is the output directory, which means where 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 [optional]: 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 joncalhoun-dl-cache folder within the output directoy.
  • --help [optional]: Prints usage options

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
  • reduce cache size by storing fewer data

Authors

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