Esempio n. 1
0
def loadRequiredPackages(required, loadingProgressBar):
    try:  # protect the required functions in a try statement, we want to load these things and they should be there but we can't force it to exist in older schemas, so this is in a try.
        required = cPickle.loads(required)
        if len(required) > 0:
            if 'CRANrepos' in redREnviron.settings.keys():
                repo = redREnviron.settings['CRANrepos']
            else:
                repo = None
            loadingProgressBar.setLabelText(_('Loading required R Packages. If not found they will be downloaded.\n This may take a while...'))
            RSession.require_librarys(required['R'], repository=repo)
        
        installedPackages = redRPackageManager.getInstalledPackages()
        downloadList = {}
        print type(required['RedR'])
        #print required['RedR']
        
        for name,package in required['RedR'].items():
            #print package
            if (package['Name'] not in installedPackages.keys()) or (float(package['Version']['Number']) > float(installedPackages[package['Name']]['Version']['Number'])):
                print 'my package number %s' % str(float(installedPackages[package['Name']]['Version']['Number'])), 'their package number %s' % str(float(package['Version']['Number']))
                downloadList[package['Name']] = {'Version':unicode(package['Version']['Number']), 'installed':False}

        if len(downloadList.keys()) > 0:
            pm = redRPackageManager.packageManager(canvasDlg)
            pm.show()
            pm.askToInstall(downloadList, _('The following packages need to be installed before the session can be loaded.'))
    except Exception as inst: 
        redRLog.log(redRLog.REDRCORE, redRLog.ERROR, _('redRSaveLoad loadRequiredPackages; error loading package %s') % inst)  
Esempio n. 2
0
    def require_librarys(self, librarys, repository=None):
        qApp.setOverrideCursor(Qt.WaitCursor)
        if not repository and 'CRANrepos' in redREnviron.settings.keys():
            repository = redREnviron.settings['CRANrepos']

        #print _('Loading required librarys')
        success = RSession.require_librarys(librarys=librarys,
                                            repository=repository)
        self.requiredRLibraries.extend(librarys)
        qApp.restoreOverrideCursor()
        return success
Esempio n. 3
0
def loadRequiredPackages(required, loadingProgressBar):
    try:  # protect the required functions in a try statement, we want to load these things and they should be there but we can't force it to exist in older schemas, so this is in a try.
        required = cPickle.loads(required)
        if len(required) > 0:
            if 'CRANrepos' in redREnviron.settings.keys():
                repo = redREnviron.settings['CRANrepos']
            else:
                repo = None
            loadingProgressBar.setLabelText(
                _('Loading required R Packages. If not found they will be downloaded.\n This may take a while...'
                  ))
            RSession.require_librarys(required['R'], repository=repo)

        installedPackages = redRPackageManager.packageManager.getInstalledPackages(
        )
        downloadList = {}
        print type(required['RedR'])
        #print required['RedR']

        for name, package in required['RedR'].items():
            #print package
            if not (package['Name'] in installedPackages.keys()
                    and package['Version']['Number'] == installedPackages[
                        package['Name']]['Version']['Number']):
                downloadList[package['Name']] = {
                    'Version': unicode(package['Version']['Number']),
                    'installed': False
                }

        if len(downloadList.keys()) > 0:
            pm = redRPackageManager.packageManagerDialog()
            pm.show()
            pm.askToInstall(
                downloadList,
                _('The following packages need to be installed before the session can be loaded.'
                  ))
    except Exception as inst:
        redRLog.log(
            redRLog.REDRCORE, redRLog.ERROR,
            _('redRSaveLoad loadRequiredPackages; error loading package %s') %
            inst)
Esempio n. 4
0
 def require_librarys(self, librarys, repository = None, load = True):
     """Load R libraries using the :mod:`RSession` require_librarys function.
     
     Takes a list of strings as R libraries to load.  These should be valid R packages or an error will occur.  repository is an optional argument to specity a custom repository if the library is not in a standard location.
     """
     qApp.setOverrideCursor(Qt.WaitCursor)
     if not repository and 'CRANrepos' in redREnviron.settings.keys():
         repository = redREnviron.settings['CRANrepos']
     
     #print _('Loading required librarys')
     try:
         success = RSession.require_librarys(librarys = librarys, repository = repository, load = load)
         self.requiredRLibraries.extend(librarys)
     finally:
         qApp.restoreOverrideCursor()
         return success
Esempio n. 5
0
 def require_librarys(self, libraries):
     return RSession.require_librarys(libraries)
Esempio n. 6
0
 def require_librarys(self, libraries):
     return RSession.require_librarys(libraries)
Esempio n. 7
0
 def resolveRDependencies(self, packageList):
     import RSession
     packageList = [x.strip() for x in packageList]
     RSession.require_librarys(packageList)