53 lines
1.3 KiB
Python
53 lines
1.3 KiB
Python
from functools import wraps
|
|
|
|
def debug(func):
|
|
@wraps(func)
|
|
def wrapped(*args,**kwargs):
|
|
print("Args: " + str(args))
|
|
print("Kwargs: " + str(kwargs))
|
|
return func(*args,**kwargs)
|
|
return wrapped
|
|
|
|
def require_param(func):
|
|
@wraps(func)
|
|
def wrapped(*args,**kwargs):
|
|
if (len(kwargs["param"]) != 2):
|
|
print("This command requires param in order to work.")
|
|
return False
|
|
return func(*args,**kwargs)
|
|
return wrapped
|
|
|
|
def no_param(func):
|
|
@wraps(func)
|
|
def wrapped(*args,**kwargs):
|
|
if (len(kwargs["param"]) != 1):
|
|
print("This command does not require any params.")
|
|
return False
|
|
return func(*args,**kwargs)
|
|
return wrapped
|
|
|
|
api_args = {}
|
|
|
|
def set_api_arg(key,value):
|
|
api_args[key] = value
|
|
|
|
class require_api_arg:
|
|
def __init__(self,key):
|
|
self.key = key
|
|
def __call__(self,func):
|
|
@wraps(func)
|
|
def wrapped(*args,**kwargs):
|
|
kwargs[self.key] = (None if self.key not in api_args else api_args[self.key])
|
|
return func(*args,**kwargs)
|
|
return wrapped
|
|
|
|
helps = {}
|
|
|
|
def help(helpstr="No helps avaliable"):
|
|
def help__tmp1(func):
|
|
helps[func.__name__] = helpstr
|
|
return func
|
|
return help__tmp1
|
|
|
|
helps["help"] = "Show this page"
|