class GitUpdater(BaseUpdater): def __init__(self, git_command): self.repo = LocalRepository(Env.get('app_dir'), command = git_command) def doUpdate(self): try: log.info('Updating to latest version') self.repo.pull() return True except: log.error('Failed updating via GIT: %s', traceback.format_exc()) self.update_failed = True return False def getVersion(self): if not self.version: hash = None date = None branch = self.branch try: output = self.repo.getHead() # Yes, please log.debug('Git version output: %s', output.hash) hash = output.hash[:8] date = output.getDate() branch = self.repo.getCurrentBranch().name except Exception as e: log.error('Failed using GIT updater, running from source, you need to have GIT installed. %s', e) self.version = { 'repr': 'git:(%s:%s % s) %s (%s)' % (self.repo_user, self.repo_name, branch, hash or 'unknown_hash', datetime.fromtimestamp(date) if date else 'unknown_date'), 'hash': hash, 'date': date, 'type': 'git', 'branch': branch } return self.version def check(self): if self.update_version: return True log.info('Checking for new version on github for %s', self.repo_name) if not Env.get('dev'): self.repo.fetch() current_branch = self.repo.getCurrentBranch().name for branch in self.repo.getRemoteByName('origin').getBranches(): if current_branch == branch.name: local = self.repo.getHead() remote = branch.getHead() log.debug('Versions, local:%s, remote:%s', (local.hash[:8], remote.hash[:8])) if local.getDate() < remote.getDate(): self.update_version = { 'hash': remote.hash[:8], 'date': remote.getDate(), } return True self.last_check = time.time() return False
class GitUpdater(BaseUpdater): def __init__(self, git_command): self.repo = LocalRepository(Env.get("app_dir"), command=git_command) def doUpdate(self): try: log.info("Updating to latest version") self.repo.pull() return True except: log.error("Failed updating via GIT: %s", traceback.format_exc()) self.update_failed = True return False def getVersion(self): if not self.version: hash = None date = None branch = self.branch try: output = self.repo.getHead() # Yes, please log.debug("Git version output: %s", output.hash) hash = output.hash[:8] date = output.getDate() branch = self.repo.getCurrentBranch().name except Exception as e: log.error("Failed using GIT updater, running from source, you need to have GIT installed. %s", e) self.version = { "repr": "git:(%s:%s % s) %s (%s)" % ( self.repo_user, self.repo_name, branch, hash or "unknown_hash", datetime.fromtimestamp(date) if date else "unknown_date", ), "hash": hash, "date": date, "type": "git", "branch": branch, } return self.version def check(self): if self.update_version: return True log.info("Checking for new version on github for %s", self.repo_name) if not Env.get("dev"): self.repo.fetch() current_branch = self.repo.getCurrentBranch().name for branch in self.repo.getRemoteByName("origin").getBranches(): if current_branch == branch.name: local = self.repo.getHead() remote = branch.getHead() log.debug("Versions, local:%s, remote:%s", (local.hash[:8], remote.hash[:8])) if local.getDate() < remote.getDate(): self.update_version = {"hash": remote.hash[:8], "date": remote.getDate()} return True self.last_check = time.time() return False
class GitUpdater(BaseUpdater): def __init__(self, git_command): self.repo = LocalRepository(Env.get('app_dir'), command = git_command) def doUpdate(self): try: log.info('Updating to latest version') self.repo.pull() # Delete leftover .pyc files self.deletePyc() return True except: log.error('Failed updating via GIT: %s', traceback.format_exc()) self.update_failed = True return False def getVersion(self): if not self.version: try: output = self.repo.getHead() # Yes, please log.debug('Git version output: %s', output.hash) self.version = { 'repr': 'git:(%s:%s % s) %s (%s)' % (self.repo_user, self.repo_name, self.branch, output.hash[:8], datetime.fromtimestamp(output.getDate())), 'hash': output.hash[:8], 'date': output.getDate(), 'type': 'git', } except Exception as e: log.error('Failed using GIT updater, running from source, you need to have GIT installed. %s', e) return 'No GIT' return self.version def check(self): if self.update_version: return True log.info('Checking for new version on github for %s', self.repo_name) if not Env.get('dev'): self.repo.fetch() current_branch = self.repo.getCurrentBranch().name for branch in self.repo.getRemoteByName('origin').getBranches(): if current_branch == branch.name: local = self.repo.getHead() remote = branch.getHead() log.debug('Versions, local:%s, remote:%s', (local.hash[:8], remote.hash[:8])) if local.getDate() < remote.getDate(): self.update_version = { 'hash': remote.hash[:8], 'date': remote.getDate(), } return True self.last_check = time.time() return False
class GitUpdater(BaseUpdater): old_repo = 'RuudBurger/CouchPotatoServer' new_repo = 'CouchPotato/CouchPotatoServer' def __init__(self, git_command): self.repo = LocalRepository(Env.get('app_dir'), command=git_command) remote_name = 'origin' remote = self.repo.getRemoteByName(remote_name) if self.old_repo in remote.url: log.info('Changing repo to new github organization: %s -> %s', (self.old_repo, self.new_repo)) new_url = remote.url.replace(self.old_repo, self.new_repo) self.repo._executeGitCommandAssertSuccess("remote set-url %s %s" % (remote_name, new_url)) def doUpdate(self): try: log.info('Updating to latest version') self.repo.pull() return True except: log.error('Failed updating via GIT: %s', traceback.format_exc()) self.update_failed = True return False def getVersion(self): if not self.version: hash = None date = None branch = self.branch try: output = self.repo.getHead() # Yes, please log.debug('Git version output: %s', output.hash) hash = output.hash[:8] date = output.getDate() branch = self.repo.getCurrentBranch().name except Exception as e: log.error( 'Failed using GIT updater, running from source, you need to have GIT installed. %s', e) self.version = { 'repr': 'git:(%s:%s % s) %s (%s)' % (self.repo_user, self.repo_name, branch, hash or 'unknown_hash', datetime.fromtimestamp(date) if date else 'unknown_date'), 'hash': hash, 'date': date, 'type': 'git', 'branch': branch } return self.version def check(self): if self.update_version: return True log.info('Checking for new version on github for %s', self.repo_name) if not Env.get('dev'): self.repo.fetch() current_branch = self.repo.getCurrentBranch().name for branch in self.repo.getRemoteByName('origin').getBranches(): if current_branch == branch.name: local = self.repo.getHead() remote = branch.getHead() log.debug('Versions, local:%s, remote:%s', (local.hash[:8], remote.hash[:8])) if local.getDate() < remote.getDate(): self.update_version = { 'hash': remote.hash[:8], 'date': remote.getDate(), } return True self.last_check = time.time() return False