Cleaned code structure
This commit is contained in:
parent
79abc3fee3
commit
70149e9732
20 changed files with 196 additions and 332 deletions
|
|
@ -1,3 +1,10 @@
|
|||
import collections.abc
|
||||
import re
|
||||
import base64
|
||||
import operator
|
||||
from functools import reduce
|
||||
|
||||
|
||||
def get_docstring(obj):
|
||||
ds = obj.__doc__
|
||||
if ds:
|
||||
|
|
@ -8,3 +15,49 @@ def get_docstring(obj):
|
|||
|
||||
def get_summary(obj):
|
||||
return get_docstring(obj).partition("\n")[0].strip()
|
||||
|
||||
|
||||
def rupdate(d, u):
|
||||
for k, v in u.items():
|
||||
if isinstance(v, collections.abc.Mapping):
|
||||
if not k in d:
|
||||
d[k] = {}
|
||||
d[k] = rupdate(d.get(k, {}), v)
|
||||
else:
|
||||
d[k] = v
|
||||
return d
|
||||
|
||||
|
||||
def get_by_path(root, items):
|
||||
"""Access a nested object in root by item sequence."""
|
||||
return reduce(operator.getitem, items, root)
|
||||
|
||||
|
||||
def set_by_path(root, items, value):
|
||||
"""Set a value in a nested object in root by item sequence."""
|
||||
get_by_path(root, items[:-1])[items[-1]] = value
|
||||
|
||||
|
||||
def create_from_path(items):
|
||||
tree_dict = {}
|
||||
for key in reversed(items):
|
||||
tree_dict = {key: tree_dict}
|
||||
return tree_dict
|
||||
|
||||
|
||||
def bottom_level_name(obj):
|
||||
return obj.__name__.split(".")[-1]
|
||||
|
||||
|
||||
def camel_to_snake(name):
|
||||
s1 = re.sub("(.)([A-Z][a-z]+)", r"\1_\2", name)
|
||||
return re.sub("([a-z0-9])([A-Z])", r"\1_\2", s1).lower()
|
||||
|
||||
|
||||
def camel_to_spine(name):
|
||||
s1 = re.sub("(.)([A-Z][a-z]+)", r"\1-\2", name)
|
||||
return re.sub("([a-z0-9])([A-Z])", r"\1-\2", s1).lower()
|
||||
|
||||
|
||||
def snake_to_spine(name):
|
||||
return name.replace("_", "-")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue