# floral_barrel Track the shows you watch using your terminal! `floral_barrel` will create a directory where it will store its files. That directory is `~/.local/share/floral_barrel` on linux and `%AppData%\floral_barrel` on windows. Every time you specify the `-g`/`--git` flag, the action you do will be commited, if it writes to one of the files. If you never specify the `--git` flag, the data directory won't be git initialized. Example usage: ``` floral_barrel -g show set ep -s "One Piece Live Action" -e 1 floral_barrel show set ep -s "One Piece Live Action" -e 2 floral_barrel --git show set ep -s "One Piece Live Action" -e 3 floral_barrel -g show finish -s "One Piece Live Action" ``` You get to decide which actions are big enough for you to commit, and which ones are not. ``` 750cd69 (HEAD -> main, origin/main, origin/HEAD) finish One Piece Live Action 1872abc watch ep3 -> One Piece Live Action 275dafb watch ep1 -> One Piece Live Action ``` floral_barrel is basically an abstraction to interact with three files: ### 1. current.json Contains the shows you're currently watching. Each show has three properties: 1. link 2. episode 3. downloaded Some shows you just stream, others you may download: that's why there's a downloaded property for you to be able to easily track the difference of episodes you've *watched* and episodes you've only downloaded. You're supposed to set both the episode and downloaded properties to the episode you *finished*. That way, you'll be able to use the `show watch` and `show download` subcommands to get the link to the *next* episode you want to watch / download. Both of those subcommands work by getting the link in the link property and concatenating it with the episode / downloaded property + 1, resulting in the link to the next episode. So if your show link ends in an episode number, **remove** that part of the link when you `show new` or `show set link` By default, that link is printed to stdout. But if you provide the `--open`/`-o` flag, it will get opened in your $BROWSER Once you finish or drop a show, you can execute `show finish` (or `show drop`) to move it to your watched list, removing it from your current.json ### 2. watched.txt This file contains all the shows you've ever finished or dropped. The difference between the two is that the latter is expressed in a tag that looks like: `(dropped)` Whenever a show gets added here, it also contains the date of finishing at the start of the line. So it's a good idea to mark a show as finished as soon as you actually do, to reflect the date correctly! :) To view all of your past watched shows, run `show past` If you added a show by mistake, and don't intend to actually watch it, you can use `show remove` to remove a show from your current.json without putting it in your watched list ### 3. watch-later.txt A simple "watch later" file, that you can `list`, `add` or `remove` from. The cool thing about it is the abstraction subcommand of `wl start`. It lets you pick a show from your watch later list, remove it from there and create a new show in your current.json. Yes, this: ``` floral_barrel wl start -s "Show Name: The return of the beast season 2 reimagined" -l "https://yourOptionalLink.com" ``` Is eqivalent to running these two commands: ``` floral_barrel wl remove -s "Show Name: The return of the beast season 2 reimagined" floral_barrel show new -s "Show Name: The return of the beast season 2 reimagined" -l "https://yourOptionalLink.com" ``` Quite a long title isn't it? Having both actions in a single subcommand is gonna save you some time. The link flag is optional in creating shows, because maybe you don't even have a link to the show (maybe you don't pirate 🤯) and just want to use the program to track the episodes. ## Usage ``` A program to help you track shows you're watching Usage: floral_barrel [OPTIONS] Commands: show Commands to interact with the shows you're currently watching or have watched wl Commands to interact with your "Watch later" list Options: -g, --git If the action writes to a file, commit that change -h, --help Print help -V, --version Print version ``` ``` Usage: floral_barrel show Commands: watch Print or open the next episode's link download Print or open the next download link [aliases: dn] link Print or open the link of a show finish Finish a show, putting it in your watched list drop Drop a show, putting it in your watched list new Start a new show list List all the shows you're currently watching past Print the entirety of the watched list remove Remove a show from the list without putting it in your watched list [aliases: rm] set Update a show's properties ``` ``` Usage: floral_barrel show set Commands: episode Set the episode you just watched [aliases: ep] download Set the episode you just downloaded [aliases: dn] link Set the link ``` ``` Usage: floral_barrel wl Commands: add Add a new show to your watch later list remove Remove a show from your watch later list start Remove a show from your watch later list, and start watching it list Print the entire contents of your watch later file ``` You can use `-h`/`--help` anywhere! If you want to learn about the flags of a specific subcommand, run something like `floral_barrel show watch --help` ## Installation ``` cargo install floral_barrel ``` `cargo-binstall` and `cargo-quickinstall` are also supported ## Uninstallation ``` cargo uninstall floral_barrel rm -fr ~/.local/share/floral_barrel ```