def test_deep_merge_nested_dict_conflict(self): meta = {"actors":{"one":True, "two":True}} new = {"actors":{"two":True}} deepmerge.deep_merge(meta, new) self.assertEqual(2, len(meta['actors'].keys())) self.assertTrue(meta['actors']['one']) self.assertTrue(meta['actors']['two'])
def test_deep_merge_dict(self): meta = {"actors":True} new = {"things":True} deepmerge.deep_merge(meta, new) self.assertEqual(2, len(meta.keys())) self.assertTrue(meta['actors']) self.assertTrue(meta['things'])
def test_deep_merge_str(self): meta = {"actors":"yes"} new = {"people":"no"} deepmerge.deep_merge(meta, new) self.assertEqual(2, len(meta.keys())) self.assertEqual("yes", meta['actors']) self.assertEqual("no", meta['people'])
def test_deep_merge_nested_list(self): meta = {"actors":["one","two"]} new = {"actors":["two","three"]} deepmerge.deep_merge(meta, new) self.assertEqual(3, len(meta['actors'])) self.assertTrue('one' in meta['actors']) self.assertTrue('two' in meta['actors']) self.assertTrue('three' in meta['actors'])
def load_dir(self, path): data = {} for name in os.listdir(path): subpath = os.path.join(path, name) if os.path.isdir(subpath): deep_merge(data, self.load_dir(subpath)) if os.path.isfile(subpath): deep_merge(data, self.load_id3(subpath)) return data
def load_dir(path): data = {} for name in os.listdir(path): subpath = os.path.join(path, name) if os.path.isdir(subpath): deep_merge(data, load_dir(subpath)) if os.path.isfile(subpath): deep_merge(data, load_id3(subpath)) return data
def test_deep_merge_str_conflict(self): meta = {"actors":"yes"} new = {"actors":"no"} deepmerge.deep_merge(meta, new) self.assertEqual(1, len(meta.keys())) self.assertEqual("no", meta['actors'])