This utility allows you to define a collection of links to youtube-channels and/or playlists, which you want to keep synced to your local storage.
All you have to do is to call `download.sh`, which will download all videos of your defined playlists that are not already saved locally.
This basically means, after doing the initial big download, you could run it as a cronjob, since it won't take long when it's only downloading newly uploaded videos.
## How does it work?
Pretty easily.
#### 1
First, you define the stuff you want to download, in yaml files. For more info on syntax, see the [example file](https://github.com/Leonetienne/Youtube-Archiver/blob/master/linklist-example.yaml).
You can create a `once.yaml` [(See example)](https://github.com/Leonetienne/Youtube-Archiver/blob/master/once-example.yaml), which is of the same structure as all the other linklists (except it needs a `type`=[`video`/`music`]), and `folder-name` is a required attribute.
You can download this linklist with `python3 download-once.py`.
What's the purpose of this? If you find a nice playlist, which won't ever update, why would you want to fetch it every time running the cronjob?
Just adding it to a download list and running the cronjob is shit aswell, because fetching all the other items still takes time.
This allows you to bypass ALL your other lists, to quickly and cleanly download a playlist (or multiple) **once**.
### sync-to-nas.bat
Since i use WSL, and like to store my archives on my nas, i made a quick script to move downloads from my local instance to my nas.
Without saying, you would have to adjust your nas drive-letter and target paths...