Move function selective_merge to util

This commit is contained in:
daniel-j 2017-08-27 14:55:23 +02:00 committed by Mathieu Comandon
parent 28ebe2aaaa
commit d4a3773826
2 changed files with 14 additions and 13 deletions

View file

@ -13,24 +13,12 @@ from lutris import runtime
from lutris.util import extract, disks, system
from lutris.util.fileio import EvilConfigParser, MultiOrderedDict
from lutris.util.log import logger
from lutris.util import selective_merge
from lutris.runners import wine, import_task
from lutris.thread import LutrisThread
def selective_merge(base_obj, delta_obj):
""" used by write_json """
if not isinstance(base_obj, dict):
return delta_obj
common_keys = set(base_obj).intersection(delta_obj)
new_keys = set(delta_obj).difference(common_keys)
for k in common_keys:
base_obj[k] = selective_merge(base_obj[k], delta_obj[k])
for k in new_keys:
base_obj[k] = delta_obj[k]
return base_obj
class CommandsMixin(object):
"""The directives for the `installer:` part of the install script."""

View file

@ -1 +1,14 @@
""" Misc common functions """
def selective_merge(base_obj, delta_obj):
""" used by write_json """
if not isinstance(base_obj, dict):
return delta_obj
common_keys = set(base_obj).intersection(delta_obj)
new_keys = set(delta_obj).difference(common_keys)
for k in common_keys:
base_obj[k] = selective_merge(base_obj[k], delta_obj[k])
for k in new_keys:
base_obj[k] = delta_obj[k]
return base_obj