import threading
import yaml
import sys
+import copy
from collections import defaultdict
from transitions.extensions import HierarchicalMachine as Machine
isinstance(config['key_properties'], dict):
common_key_properties = config['key_properties']['common']
include_aliases(common_key_properties, aliases)
+ check_key_property(common_key_properties, 'common')
elif 'common' in config['key_properties']:
warn_print("'common' key in key_properties is not a hash, ignored")
key_properties = defaultdict(lambda: {
"actions": [],
- "properties": {},
+ "properties": copy.deepcopy(common_key_properties),
"files": []
})
continue
include_aliases(key_prop, aliases)
- for _key in common_key_properties:
- key_prop.setdefault(_key, common_key_properties[_key])
-
check_key_property(key_prop, key)
- key_properties[key]["properties"] = key_prop
+ key_properties[key]["properties"].update(key_prop)
for mapped_key in check_mapped_keys(config):
for index, action in enumerate(check_mapped_key(