Download all talks from a FOSDEM conference track in a specific year.
This project is available on GitHub Releases as an uberjar and a Babashka uberjar.
This project strives to follow the Command Line Interface Guidelines.
The CLI has two commands: talks
and tracks
.
FOSDEM Downloader
Usage: fosdem-dl <command> [options]
Available commands: tracks, talks
This is the help for the talks
command.
FOSDEM Downloader (talks)
Download all talks given at a conference track at FOSDEM a given year.
Options:
-a, --attachments Whether to download each talk's attachments (PDFs, slides, etc)
-f, --format :webm Video format #{:webm :mp4}
-h, --help Help
--timeout 10000 HTTP connection timout in milliseconds
-t, --track Conference track (e.g. databases)
-y, --year Year of FOSDEM
Examples:
fosdem-dl talks -y 2020 --track databases [options]
This is the help for the tracks
command.
FOSDEM Downloader (tracks)
List the tracks at FOSDEM a given year.
Options:
-h, --help Help
-y, --year Year of FOSDEM
Examples:
fosdem-dl tracks -y 2020
Tip
You can invoke the help of each command with -h
, --help
, :h
, or :help
.
List all FOSDEM 2020 conference tracks.
fosdem-dl tracks -y 2020
Download all videos of the FOSDEM 2018 python track, in WebM format.
fosdem-dl talks -y 2018 -t python
Download all videos and attachments of the FOSDEM 2020 web performance track, in MP4 format.
fosdem-dl talks -y 2020 -t web_performance -f mp4 -a
The file devenv.nix
declares a developer environment for this project. This file is used by devenv to create such environment. If you don't use devenv you can ignore this file, or use it to understand which dependencies are required by this project.
This project uses a bb.edn
file to define a few Babashka tasks. You can type bb tasks
to view them.
A specific version of pod-jackdbd-jsoup
might not be registered on the Babashka pod registry, but you can always download that pod from GitHub Releases.
Make sure to set the environment variable POD_JACKDBD_JSOUP_VERSION
to the desired version, then run this script (you will need to have the GitHub CLI installed).
./download_pod_jackdbd_jsoup.sh
Note
pod-jackdbd-jsoup
is available both as a binary and as an uberjar. This script will download both.
Run all tests with either one of the following commands:
./test_runner.clj
bb test
- Bundle pod-jackdbd-jsoup in the binary compiled with GraamVM native-image.
- Make the destination directory configurable, to let the user decide where to download the files.
- Include the talk's links too? Maybe write them in a text/markdown file?
- Show a progress bar. See here.
- Consider implementing a GUI with pod-babashka-lanterna?