[core] restructure to allow PIP packaging
OK - so I have to admit I *hate* the fact that PIP seems to require a subdirectory named like the library. But since the PIP package is something really nifty to have (thanks to @tony again!!!), I updated the codebase to hopefully conform with what PIP expects. Testruns so far look promising...
This commit is contained in:
parent
1d25be2059
commit
320827d577
146 changed files with 2509 additions and 2 deletions
30
bumblebee_status/util/algorithm.py
Normal file
30
bumblebee_status/util/algorithm.py
Normal file
|
@ -0,0 +1,30 @@
|
|||
import copy
|
||||
|
||||
|
||||
def merge(target, *args):
|
||||
"""Merges arbitrary data - copied from http://blog.impressiver.com/post/31434674390/deep-merge-multiple-python-dicts
|
||||
|
||||
:param target: the data structure to fill
|
||||
:param args: a list of data structures to merge into target
|
||||
|
||||
:return: target, with all data in args merged into it
|
||||
:rtype: whatever type was originally passed in
|
||||
"""
|
||||
if len(args) > 1:
|
||||
for item in args:
|
||||
merge(target, item)
|
||||
return target
|
||||
|
||||
item = args[0]
|
||||
if not isinstance(item, dict):
|
||||
return item
|
||||
for key, value in item.items():
|
||||
if key in target and isinstance(target[key], dict):
|
||||
merge(target[key], value)
|
||||
else:
|
||||
if not key in target:
|
||||
target[key] = copy.deepcopy(value)
|
||||
return target
|
||||
|
||||
|
||||
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
|
Loading…
Add table
Add a link
Reference in a new issue