I've been using a custom script for a while to stop/start/restart the Flexget daemon, mostly out of reducing the length of the commands to type (since I use a custom log path), but also just to have a nice way to restart it.
Then I started running a git checkout version of Flexget to help test the season packs, and I was getting tired adding config and log paths to the command.
I've since enhanced it to basically replace calling
flexget directly. All commands are filtered through it to allow easy control of the daemon, as well as easy control of a secondary Flexget installation. It now also enables command aliases to allow any Flexget commands to be run in a shorthand way that, unlike using a Bash
alias, still lets you insert flags at runtime.
For example, this is what I used to type to execute a task on my development copy of Flexget:
flexget -c ~/.flexget-dev/config.yml -l ~/Library/Logs/Flexget/flexget-dev.log execute --tasks my_task
Now I type this:
flexctl dev execute --tasks my_task
Command aliases replace commonly-used commands with short words or character combinations. By default,
fss expands to
series show, so running this command:
flexctl fss "Arrested Development"
Will execute the following Flexget command:
flexget series show "Arrested Development"
You can customize, add or remove the command aliases in the configuration section of the script. Once you do, if you ever forget them, simply run
flexctl -h and it will list them all as part of help.
Using it is simple:
1. Grab the latest release from Github.
2. Put the
flexctl script anywhere you'd like. I'd suggest somewhere in your
path for easy use.
3. Edit the script to customize the paths and options. (See the documentation for details.)
4. Ensure it's executable (
chmod +x flexctl)
5. Run it!
If you have any questions or suggestions let me know. If you come across any bugs, please file them as issues on the Github project.