solaar: handle exceptions processing configuration file
This commit is contained in:
parent
8a3cbc5378
commit
130aa20bb1
|
@ -134,23 +134,26 @@ def _convert_json(json_dict):
|
||||||
|
|
||||||
def _cleanup_load(c):
|
def _cleanup_load(c):
|
||||||
_config = [__version__]
|
_config = [__version__]
|
||||||
for element in c:
|
try:
|
||||||
if isinstance(element, dict):
|
for element in c:
|
||||||
divert = element.get('divert-keys')
|
if isinstance(element, dict):
|
||||||
if divert:
|
divert = element.get('divert-keys')
|
||||||
sliding = element.get('dpi-sliding')
|
if divert:
|
||||||
if sliding: # convert old-style dpi-sliding setting to divert-keys entry
|
sliding = element.get('dpi-sliding')
|
||||||
divert[int(sliding)] = 3
|
if sliding: # convert old-style dpi-sliding setting to divert-keys entry
|
||||||
element.pop('dpi-sliding', None)
|
divert[int(sliding)] = 3
|
||||||
gestures = element.get('mouse-gestures')
|
element.pop('dpi-sliding', None)
|
||||||
if gestures: # convert old-style mouse-gestures setting to divert-keys entry
|
gestures = element.get('mouse-gestures')
|
||||||
divert[int(gestures)] = 2
|
if gestures: # convert old-style mouse-gestures setting to divert-keys entry
|
||||||
element.pop('mouse-gestures', None)
|
divert[int(gestures)] = 2
|
||||||
# remove any string entries (from bad conversions)
|
element.pop('mouse-gestures', None)
|
||||||
element['divert-keys'] = {k: v for k, v in divert.items() if isinstance(k, int)}
|
# remove any string entries (from bad conversions)
|
||||||
# convert to device entries
|
element['divert-keys'] = {k: v for k, v in divert.items() if isinstance(k, int)}
|
||||||
element = _DeviceEntry(**element)
|
# convert to device entries
|
||||||
_config.append(element)
|
element = _DeviceEntry(**element)
|
||||||
|
_config.append(element)
|
||||||
|
except Exception as e:
|
||||||
|
_log.warn('Exception processing config.yaml file, ignoring contents: %s', e)
|
||||||
return _config
|
return _config
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue