initial commit
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
import re
|
||||
|
||||
|
||||
def read_key_safe(d, k, default=None):
|
||||
"""
|
||||
TODO
|
||||
|
||||
:param (dict) d: source dict
|
||||
:param (str) k: key to read
|
||||
:param default: default value
|
||||
:return:
|
||||
"""
|
||||
if k in d:
|
||||
return d[k]
|
||||
else:
|
||||
return default
|
||||
|
||||
|
||||
def read_key(d, k, default=None):
|
||||
"""
|
||||
TODO
|
||||
|
||||
:param (dict) d: source dict
|
||||
:param (str) k: key to read
|
||||
:param default: default value
|
||||
:return:
|
||||
"""
|
||||
if k in d:
|
||||
return d[k]
|
||||
elif default is not None:
|
||||
return default
|
||||
else:
|
||||
raise KeyError(k)
|
||||
|
||||
|
||||
def is_list_of(obj, types, length=None):
|
||||
"""
|
||||
TODO
|
||||
|
||||
:param obj:
|
||||
:param (list of type) types:
|
||||
:param (int) length:
|
||||
:rtype: bool
|
||||
:return:
|
||||
"""
|
||||
if not (isinstance(obj, list)):
|
||||
return False
|
||||
for item in obj:
|
||||
found = False
|
||||
for t in types:
|
||||
if isinstance(item, t):
|
||||
found = True
|
||||
break
|
||||
if not found:
|
||||
return False
|
||||
if length is not None and len(obj) != length:
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
def is_url(s):
|
||||
"""
|
||||
TODO
|
||||
|
||||
:param (str) s:
|
||||
:rtype: bool
|
||||
:return:
|
||||
"""
|
||||
return False # TODO
|
||||
|
||||
|
||||
args_regex = re.compile('"([^"]*)"|\'([^\']*)\'|([^ ]+)')
|
||||
|
||||
|
||||
def parse_arguments(s):
|
||||
"""
|
||||
TODO
|
||||
|
||||
:param (str) s:
|
||||
:rtype: list of str
|
||||
:return:
|
||||
"""
|
||||
return [[g for g in m if len(g) > 0][0] for m in args_regex.findall(s)]
|
||||
Reference in New Issue
Block a user