Пример #1
0
 def CreatePackageFolder(self):
     if not InstallService.create_tools_folder(self.toolsdir):
         return False
     if not InstallService.create_package_folder(self.toolsdir,
                                                 'matplotlib'):
         return False
     return True
 def CreatePackageFolder(self):
     if not InstallService.create_tools_folder(self.toolsdir):
         return False
     if not InstallService.create_package_folder(self.toolsdir,
                                                 'delphesMA5tune'):
         return False
     return True
 def Download(self):
     # Checking connection with MA5 web site
     if not InstallService.check_ma5site():
         return False
     # Launching wget
     logname = os.path.normpath(self.installdir + '/wget_contrib.log')
     if not InstallService.wget(self.files, logname, self.downloaddir):
         return False
     # Ok
     return True
Пример #4
0
 def Download(self):
     # Checking connection with InSpire and the ma5 website
     if not InstallService.check_inspire():
         return False
     if not InstallService.check_ma5site():
         return False
     # Launching wget
     logname = os.path.normpath(self.installdir+'/wget_analyses.log')
     if not InstallService.wget(self.files,logname,self.downloaddir):
         return False
     # delphes cards
     logname = os.path.normpath(self.installdir+'/wget_delphescards.log')
     if not InstallService.wget(self.delphescards,logname,self.downloaddir):
         return False
     # Ok
     return True
Пример #5
0
 def Unpack(self):
     # Logname
     logname = os.path.normpath(self.installdir+'/unpack.log')
     # Unpacking the tarball
     ok, packagedir = InstallService.untar(logname, self.downloaddir, self.tmpdir,'fastjet.tar.gz')
     if not ok:
         return False
     # Ok: returning the good folder
     self.tmpdir=packagedir
     return True
Пример #6
0
 def GetNcores(self):
     self.ncores = InstallService.get_ncores(self.main.archi_info.ncores,\
                                             self.main.forced)
 def CreateTmpFolder(self):
     ok = InstallService.prepare_tmp(self.untardir, self.downloaddir)
     if ok:
         self.tmpdir = self.untardir
     return ok
Пример #8
0
    def Unpack(self):
        # Logname
        logname = os.path.normpath(self.installdir + '/unpack.log')
        # Unpacking the tarball
        ok, packagedir = InstallService.untar(logname, self.downloaddir,
                                              self.tmpdir, 'delphes.tar.gz')
        if not ok:
            return False
        # Getting the list of files
        self.logger.debug('Getting the list of files ...')
        myfiles = glob.glob(packagedir + '/*')
        self.logger.debug('=> ' + str(myfiles))
        # Moving files from packagedir to installdir
        self.logger.debug('Moving files from ' + packagedir + ' to ' +
                          self.installdir + ' ...')
        for myfile in myfiles:
            myfile2 = myfile.split('/')[-1]
            if os.path.isdir(myfile):
                try:
                    shutil.copytree(myfile, self.installdir + '/' + myfile2)
                except:
                    self.logger.error('impossible to move the file/folder ' +
                                      myfile + ' from ' + packagedir + ' to ' +
                                      self.installdir)
                    return False
            else:
                try:
                    shutil.copy(myfile, self.installdir + '/' + myfile2)
                except:
                    self.logger.error('impossible to move the file/folder ' +
                                      myfile + ' from ' + packagedir + ' to ' +
                                      self.installdir)
                    return False

        # Updating Makefile
        filename = self.installdir + '/Makefile'
        self.logger.debug('Updating files ' + filename + ': no CMSSW\n')
        self.SwitchOffCMSSW(filename)

        # Updating Makefile
        filename = self.installdir + '/doc/genMakefile.tcl'
        self.logger.debug('Updating files ' + filename + ': no CMSSW\n')
        self.SwitchOffCMSSW(filename)

        # Updating DelphesFormula
        filename = self.installdir + '/classes/DelphesFormula.cc'
        self.logger.debug('Updating files ' + filename + ': adding d0\n')
        self.AddD0(filename)

        # Updating ExRootTask
        filename = self.installdir + '/external/ExRootAnalysis/ExRootTask.cc'
        self.logger.debug('Updating files: commenting out lines in: ' +
                          filename + ' ...')
        self.CommentLines(filename, [64, 65, 66], '//')

        # Updating ExRootTask
        filename = self.installdir + '/external/ExRootAnalysis/ExRootConfReader.cc'
        self.logger.debug('Updating files: commenting out lines in: ' +
                          filename + ' ...')
        self.CommentLines(filename, [177, 178, 179, 180], '//')

        # Adding files
        filesToAdd = ["MA5GenParticleFilter", "MA5EfficiencyD0"]
        if not self.CopyFiles(filesToAdd):
            return False
        if not self.UpdateDictionnary(filesToAdd):
            return False

        # Ok
        return True
 def Unpack(self):
     # Logname
     logname = os.path.normpath(self.installdir + '/unpack.log')
     # Unpacking the tarball
     ok, packagedir = InstallService.untar(logname, self.downloaddir,
                                           self.tmpdir,
                                           'delphestune.tar.gz')
     if not ok:
         return False
     # Copying the patch
     self.logger.debug('Copying the patch ...')
     input = self.toolsdir + '/SampleAnalyzer/Interfaces/delphesMA5tune/patch_delphesMA5tune.tgz'
     output = packagedir + '/patch_delphesMA5tune.tgz'
     try:
         shutil.copy(input, output)
     except:
         self.logger.error('impossible to copy the patch ' + input +
                           ' to ' + output)
         return False
     # Unpacking the folder
     logname = os.path.normpath(self.installdir + '/unpack_patch.log')
     theCommands = ['tar', 'xzf', 'patch_delphesMA5tune.tgz']
     self.logger.debug('shell command: ' + ' '.join(theCommands))
     ok, out= ShellCommand.ExecuteWithLog(theCommands,\
                                          logname,\
                                          packagedir,\
                                          silent=False)
     if not ok:
         self.logger.error('impossible to untar the patch ' + output)
         return False
     # Applying the patch
     logname = os.path.normpath(self.installdir + '/patch.log')
     theCommands = [sys.executable, 'patch.py']
     self.logger.debug('shell command: ' + ' '.join(theCommands))
     ok, out= ShellCommand.ExecuteWithLog(theCommands,\
                                          logname,\
                                          packagedir,\
                                          silent=False)
     if not ok:
         self.logger.error('impossible to apply the patch ' + output)
         return False
     # Getting the list of files
     self.logger.debug('Getting the list of files ...')
     myfiles = glob.glob(packagedir + '/*')
     self.logger.debug('=> ' + str(myfiles))
     # Moving files from packagedir to installdir
     self.logger.debug('Moving files from ' + packagedir + ' to ' +
                       self.installdir + ' ...')
     for myfile in myfiles:
         myfile2 = myfile.split('/')[-1]
         if os.path.isdir(myfile):
             try:
                 shutil.copytree(myfile, self.installdir + '/' + myfile2)
             except:
                 self.logger.error('impossible to move the file/folder ' +
                                   myfile + ' from ' + packagedir + ' to ' +
                                   self.installdir)
                 return False
         else:
             try:
                 shutil.copy(myfile, self.installdir + '/' + myfile2)
             except:
                 self.logger.error('impossible to move the file/folder ' +
                                   myfile + ' from ' + packagedir + ' to ' +
                                   self.installdir)
                 return False
     # Ok
     return True
Пример #10
0
 def CreatePackageFolder(self):
     return InstallService.create_package_folder(self.main.archi_info.ma5dir,'samples')