From 1ce66b75d8c866ab7afb112a0aef7a8e4f9ffaab Mon Sep 17 00:00:00 2001 From: Stefan Blumentrath Date: Thu, 28 Jan 2016 11:57:38 +0100 Subject: [PATCH] Detect R installation --- python/plugins/processing/algs/r/RUtils.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/python/plugins/processing/algs/r/RUtils.py b/python/plugins/processing/algs/r/RUtils.py index fe2d542f34eb..935fcac2199a 100644 --- a/python/plugins/processing/algs/r/RUtils.py +++ b/python/plugins/processing/algs/r/RUtils.py @@ -47,7 +47,26 @@ class RUtils: def RFolder(): folder = ProcessingConfig.getSetting(RUtils.R_FOLDER) if folder is None: - folder = '' + if isWindows(): + if "ProgramW6432" in os.environ.keys() and os.path.isdir(os.path.join(os.environ["ProgramW6432"],'R')): + testfolder = os.path.join(os.environ["ProgramW6432"],'R') + elif "PROGRAMFILES(x86)" in os.environ.keys() and os.path.isdir(os.path.join(os.environ["PROGRAMFILES(x86)"],'R')): + testfolder = os.path.join(os.environ["PROGRAMFILES(x86)"],'R') + elif "PROGRAMFILES" in os.environ.keys() and os.path.isdir(os.path.join(os.environ["PROGRAMFILES"],'R')): + testfolder = os.path.join(os.environ["PROGRAMFILES"],'R') + else: + testfolder = 'C:\\R' + if os.path.isdir(testfolder): + subfolders = os.listdir(testfolder) + subfolders.sort(reverse=True) + for subfolder in subfolders: + if subfolder.startswith('R-'): + folder = os.path.join(testfolder, subfolder) + break + else: + folder = '' + else: + folder = '' return os.path.abspath(unicode(folder))