X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2Fwinreg_importer.py;h=a9f5f8a7c0bf23dea8f7cefbd302824878e8b7a5;hb=8d22a2e350167e155a798ae50844e49e8597eb96;hp=4e5131a9e1a120cb18194d1dec812d476fa650f0;hpb=a8fcfb6e93a2bd82ece8953a282c7e28914a646d;p=bertos.git diff --git a/wizard/winreg_importer.py b/wizard/winreg_importer.py index 4e5131a9..a9f5f8a7 100644 --- a/wizard/winreg_importer.py +++ b/wizard/winreg_importer.py @@ -11,32 +11,53 @@ from _winreg import * -DIR_KEY = OpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Develer\BeRTOS SDK\BeRTOS Dirs") -TOOLCHAIN_KEY = OpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Develer\BeRTOS SDK\Toolchain Executables") +# Open the registry keys. When the keys don't exist it do nothing +try: + DIR_KEY = OpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Develer\BeRTOS SDK\BeRTOS Dirs") +except WindowsError: + DIR_KEY = None + +try: + TOOLCHAIN_KEY = OpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Develer\BeRTOS SDK\Toolchain Executables") +except WindowsError: + TOOLCHAIN_KEY = None + +try: + CLI_KEY = OpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Develer\BeRTOS SDK\Ide Command Lines") +except WindowsError: + CLI_KEY = None def getBertosDirs(): """ Returns the path of the BeRTOS versions installed by the BeRTOS SDK installer. """ - return getFromRegistry(DIR_KEY) + return getFromRegistry(DIR_KEY).values() -def getBertosToolchain(): +def getBertosToolchains(): """ Returns the path of the executables of the toolchains installed by the BeRTOS SDK installer. """ - return getFromRegistry(TOOLCHAIN_KEY) + return getFromRegistry(TOOLCHAIN_KEY).values() + +def getCommandLines(): + """ + Returns the command lines to launch in order to open the selected IDE. + """ + return getFromRegistry(CLI_KEY) def getFromRegistry(key): """ Returns the value of all the named values of the given key. """ index = 0 - items = [] - while True: - try: - item = EnumValue(TOOLCHAIN_KEY, index)[1] - items.append(item) - except WindowsError: - break + items = {} + if key: + while True: + try: + item = EnumValue(key, index) + items[item[0]] = item[1] + index += 1 + except WindowsError: + break return items \ No newline at end of file