| import functools | |
| import sys | |
| def entry(func): | |
| """Allows a function that has `argv` as an argument to be used as a | |
| commandline entry. This will make the function callable using either | |
| explicitly passed argv or defaulting to sys.argv[1:] | |
| """ | |
| @functools.wraps(func) | |
| def wrapper(argv=None): | |
| if argv is None: | |
| argv = sys.argv[1:] | |
| return func(argv) | |
| return wrapper |