simple script parameter parser
Project description
scription
light-weight library to enhance command-line scripts; includes conversion of parameters to specified data types, parameter checking, basic input/output with users, support for suid [1], sending email, executing sub-programs, and having sub-commands within a script
decorators
Script: sets global variables and/or parameters for Commands; when used as decorator, the decorated function will be called by Main/Run before any specified Command
Command: marks function as a subcommand for the script (e.g. add, delete, list, etc.); if no subcommand is specified on the command-line, scription will look for a Command with the same name as the script
Alias: registers other names for Commands (e.g. delete / remove / kill)
functions
Main: if the importing module’s __name__ is __main__, call Run() (this allows for importing the script as a module)
Run: unconditionally attempts to run the Script function (if any) and the Command found on the command-line
Main() or Run() should be the last thing in the script
classes
Spec: can be used when defining the command-line parameters (can also just use tuples)
helper functions/classes
Execute: class for executing other programs; uses subprocess.Popen by default, but if pty=True is specified then pty.fork will be used (handy for programs that only accept input from a pty)
get_response: function for displaying text and getting feedback
OrmFile: lightweight orm – supports str, int, float, date, time, datetime, bool, and path (which defaults to str); custom data types can also be specified
user_ids: context manager useful for suid scripts – all actions taken within the context are run as the user/group specified
[1] I use the suid-python program, available at http://selliott.org/python/suid-python.c
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.