示例#1
0
    def update_to_latest_version_given_filename(self, temp_filename):
        filename = self.__get_filename_in_temp_path(temp_filename)

        #assumes we want to put the tarfile in parent of current directory
        logging.debug(commands.getoutput('tar xzvf %s' % temp_filename))
        logging.debug(
            commands.getoutput('mv %s %s' %
                               (filename, os.path.abspath(os.path.pardir))))
        #TODO: jperla: why need to remove when already moved???
        logging.debug(commands.getoutput('rm -rf %s' % filename))
        logging.debug(commands.getoutput('rm -f %s' % temp_filename))

        #wow that's ugly, there's got to be a better way!
        file_to_evaluate = '%s' % (os.path.pardir + '/' + filename)
        logging.debug('evaluating %s' % file_to_evaluate)

        sys.path.insert(0, file_to_evaluate)
        #TODO: jperla: fix this terminology
        from selfupdater import selfupdater
        #TODO: jperla: i can't believe that this worked!

        new_update_succeeded = partial(
            self.update_succeeded, os.getcwd(),
            os.path.abspath(os.path.pardir) + '/' + filename)
        new_update_failed = partial(
            self.update_failed,
            os.path.abspath(os.path.pardir) + '/' + filename)
        selfupdater.update_success = new_update_succeeded
        selfupdater.update_failure = new_update_failed

        #TODO: jperla: run this in new thread?
        selfupdater.run()
示例#2
0
    def update_to_latest_version_given_filename(self, temp_filename):
        filename = self.__get_filename_in_temp_path(temp_filename)

        #assumes we want to put the tarfile in parent of current directory
        logging.debug(commands.getoutput('tar xzvf %s' % temp_filename))
        logging.debug(commands.getoutput('mv %s %s' % (filename, 
                                            os.path.abspath(os.path.pardir))))
        #TODO: jperla: why need to remove when already moved???
        logging.debug(commands.getoutput('rm -rf %s' % filename))
        logging.debug(commands.getoutput('rm -f %s' % temp_filename))

        #wow that's ugly, there's got to be a better way!
        file_to_evaluate = '%s' % (os.path.pardir+'/'+filename)
        logging.debug('evaluating %s' % file_to_evaluate)

        sys.path.insert(0, file_to_evaluate)
        #TODO: jperla: fix this terminology
        from selfupdater import selfupdater
        #TODO: jperla: i can't believe that this worked!

        new_update_succeeded = partial(self.update_succeeded, 
                                   os.getcwd(),
                                   os.path.abspath(os.path.pardir)+'/'+filename)
        new_update_failed = partial(self.update_failed, 
                                 os.path.abspath(os.path.pardir)+'/'+filename)
        selfupdater.update_success = new_update_succeeded
        selfupdater.update_failure = new_update_failed

        #TODO: jperla: run this in new thread?
        selfupdater.run()
示例#3
0
    def __watch_progress(self, total_to_download, total_downloaded,
                         total_to_upload, total_uploaded):
        self.do_while_downloading(total_to_download, total_downloaded)


class SimpleSelfUpdater(SelfUpdater):
    def __init__(self):
        version = '1.0'
        is_new_version_url = 'http://localhost/version_test.txt'
        SelfUpdater.__init__(self, version, is_new_version_url)

    def run_implementation(self):
        while True:
            print self.version
            try:
                self.update_if_newer_version()
            except Exception, e:
                logging.error('Exception: %s' % e)
            self.executes_properly()

    def do_while_downloading(self, total_to_download, total_downloaded):
        print self._percentage_progress(total_to_download, total_downloaded)


selfupdater = SimpleSelfUpdater()
#selfupdater.run()

if __name__ == '__main__':
    selfupdater.run()
示例#4
0
                         total_downloaded,
                         total_to_upload,
                         total_uploaded):
        self.do_while_downloading(total_to_download, total_downloaded)


class SimpleSelfUpdater(SelfUpdater):
    def __init__(self):
        version = '1.0'
        is_new_version_url = 'http://localhost/version_test.txt'
        SelfUpdater.__init__(self, version, is_new_version_url)

    def run_implementation(self):
        while True:
            print self.version
            try:
                self.update_if_newer_version()
            except Exception, e:
                logging.error('Exception: %s' % e)
            self.executes_properly()
    
    def do_while_downloading(self, total_to_download, total_downloaded):
        print self._percentage_progress(total_to_download, total_downloaded)

selfupdater = SimpleSelfUpdater()
#selfupdater.run()

if __name__ == '__main__':
    selfupdater.run()