Merge features from dev to master

Merged Georg Teufelberger requested to merge dev into master


  • --destination flag to specify the location to save videos to. Closes #1 (closed).
  • --history flag to specify a file where to print/read episodes URLs from/to so you can finally delete watched lectures without having to worry they might re-download.
  • --version flag to print the program version and exit.
  • Ignore empty lines in link file.
  • Strip special characters such as ? < > : * | " ^ from filenames as they can cause issues on NTFS.


  • Moved date further to the front when printing available/selected lecture episodes.
  • Collect all episode links first and then start the download so you no longer have to wait for a download to finish in order to select episodes of the next lecture if you pass multiple links.
  • Moved the code that creates folders so no folders are created when you just want to print the source links of lecture episodes with --print-src.
  • Replaced occurrences of / with os.sep to become more OS agnostic.
  • Check if the scraper is being run directly to allow for use as library.
  • and finally some general code clean up.

Merge request reports