def test_package_repo(self): """ Test retrieving/setting the package repo """ self.assertEqual(RUtils.package_repo(), 'http://cran.at.r-project.org/') ProcessingConfig.setSettingValue(RUtils.R_REPO, 'http://mirror.at.r-project.org/') self.assertEqual(RUtils.package_repo(), 'http://mirror.at.r-project.org/') ProcessingConfig.setSettingValue(RUtils.R_REPO, 'http://cran.at.r-project.org/') self.assertEqual(RUtils.package_repo(), 'http://cran.at.r-project.org/')
def build_script_header_commands(self, _, __, ___): """ Builds the set of script startup commands for the algorithm """ commands = list() # Just use main mirror commands.append('options("repos"="{}")'.format(RUtils.package_repo())) # Try to install packages if needed if RUtils.use_user_library(): commands.append('.libPaths(\"' + str(RUtils.r_library_folder()).replace('\\', '/') + '\")') packages = RUtils.get_required_packages(self.script) packages.extend(['rgdal', 'raster']) for p in packages: commands.append('tryCatch(find.package("' + p + '"), error=function(e) install.packages("' + p + '", dependencies=TRUE))') commands.append('library("raster")') commands.append('library("rgdal")') return commands