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 |