Using python3-docopt to process command-line arguments.

Lost the color and result statuses in the command-line help, but should be able to get
them back.
This commit is contained in:
Andrew Hamilton 2016-01-29 18:51:35 +00:00
parent 454510f181
commit fee10f1343
3 changed files with 31 additions and 27 deletions

View file

@ -12,9 +12,14 @@
│The reports are cached in a directory │ │The reports are cached in a directory │
 │  │
 │  │
│Usage: vigil <root_path>  │ │Usage:  │
│ vigil <root_path>  │
 │  │
│e.g. # vigil my_project  │ │Example:  │
│ # vigil my_project  │
 │
│Options:  │
│ -h, --help Show this screen and ex │
 │  │
│Keys:  │ │Keys:  │
h - Show the help screen. (toggle)  │ h - Show the help screen. (toggle)  │
@ -24,17 +29,12 @@
t - Turn the result pane to portrai │ t - Turn the result pane to portrai │
l - Show the activity log. (toggle) │ l - Show the activity log. (toggle) │
n - Move to the next issue.  │ n - Move to the next issue.  │
N - Move to the next issue of the c │ N - Move to the next issue of the c │
o - Order files by type, or by dire │ o - Order files by type, or by dire │
p - Pause work. (toggle)  │ p - Pause work. (toggle) │
s - Change the appearance of result │ s - Change the appearance of result │
q - Quit.  │ q - Quit. │
 │ │ │
│Statuses:  │ │Statuses: │
│  Normal  │
  Ok  │
  Problem │
  Not applicable │
  Running │
  │   │
└──────────────────────────────────────┘ └──────────────────────────────────────┘

View file

@ -6,7 +6,7 @@ set -e
echo "Install the dependencies of the vigil script..." echo "Install the dependencies of the vigil script..."
sudo apt-get --yes install python3-minimal python3-pygments python3-pyinotify \ sudo apt-get --yes install python3-minimal python3-pygments python3-pyinotify \
python3-urwid python3-psutil python3-urwid python3-psutil python3-docopt
echo echo
echo "Install all the tools vigil may need..." echo "Install all the tools vigil may need..."
./install-tools ./install-tools

28
vigil
View file

@ -18,9 +18,14 @@ to date.
The reports are cached in a directory ".vigil" under the target directory. The reports are cached in a directory ".vigil" under the target directory.
Usage: vigil <root_path> Usage:
vigil <root_path>
e.g. # vigil my_project Example:
# vigil my_project
Options:
-h, --help Show this screen and exit.
Keys: Keys:
*h - Show the help screen. (toggle) *h - Show the help screen. (toggle)
@ -55,6 +60,7 @@ import threading
import time import time
import traceback import traceback
import docopt
import pyinotify import pyinotify
import fill3 import fill3
@ -1055,13 +1061,11 @@ def manage_cache(root_path):
if __name__ == "__main__": if __name__ == "__main__":
if len(sys.argv) == 2: arguments = docopt.docopt(__doc__.replace("*", ""))
subprocess.call(["sudo", "-p", "Vigil needs sudo to create the filesy" root_path = os.path.abspath(arguments["<root_path>"])
"stem sandbox... [sudo] password for %u: ", "true"]) subprocess.call(["sudo", "-p", "Vigil needs sudo to create the filesy"
root_path = os.path.abspath(sys.argv[1]) "stem sandbox... [sudo] password for %u: ", "true"])
with terminal.console_title("vigil: " + os.path.basename(root_path)): with terminal.console_title("vigil: " + os.path.basename(root_path)):
manage_cache(root_path) manage_cache(root_path)
with chdir(root_path): # FIX: Don't change directory if possible. with chdir(root_path): # FIX: Don't change directory if possible.
main(root_path) main(root_path)
else:
print(_get_help_text())