コード例 #1
0
ファイル: extractor.py プロジェクト: sproaty/whyteboard
    def extract(download):
        """
        Extract either a .zip or a .tar.gz file into the user's home folder,
        backs up the current program directory on Windows that contains the latest Whyteboard
        source code and resources
        """
        extracted_location = os.path.join(get_home_dir(), "whyteboard-" + download.version)
        backup_direcctory = os.path.join(get_home_dir(), "backup", meta.version)
        program_directory = get_path()
        archive = download.filesystem_path()
        logger.debug("Extracting archive file")

        logger.debug("Backing up current program [%s] to [%s]", program_directory, backup_direcctory)
        distutils.dir_util.copy_tree(program_directory, backup_direcctory)
        
        if is_exe():
            os.rename(sys.argv[0], "whyteboard-tmp.exe")
            _file = zipfile.ZipFile(archive)
        else:
            _file = tarfile.open(archive)
        _file.extractall(get_home_dir())
        _file.close()

        logger.debug("Moving extracted file directory [%s] into running program directory [%s]", extracted_location, program_directory)
        distutils.dir_util.copy_tree(extracted_location, program_directory)

        logger.debug("Cleaning up.")
        distutils.dir_util.remove_tree(extracted_location)
        os.remove(archive)
コード例 #2
0
ファイル: frame.py プロジェクト: sproaty/whyteboard
    def on_new_win(self, event=None):
        program = (u'python', os.path.abspath(sys.argv[0]))
        if is_exe():
            program = os.path.abspath(sys.argv[0])

        logger.debug("Loading new application instance: [%s]", program)
        subprocess.Popen(program)
コード例 #3
0
ファイル: downloader.py プロジェクト: sproaty/whyteboard
 def raw_filesize(self):
     return self.executable_size if is_exe() else self.source_size
コード例 #4
0
ファイル: downloader.py プロジェクト: sproaty/whyteboard
 def filename(self):
     return self.executable_filename if is_exe() else self.source_filename
コード例 #5
0
ファイル: downloader.py プロジェクト: sproaty/whyteboard
 def filetype(self):
     return u"zip" if is_exe() else u"tar.gz"
コード例 #6
0
ファイル: app.py プロジェクト: sproaty/whyteboard
 def delete_temp_update_files(self):
     tmp_file = os.path.join(get_path(), u"whyteboard-tmp.exe")
     if is_exe() and os.path.exists(tmp_file):
         logger.info("Removing backup EXE [%s] after performing an update", tmp_file)
         os.remove(tmp_file)