def createPortablePackage( self ):
        """create portable 7z package with digest files located in the manifest subdir"""

        if not self.packagerExe:
            utils.die("could not find 7za in your path!")

        if self.package.endswith( "-package" ):
            shortPackage = self.package[ : -8 ]
        else:
            shortPackage = self.package


        if not "setupname" in self.defines or not self.defines[ "setupname" ]:
            self.defines[ "setupname" ] = shortPackage
            if self.subinfo.options.package.withArchitecture:
                    self.defines[ "setupname" ]  += "-" + os.getenv("EMERGE_ARCHITECTURE")
            self.defines[ "setupname" ]  += "-" + self.buildTarget + ".7z" 
        if not "srcdir" in self.defines or not self.defines[ "srcdir" ]:
            self.defines[ "srcdir" ] = self.imageDir()
        for f in self.scriptnames:
            utils.copyFile(f,os.path.join(self.defines[ "srcdir" ],os.path.split(f)[1]))
            
        # make absolute path for output file
        if not os.path.isabs( self.defines[ "setupname" ] ):
            dstpath = self.packageDestinationDir()
            self.defines[ "setupname" ] = os.path.join( dstpath, self.defines[ "setupname" ] )

        utils.deleteFile(self.defines[ "setupname" ])
        cmd = "cd %s && %s a -r %s %s" % (self.defines[ "srcdir" ], self.packagerExe,self.defines[ "setupname" ], '*')
        if not utils.system(cmd):
            utils.die( "while packaging. cmd: %s" % cmd )
Exemple #2
0
def deleteSave(savelist, fromSaveError=False):
    _invalid = ''
    while True:
        _1, _2, _3 = savelist[:3]
        clearScreen()
        print(display['deletesave'].format(_1, _2, _3) + _invalid)
        _invalid = ''

        choice = userInput()
        if choice not in '123b':
            _invalid = '\n    [ Please choose valid option ]\n'
        elif choice == 'b':
            break
        elif int(choice) > len(savelist) - 3:
            _invalid = '\n    [ This save file is empty ]\n'
        else:
            clearScreen()
            print(display['confirm'].format('DELETE'))
            while True:
                confirm = userInput()
                if confirm == 'n':
                    break
                elif confirm == 'y':
                    deleteFile(
                        os.path.join(scriptDirPath, 'saves',
                                     savelist[int(choice) - 1]))
                    savelist.pop(int(choice) - 1)
                    if fromSaveError: return
                    break

    return savelist
Exemple #3
0
    def createPackage(self):
        """ create a package """
        CraftCore.log.debug("packaging using the MacDMGPackager")

        defines = self.setDefaults(self.defines)
        # TODO: provide an image with dbg files
        if not self.internalCreatePackage(defines):
            return False
        appPath = self.getMacAppPath(defines)
        if not appPath:
            return False
        archive = os.path.normpath(self.archiveDir())

        CraftCore.log.info(f"Packaging {appPath}")

        dmgDest = defines["setupname"]
        if os.path.exists(dmgDest):
            utils.deleteFile(dmgDest)
        appName = defines['appname'] + ".app"
        if not utils.system(["create-dmg", "--volname", os.path.basename(dmgDest),
                                # Add a drop link to /Applications:
                                "--icon", appName, "140", "150", "--app-drop-link", "350", "150",
                                dmgDest, appPath]):
            return False

        if not CodeSign.signMacPackage(dmgDest):
                return False
        CraftHash.createDigestFiles(dmgDest)

        return True
Exemple #4
0
    def run ( self ):
        print ( "Runnin' test\n" )

            ## Configuring
            ##
        super ( Test, self ).createTestEnvironment ()

        path_1 = super ( Test, self ).workspacePath ( "file_1.file" )
        path_2 = super ( Test, self ).workspacePath ( "file_2.file" )
        path_3 = super ( Test, self ).workspacePath ( "dir" )
        path_4 = super ( Test, self ).workspacePath ( "dir/file_4.file" )
        path_2t = super ( Test, self ).tempPath ( "file_2.file" )

            ## First pass
            ##
        try:
            self.startDetached ()
                ## Creatin' 32K file and smaller files
            utils.createFile ( path_1, 33 )
            utils.createFile ( path_2, 32768 )

            gc.collect ()
            print ( "XXX: " + str ( gc.garbage ) )
            time.sleep ( 1 )

            utils.checkFileSize ( path_1, 33 )
            utils.deleteFile ( path_1 )

                ## Copyin' files
            utils.checkFileSize ( path_2, 32768 )
            utils.copyFile ( path_2, path_2t )

                ## Directoryin' files
            # utils.createDirectory ( path_3 )
            # utils.copyFile ( path_2, path_4 )
            # utils.listDirectory ( super ( Test, self ).workspacePath ( "." ) )
            # time.sleep ( 1 )


            print ( "XXX: " + str ( gc.garbage ) )
            self.stopDetached ()
        except:
            print ( "XXX: " + str ( gc.garbage ) )
            self.stopDetached ()
            print ( "Error:" + str ( sys.exc_info () [ 0 ] ) )
            raise
            return

            ## Second pass
            ##
        try:
            self.startDetached ()

            self.stopDetached ()
        except:
            self.stopDetached ()
            print ( "Error:" + str ( sys.exc_info () [ 0 ] ) )
            return
Exemple #5
0
def clearStatistics(folder):
    """Remove some files created by statistics.py in a given folder."""
    currentcwd = os.getcwd()
    os.chdir(folder)
    files = ["avg_energy.png", constants.avg_en_vel_filename, constants.avg_dist_filename]
    for f in files:
        path = os.path.join(folder, f)
        utils.deleteFile(path)
    os.chdir(currentcwd)
Exemple #6
0
 def erase(self):
     """Erase the dataset."""
     mmapfiles = []
     for name in self.arrays:
         arr = self.__getattribute__(name)
         if type(arr) == np.memmap:
             mmapfiles.append(arr.filename)
             del arr
     for delfile in mmapfiles:
         utils.deleteFile(delfile)
Exemple #7
0
    def run_protocol(self):
        #print("data",self.alignerList[0])
        #if not os.path.exists("indexes"):
        #	os.mkdir("indexes")
        #os.chdir("indexes")

        #for genome in self.inputfile:

        for aligner in self.alignersList:

            #if os.path.exists(dir):
            #	continue
            #os.mkdir(dir)
            #os.chdir(dir)
            if aligner.upper() == "HISAT":
                objhisat = hisat(inputfile=self.inputfile,
                                 workingpath="aligners/HISAT")
                if (self.parameters[0]['build_index']):
                    runCommand(
                        objhisat.build_command
                    )  #go to the specific directory and run the build command

                    print("Building index file completed.")
                    deleteFile(os.path.join(
                        "/workingpath/",
                        "abc"))  #delete the inputfile to save the space
                #print("if 1",aligner.upper())

                #print(cmd)

            elif aligner.upper() == "HISAT2":
                objhisat2 = hisat2(inputfile=self.inputfile,
                                   workingpath="aligners/HISAT2")
                if (self.parameters[1]['build_index']):
                    runCommand(objhisat2.build_command)

                    print("Building index file completed.")
                    deleteFile(os.path.join(
                        "/workingpath/",
                        "abc"))  #delete the inputfile to save the space

            elif aligner == "BOWTIE":
                cmd = "bowtie-build ../data/%s %s" % (self.inputfile,
                                                      self.inputfile)

            elif aligner == "STAR":
                cmd = "../../aligners/bin/STAR --runMode genomeGenerate --genomeDir . --genomeFastaFiles ../../data/%s.fa" % (
                    self.inputfile)

            elif aligner == "GSNAP":
                cmd = "../../aligners/bin/gmap_build -B ../../aligners/bin -D . -d %s ../../data/%s.fa" % (
                    self.inputfile, self.inputfile)
            else:
                print("Aligner:", aligner, " does not exist.")
                assert False
    def install( self ):
        if self.isTargetBuild():
            # Configuring Qt for WinCE ignores the -prefix option,
            # so we have to do the job manually...

            # delete this because it is not working for windows
            utils.deleteFile( os.path.join( self.buildDir(), "plugin", "bearer", "qnmbearerd4.dll" ))
            utils.deleteFile( os.path.join( self.buildDir(), "plugin", "bearer", "qnmbearer4.dll" ))
            # syncqt expects qconfig.h to be in the install dir and fails if not
            utils.createDir( os.path.join( self.installDir(), "src", "corelib", "global") )
            utils.copyFile( os.path.join( self.buildDir(), "src", "corelib", "global", "qconfig.h" ), os.path.join( self.installDir(), "src", "corelib" , "global", "qconfig.h" ) )
            # headers need to be copied using syncqt because of the relative paths
            utils.prependPath(self.sourceDir(), "bin")
            command = os.path.join(self.sourceDir(), "bin", "syncqt.bat")
            command += " -base-dir \"" + self.sourceDir() + "\""
            command += " -outdir \"" + self.installDir() + "\""
            command += " -copy"
            command += " -quiet"
            utils.system( command )
            utils.copySrcDirToDestDir( os.path.join( self.buildDir(), "bin" ) , os.path.join( self.installDir(), "bin" ) )
            utils.copySrcDirToDestDir( os.path.join( self.buildDir(), "lib" ) , os.path.join( self.installDir(), "lib" ) )
            # the dlls must be copied to the bin dir too
            for file in os.listdir( os.path.join( self.installDir(), "lib" ) ):
                if file.endswith( ".dll" ):
                    utils.copyFile( os.path.join( self.installDir(), "lib" , file ), os.path.join( self.installDir(), "bin" , file ) )
            utils.copySrcDirToDestDir( os.path.join( self.buildDir(), "mkspecs" ) , os.path.join( self.installDir(), "mkspecs" ) )
            utils.copySrcDirToDestDir( os.path.join( self.buildDir(), "plugins" ) , os.path.join( self.installDir(), "plugins" ) )
            # create qt.conf
            utils.copyFile( os.path.join( self.packageDir(), "qt.conf" ), os.path.join( self.installDir(), "bin", "qt.conf" ) )
            return True

        if not QMakeBuildSystem.install(self):
            return False

        # Workaround QTBUG-12034
        utils.copySrcDirToDestDir( os.path.join( self.buildDir(), "plugins", "imageformats" ) ,
                                    os.path.join( self.installDir(), "bin", "imageformats" ) )

        # create qt.conf
        utils.copyFile( os.path.join( self.packageDir(), "qt.conf" ), os.path.join( self.installDir(), "bin", "qt.conf" ) )

        # install msvc debug files if available
        if self.buildType() == "Debug" and (self.compiler() == "msvc2005" or self.compiler() == "msvc2008" or self.compiler() == "msvc2010"):
            srcdir = os.path.join( self.buildDir(), "lib" )
            destdir = os.path.join( self.installDir(), "lib" )

            filelist = os.listdir( srcdir )

            for file in filelist:
                if file.endswith( ".pdb" ):
                    utils.copyFile( os.path.join( srcdir, file ), os.path.join( destdir, file ) )

        return True
def removeChannel(id):
    channel = getChannelFromFile(id) 

    if not channel:
        return False

    if channel.userDef != 1 and channel.isClone != 1:
        return False

    if not utils.DialogYesNo('Remove %s' % channel.title, noLabel='Cancel', yesLabel='Confirm'):
        return False

    path = os.path.join(TVP_CHANNELS, id)
    utils.deleteFile(path)

    return True
Exemple #10
0
    def install(self):
        """Using *make install"""
        self.cleanImage()
        self.enterBuildDir()

        args = self.makeOptions(self.subinfo.options.install.args)

        destDir = self.shell.toNativePath(self.installDir())
        args += [f"DESTDIR={destDir}"]
        with utils.ScopedEnv({"DESTDIR": destDir}):
            if not self.shell.execute(self.buildDir(), self.makeProgram, args):
                return False

        # la files aren't relocatable and until now we lived good without them
        laFiles = glob.glob(os.path.join(self.imageDir(), "**/*.la"),
                            recursive=True)
        for laFile in laFiles:
            if not utils.deleteFile(laFile):
                return False

        if not self._fixInstallPrefix(
                self.shell.toNativePath(self.installPrefix())):
            return False
        if CraftCore.compiler.isMSVC():
            # libtool produces intl.dll.lib while we expect intl.lib
            lib = glob.glob(os.path.join(self.imageDir(), "lib/**/*.dll.lib"),
                            recursive=True)
            for src in lib:
                src = Path(src)
                dest = src.with_suffix("").with_suffix(".lib")
                if not dest.exists():
                    if not utils.moveFile(src, dest):
                        return False
        return True
Exemple #11
0
def removeChannel(id):
    channel = getChannelFromFile(id)

    if not channel:
        return False

    if channel.userDef != 1 and channel.isClone != 1:
        return False

    if not utils.DialogYesNo(
            'Remove %s' % channel.title, noLabel='Cancel', yesLabel='Confirm'):
        return False

    path = os.path.join(OTT_CHANNELS, id)
    utils.deleteFile(path)

    return True
Exemple #12
0
def combineIQData(fileName, iqSavedCount, sampleRate, bps):
    fileOutput = "{}.wav".format(fileName)

    for p in range(iqSavedCount):
        fileInput = "{}-{:05d}.iq".format(fileName, p)

        try:
            file = open(fileInput, "rb")
            if bps == 8:
                data = np.fromfile(file, dtype=np.int8)
                fileData = data.astype('int16')
                fileData *= 32
            else:
                fileData = np.fromfile(file, dtype=np.int16)
                #fileData.byteswap(True)
                #fileData = fileData.byteswap().newbyteorder()
                #fileData = data.astype('int16')
                #print("D", type(fileData[0]), len(fileData))
                #for d in range(len(fileData)/2):
                #    v = fileData[2*d]
                #    fileData[2*d] = fileData[2*d+1]
                #    fileData[2*d+1] = v
            file.close()

            if p % 100 == 0:
                print("Combine chunks: {} of {}".format(p + 1, iqSavedCount))

            if p == 0:
                # Create new file
                with open(fileOutput, "wb") as fileNew:
                    cnt = len(fileData)
                    w = WaveFile(sample_rate=sampleRate,
                                 samples_num=cnt * iqSavedCount)
                    w.saveHeader(fileNew)
                    fileNew.write(fileData)
            else:
                # Append to the end
                with open(fileOutput, "ab") as fileAppend:
                    fileAppend.write(fileData)

            utils.deleteFile(fileInput)
        except Exception as e:
            exc_type, exc_obj, tb = sys.exc_info()
            print("combineIQData error:", str(e), e.args[0], tb.tb_lineno)

    print("Done")
Exemple #13
0
    def createPackage(self):
        """ create a package """
        CraftCore.log.debug("packaging using the MacDMGPackager")
        if not CraftCore.cache.findApplication("packagesutil"):
            CraftCore.log.critical(
                "Craft requires dev-utils/packagesdev to create a package, please install dev-utils/packagesdev\n"
                "\t'craft dev-utils/packagesdev'")
            return False

        defines = self.setDefaults(self.defines)
        if not "pkgproj" in defines:
            CraftCore.log.error(
                "Cannot not create .pkg because no .pkgproj was defined.")
            return False
        if not self.internalCreatePackage(
                defines, seperateSymbolFiles=True, packageSymbols=True):
            return False

        packageDest = Path(defines["setupname"])
        if packageDest.exists():
            utils.deleteFile(packageDest)

        pkgprojPath = defines["pkgproj"]
        # set output file basename
        packagesutil = CraftCore.cache.findApplication("packagesutil")
        if not utils.system([
                packagesutil, '--file', pkgprojPath, 'set', 'project', 'name',
                packageDest.stem
        ]):
            return False

        packagesbuild = CraftCore.cache.findApplication("packagesbuild")
        if not utils.system([
                packagesbuild, "-v", '--reference-folder',
                os.path.dirname(self.getMacAppPath(defines)), '--build-folder',
                packageDest.parent, pkgprojPath
        ]):
            return False

        if not CodeSign.signMacPackage(packageDest):
            return False

        CraftHash.createDigestFiles(packageDest)

        return True
Exemple #14
0
def combineImages(imageFileName, filesSavedCount, doRemove=True):
    try:
        folder = utils.getAppFolder()
        # Combine several images to a big one
        print("Combine files:")
        imgData = None
        for p in range(filesSavedCount):
            fileName = "{}-{:05d}.jpg".format(imageFileName, p)
            filePath = utils.makeFilePath(folder, fileName)
            try:
                img = imageProcessing.loadImage(filePath)
                if imgData is None:
                    # Add first image as is
                    imgData = imageProcessing.imageToArray(img)
                else:
                    # Remove header from other images
                    width, height = img.size
                    headerH = imageProcessing.getHeaderHeight()
                    imgCrop = img.crop((0, headerH, width, height - headerH))
                    data = imageProcessing.imageToArray(imgCrop)
                    imgData = np.append(imgData, data, axis=0)

                print("{} added".format(fileName))
            except:
                print("{} ignored".format(fileName))

        # Save result
        fileName = "{}.jpg".format(imageFileName)
        filePath = utils.makeFilePath(folder, fileName)
        imgOut = imageProcessing.imageFromArray(imgData)
        imgOut.save(filePath)
        print("Done, {} saved".format(filePath))

        if doRemove is False: return

        # Remove originals
        for p in range(filesSavedCount):
            fileName = "{}-{:05d}.jpg".format(imageFileName, p)
            filePath = utils.makeFilePath(folder, fileName)
            utils.deleteFile(filePath)

    except Exception as e:
        exc_type, exc_obj, tb = sys.exc_info()
        print("combineImages error:", e.args[0], tb.tb_lineno)
Exemple #15
0
	def contextMenuEvent(self, pos):
		if self.selectionModel().selection().indexes():
			for i in self.selectionModel().selection().indexes():
				row, column = i.row(), i.column()
			menu = QtGui.QMenu()
			if self._slideShowWin:
				openAction = menu.addAction("Open")
			renaAction = menu.addAction("Rename")
			# TODO: implemented only for osx
			if sys.platform == 'darwin':
				deleAction = menu.addAction("Delete")
			action = menu.exec_(self.mapToGlobal(pos))
			if action == openAction:
				self.openAction(row, column)
			if action == renaAction:
				self.edit(self.selectionModel().currentIndex())
			if action == deleAction:
				utils.deleteFile(self._twoDLst[row][column][0])
				self.updateModel()
Exemple #16
0
def performUpdate(response, silent):
    try:
        version = response['Version']
        link    = response['Link']
        md5     = response['MD5']
    except:
        return

    path = getDownloadPath()

    if utils.generateMD5(path) != md5:
        if (not silent) and (not utils.yesno(1, 10, 11)):
            return

        dp = None
    
        if not silent:
            dp = utils.progress(1, 14, 15)

        hash   = 0
        count  = 0
        nTries = 3

        if not silent:
            nTries = 1
    
        while (count < nTries) and (hash != md5):
            count += 1
            try:        
                download(link,path,version,dp)
                hash = utils.generateMD5(path)
            except Exception, e:
                utils.deleteFile(path)
                if str(e) == 'Canceled':                    
                    return

        if hash != md5:
            utils.unflagUpdate()
            utils.deleteFile(path)
            utils.setSetting('dVersion', '0.0.0')
            if not silent:
                utils.ok(1, 24, 13)
            return
Exemple #17
0
def performUpdate(response, silent):
    try:
        version = response['Version']
        link = response['Link']
        md5 = response['MD5']
    except:
        return

    path = getDownloadPath()

    if utils.generateMD5(path) != md5:
        if (not silent) and (not utils.yesno(1, 10, 11)):
            return

        dp = None

        if not silent:
            dp = utils.progress(1, 14, 15)

        hash = 0
        count = 0
        nTries = 3

        if not silent:
            nTries = 1

        while (count < nTries) and (hash != md5):
            count += 1
            try:
                download(link, path, dp)
                hash = utils.generateMD5(path)
            except Exception, e:
                utils.deleteFile(path)
                if str(e) == 'Canceled':
                    return

        if hash != md5:
            utils.unflagUpdate()
            utils.deleteFile(path)
            utils.setSetting('dVersion', '0.0.0')
            if not silent:
                utils.ok(1, 24, 13)
            return
    def cut_images(self, srcFolder, destFolder):
        num = 0
        fileNames = utils.eachFile(srcFolder)
        for fileName in fileNames:
            image = cv2.imread(fileName)

            if(image is None):
                utils.deleteFile(fileName)
                continue

            width, height, channel = image.shape
            if(width > 400 and height > 400):
                num += 1
                print(num, width, height)
                image = cv2.resize(image, (400, 400))

                fileName = re.findall(srcFolder + '/(.*)', fileName)[0]
                newFilePath = os.path.join(destFolder, fileName)
                cv2.imwrite(newFilePath, image)
    def reduce_size(self, srcFolder, destFolder, magnification):
        if (magnification >= 1):
            print('Magnification must be less than 1!')
            return False

        fileNames = utils.eachFile(srcFolder)
        for fileName in fileNames:
            image = cv2.imread(fileName)

            # 删除不可用图片
            if(image is None):
                utils.deleteFile(fileName)
                continue

            width, height, channel = image.shape
            # 向下取整缩小
            output = cv2.resize(image, (int(width * magnification), int(height * magnification)),
                                interpolation=cv2.INTER_AREA)

            fileName = re.findall(srcFolder+'/(.*)' ,fileName)[0]
            newFilePath = os.path.join(destFolder, fileName)
            cv2.imwrite(newFilePath, output)
Exemple #20
0
    def install(self):
        """Using *make install"""
        self.cleanImage()
        self.enterBuildDir()

        command = self.makeProgram
        args = self.makeOptions(self.subinfo.options.install.args)

        destDir = self.shell.toNativePath(self.installDir())
        args += [f"DESTDIR={destDir}"]
        with utils.ScopedEnv({"DESTDIR" : destDir}):
            if not self.shell.execute(self.buildDir(), command, args):
                return False

        # la files aren't relocatable and until now we lived good without them
        laFiles = glob.glob(os.path.join(self.imageDir(), "**/*.la"), recursive=True)
        for laFile in laFiles:
            if not utils.deleteFile(laFile):
                return False

        return self._fixInstallPrefix(self.shell.toNativePath(self.installPrefix()))
Exemple #21
0
def performManualUpdate(response, silent):
    try:
        import xbmcgui
        path = getDownloadPath()
        select_name=['Cancel']
        select_url=['Cancel']
        
        for i in json.loads(response):
        
           cVersion = utils.getSetting('cVersion')
           
           if not cVersion in i['Version']:
               select_name.append(i['Version'])
               select_url.append(i['Link']+'*'+i['Version']+'*'+i['MD5'])
               
        link = select_url[xbmcgui.Dialog().select('Your Current Firmware '+ cVersion , select_name)]
        
        if 'Cancel' in link:
            return
        url = link.split('*')[0]
        version = link.split('*')[1]
        md5 = link.split('*')[2]
        
        if utils.generateMD5(path) != md5:
            if (not silent) and (not utils.yesno(1, 11, 0)):
            
                return
    
            dp = None
        
            if silent:
                dp = utils.progress(1, 14, 15)
    
            hash   = 0
            count  = 0
            nTries = 3
    
            if not silent:
                nTries = 1
        
            while (count < nTries) and (hash != md5):
                count += 1
                try:        
                    download(url,path,version,dp)
                    hash = utils.generateMD5(path)
                except Exception, e:
                    utils.deleteFile(path)
                    if str(e) == 'Canceled':                    
                        return
    
            if hash != md5:
                utils.unflagUpdate()
                utils.deleteFile(path)
                utils.setSetting('dVersion', '0.0.0')
                if not silent:
                    utils.ok(1, 24, 13)
                return
            
        utils.setSetting('dVersion', version)
        
        
        if not utils.okReboot(1, 23, 16, 18, delay = 15):
            return
    
        reboot()
Exemple #22
0
def performManualUpdate(response, silent):
    try:
        import xbmcgui
        path = getDownloadPath()
        select_name = ['Cancel']
        select_url = ['Cancel']

        for i in json.loads(response):

            cVersion = utils.getSetting('cVersion')

            if not cVersion in i['Version']:
                select_name.append(i['Version'])
                select_url.append(i['Link'] + '*' + i['Version'] + '*' +
                                  i['MD5'])

        link = select_url[xbmcgui.Dialog().select(
            'Your Current Firmware ' + cVersion, select_name)]

        if 'Cancel' in link:
            return
        url = link.split('*')[0]
        version = link.split('*')[1]
        md5 = link.split('*')[2]

        if utils.generateMD5(path) != md5:
            if (not silent) and (not utils.yesno(1, 11, 0)):

                return

            dp = None

            if silent:
                dp = utils.progress(1, 14, 15)

            hash = 0
            count = 0
            nTries = 3

            if not silent:
                nTries = 1

            while (count < nTries) and (hash != md5):
                count += 1
                try:
                    download(url, path, version, dp)
                    hash = utils.generateMD5(path)
                except Exception, e:
                    utils.deleteFile(path)
                    if str(e) == 'Canceled':
                        return

            if hash != md5:
                utils.unflagUpdate()
                utils.deleteFile(path)
                utils.setSetting('dVersion', '0.0.0')
                if not silent:
                    utils.ok(1, 24, 13)
                return

        utils.setSetting('dVersion', version)

        if not utils.okReboot(1, 23, 16, 18, delay=15):
            return

        reboot()
Exemple #23
0

def _replaceSetting(reg,new,text):
        return re.compile(reg, re.MULTILINE).sub(new,text)

def resetSettings():
    with open( os.path.join( EmergeStandardDirs.etcDir(), "kdesettings.ini.backup"),"rt+") as fin:
        text = fin.read()
    text = _replaceSetting("^PACKAGE_IGNORES.*$", "PACKAGE_IGNORES =", text)
    text = _replaceSetting("^EMERGE_USE_CCACHE.*$", "#EMERGE_USE_CCACHE = True", text)
    text = _replaceSetting("^Python =.*$", "Python = C:\python34", text)
    text = _replaceSetting("^DOWNLOADDIR =.*$", "#DOWNLOADDIR = C:\kde\download", text)
    with open( os.path.join( EmergeStandardDirs.etcDir(), "kdesettings.ini"),"wt+") as fout:
        fout.write(text)

if __name__ == "__main__":
    EmergeDebug.setVerbose(3)
    # we don't use the db directly and the file must not be locked
    del InstallDB.installdb
    backup()
    removeFromDB("dev-util")
    removeFromDB("gnuwin32")
    # we cant use the ini support to modify the settings as it would kill the comments
    resetSettings()
    utils.system("cd %s && git clean -xdf" % os.path.join(EmergeStandardDirs.emergeRoot(), "emerge"))
    utils.createDir(EmergeStandardDirs.tmpDir())
    archiveName = os.path.join(EmergeStandardDirs.tmpDir(), "framewroks-sdk-%s-%s-%s.7z" % (compiler.getCompilerName(), compiler.architecture(), datetime.datetime.fromtimestamp(time.time()).strftime('%Y-%m-%d')))
    utils.deleteFile(archiveName)
    utils.system("7za  a %s %s -x!build -x!msys -x!dev-utils -x!tmp -x!mingw* -x!etc/kdesettings.ini.backup -x!etc/portage/install.db.backup" % ( archiveName, EmergeStandardDirs.emergeRoot()))
    #utils.copyFile(os.path.join( EmergeStandardDirs.etcDir(), "kdesettings.ini"), os.path.join( EmergeStandardDirs.etcDir(), "kdesettings.ini.backup2"),linkOnly=False)
    restore()
        title = 'History {:02d}/{:02d}'.format(historyMonth,
                                               year - int(year / 100) * 100)
        book.duplicate_sheet(historySheet.id,
                             HIST_SHEET_INDEX + 1,
                             new_sheet_name=title)

        # now freeze values
        log.info('Freezing values in archive')
        archiveSheet = book.get_worksheet(HIST_SHEET_INDEX + 1)
        historyCells = archiveSheet.range(HIST_START_ROW, HIST_START_COL - 1,
                                          HIST_START_ROW + 31 - 1,
                                          HIST_END_COL)
        archiveSheet.update_cells(historyCells,
                                  value_input_option='USER_ENTERED')

    # clear previous month history
    log.info('Clearing previous month history')
    for d in range(1, 32):
        historySheet.update_cell(d + HIST_START_ROW - 1, HIST_START_COL, '')
    historySheet.update_acell(HIST_MONTH_CELL, month)

# now update daily value
log.info('Updating history sheet')
historySheet.update_cell(day + HIST_START_ROW - 1, HIST_START_COL, usedData)

# delete cache
utils.deleteFile(CACHE_USAGE)

# done
finish(args, usageData, gSheetUrl)