From 049836960166855a90afcbea972db5a2ca124691 Mon Sep 17 00:00:00 2001 From: chrys87 Date: Mon, 11 Jul 2016 11:37:43 +0200 Subject: [PATCH] Update settingsManager.py --- src/fenrir-package/core/settingsManager.py | 67 +++++++++++++++++++++- 1 file changed, 66 insertions(+), 1 deletion(-) diff --git a/src/fenrir-package/core/settingsManager.py b/src/fenrir-package/core/settingsManager.py index 37b554cd..b8444255 100644 --- a/src/fenrir-package/core/settingsManager.py +++ b/src/fenrir-package/core/settingsManager.py @@ -1,5 +1,70 @@ #!/bin/python +from configparser import ConfigParser +import settings.settings class settingsManager(): def __init__(self): - pass + + def loadShortcuts(self, environment, kbConfigPath='../../config/keyboard/desktop.kb'): + kbConfig = open(kbConfigPath,"r") + while(True): + line = kbConfig.readline() + if not line: + break + line = line.replace('\n','') + if line.replace(" ","").startswith("#"): + continue + if line.count("=") != 1: + continue + sepLine = line.split('=') + commandString = sepLine[1] + keys = sepLine[0].replace(" ","").split(',') + currShortcut = [] + validKeyString = True + for key in keys: + if len(key) < 3: + validKeyString = False + break + if not key[0] in ['0','1','2']: + validKeyString = False + break + if key[1] != '-': + validKeyString = False + break + if key[2:] != '': + keyInt = self.getCodeForKeyID(key[2:]) + else: + validKeyString = False + break + if keyInt == 0: + validKeyString = False + break + if not validKeyString: + break + else: + currShortcut.append(key[0] + '-' + str(keyInt)) + if validKeyString: + keyString = '' + for k in sorted(currShortcut): + if keyString != '': + keyString += ',' + keyString += k + environment['bindings'][keyString] = commandString + kbConfig.close() + return environment + + def getCodeForKeyID(self, keyID): + try: + return evdev.ecodes.ecodes[keyID.upper()] + except: + return 0 + + def loadSettings(self, environment, settingConfigPath='../../config/settings/settings.cfg'): + environment['settings'] = ConfigParser() + environment['settings'].read(settingConfigPath) + return environment + + def getSetting(self, environment, setting): + value = True # do be implemented + return value +