diff --git a/TODO.txt b/TODO.txt new file mode 100644 index 0000000..0af2587 --- /dev/null +++ b/TODO.txt @@ -0,0 +1,22 @@ +TODO +- keep track of previous command outputs for last command, and any previous command with target list and command line +- calling commands and alieses from command line +- tagging and filtering commands (so oupgrade gets a tag, and we can filter them) +- saving the last host set in a .file +- allow server groups +- allow grepping of output from a command, and then populating the target list from matchintg on it +- add 'watch' to run a command repeatedly until it succeeds (interruptable) +- add the number of servers for each group of services too +- notice when you don't sudo in front of command and it errors and ask you if you meant to sudo +- autocomplete for environment variable names (requires heirarchical completer) +- implement target aliases (-filteralias) which gives a label to an argument to -hosts +- ad-hoc host groupings with assigned names, and a host grouping stack +- Assign each output group to a number that can be easily selected with a -target etc. But also allow matching + against those groups. Output groupings survive until the next command. +- allow scripts that use -safe to prompt for safety / restore safety after running +- Add variables that can be set and passed to commands +- implement various commented commands in the command list +- implement interactive alias system +- Catch more exceptions in fabtools, and also add retries +- Make the runner aware of multiple commands so that it can combine outputs and make 'overall success' or 'overall failure' +- make C-c break the connections not the program diff --git a/multiball/__main__.py b/multiball/__main__.py index c1854d9..c2d2c83 100644 --- a/multiball/__main__.py +++ b/multiball/__main__.py @@ -3,28 +3,6 @@ # # -# TODO -# - keep track of previous command outputs for last command, and any previous command with target list and command line -# - calling commands and alieses from command line -# - tagging and filtering commands (so #noupgrade gets a tag, and we can filter them) -# - saving the last host set in a .file -# - allow server groups -# - allow grepping of output from a command, and then populating the target list from matchintg on it -# - add 'watch' to run a command repeatedly until it succeeds (interruptable) -# - add the number of servers for each group of services too -# - notice when you don't sudo in front of command and it errors and ask you if you meant to sudo -# - autocomplete for environment variable names (requires heirarchical completer) -# - implement target aliases (-filteralias) which gives a label to an argument to -hosts -# - ad-hoc host groupings with assigned names, and a host grouping stack -# - Assign each output group to a number that can be easily selected with a -target etc. But also allow matching -# against those groups. Output groupings survive until the next command. -# - allow scripts that use -safe to prompt for safety / restore safety after running -# - Add variables that can be set and passed to commands -# - implement various commented commands in the command list -# - implement interactive alias system -# - Catch more exceptions in fabtools, and also add retries -# - Make the runner aware of multiple commands so that it can combine outputs and make 'overall success' or 'overall failure' -# - make C-c break the connections not the program import argparse import datetime