utils: docstrings and unit tests
This commit is contained in:
@@ -62,7 +62,7 @@ async def on_ready():
|
|||||||
|
|
||||||
async def delete(message):
|
async def delete(message):
|
||||||
"""
|
"""
|
||||||
TODO
|
Delete a discord message
|
||||||
|
|
||||||
:param (discord.Message) message:
|
:param (discord.Message) message:
|
||||||
:rtype: bool
|
:rtype: bool
|
||||||
|
|||||||
+18
-15
@@ -5,7 +5,7 @@ from Levenshtein import distance
|
|||||||
|
|
||||||
def relative_path(file, *args):
|
def relative_path(file, *args):
|
||||||
"""
|
"""
|
||||||
TODO
|
Get the full path from a starting file and a relative path
|
||||||
|
|
||||||
:param (str) file:
|
:param (str) file:
|
||||||
:param (str) args:
|
:param (str) args:
|
||||||
@@ -17,7 +17,8 @@ def relative_path(file, *args):
|
|||||||
|
|
||||||
def read_key_safe(d, k, default=None, *, types=None, is_list=False, is_list_size=None):
|
def read_key_safe(d, k, default=None, *, types=None, is_list=False, is_list_size=None):
|
||||||
"""
|
"""
|
||||||
TODO
|
Read a value from a dict or return the default value if not found.
|
||||||
|
Can also check the type of the value.
|
||||||
|
|
||||||
:param (dict) d: source dict
|
:param (dict) d: source dict
|
||||||
:param (str) k: key to read
|
:param (str) k: key to read
|
||||||
@@ -36,7 +37,8 @@ def read_key_safe(d, k, default=None, *, types=None, is_list=False, is_list_size
|
|||||||
|
|
||||||
def read_key(d, k, default=None, *, types=None, is_list=False, is_list_size=None):
|
def read_key(d, k, default=None, *, types=None, is_list=False, is_list_size=None):
|
||||||
"""
|
"""
|
||||||
TODO
|
Read a value from a dict or return the default value or throw an error if the default is None.
|
||||||
|
Can also check the type of the value.
|
||||||
|
|
||||||
:param (dict) d: source dict
|
:param (dict) d: source dict
|
||||||
:param (str) k: key to read
|
:param (str) k: key to read
|
||||||
@@ -64,7 +66,8 @@ def read_key(d, k, default=None, *, types=None, is_list=False, is_list_size=None
|
|||||||
|
|
||||||
def check_type(obj, types, is_list=False, is_list_size=None):
|
def check_type(obj, types, is_list=False, is_list_size=None):
|
||||||
"""
|
"""
|
||||||
TODO
|
Check the type from a list of possibilities.
|
||||||
|
Can check the types of all elements of a list.
|
||||||
|
|
||||||
:param obj:
|
:param obj:
|
||||||
:param (list of type|None) types: types to check
|
:param (list of type|None) types: types to check
|
||||||
@@ -75,7 +78,7 @@ def check_type(obj, types, is_list=False, is_list_size=None):
|
|||||||
"""
|
"""
|
||||||
if is_list:
|
if is_list:
|
||||||
if not is_list_of(obj, types, is_list_size):
|
if not is_list_of(obj, types, is_list_size):
|
||||||
if is_list_size is None:
|
if is_list_size is not None:
|
||||||
raise TypeError(f"not a list of {is_list_size} {types[0].__name__}")
|
raise TypeError(f"not a list of {is_list_size} {types[0].__name__}")
|
||||||
else:
|
else:
|
||||||
raise TypeError(f"not a list of {types[0].__name__}")
|
raise TypeError(f"not a list of {types[0].__name__}")
|
||||||
@@ -86,7 +89,7 @@ def check_type(obj, types, is_list=False, is_list_size=None):
|
|||||||
|
|
||||||
def is_list_of(obj, types, length=None):
|
def is_list_of(obj, types, length=None):
|
||||||
"""
|
"""
|
||||||
TODO
|
Check the types of all elements of a list.
|
||||||
|
|
||||||
:param obj:
|
:param obj:
|
||||||
:param (list of type) types:
|
:param (list of type) types:
|
||||||
@@ -114,25 +117,25 @@ args_regex = re.compile('"([^"]*)"|\'([^\']*)\'|([^ ]+)')
|
|||||||
|
|
||||||
def parse_arguments(s):
|
def parse_arguments(s):
|
||||||
"""
|
"""
|
||||||
TODO
|
Split a string into separates arguments
|
||||||
|
|
||||||
:param (str) s:
|
:param (str) s:
|
||||||
:rtype: list of str
|
:rtype: list of str
|
||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
def get_found_match(m):
|
||||||
|
f = [g for g in m if len(g) > 0]
|
||||||
|
if len(f) > 0:
|
||||||
|
return f[0]
|
||||||
|
return ""
|
||||||
|
|
||||||
return [get_found_match(m) for m in args_regex.findall(s)]
|
return [get_found_match(m) for m in args_regex.findall(s)]
|
||||||
|
|
||||||
|
|
||||||
def get_found_match(m):
|
|
||||||
f = [g for g in m if len(g) > 0]
|
|
||||||
if len(f) > 0:
|
|
||||||
return f[0]
|
|
||||||
return ""
|
|
||||||
|
|
||||||
|
|
||||||
def find_nearest(word, wlist, threshold=5):
|
def find_nearest(word, wlist, threshold=5):
|
||||||
"""
|
"""
|
||||||
TODO
|
Find the nearest word in a list
|
||||||
|
|
||||||
:param (str) word:
|
:param (str) word:
|
||||||
:param (list of str) wlist:
|
:param (list of str) wlist:
|
||||||
|
|||||||
Reference in New Issue
Block a user