当前位置: 首页>>代码示例>>Python>>正文


Python repository.LocalRepository类代码示例

本文整理汇总了Python中git.repository.LocalRepository的典型用法代码示例。如果您正苦于以下问题:Python LocalRepository类的具体用法?Python LocalRepository怎么用?Python LocalRepository使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了LocalRepository类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: GitUpdater

class GitUpdater(BaseUpdater):
    def __init__(self, git_command):
        self.repo = LocalRepository(Env.get('app_dir'), command=git_command)

    def doUpdate(self):
        try:
            log.debug('Stashing local changes')
            self.repo.saveStash()

            log.info('Updating to latest version')
            info = self.info()
            self.repo.pull()

            # Delete leftover .pyc files
            self.deletePyc()

            # Notify before returning and restarting
            version_date = datetime.fromtimestamp(
                info['update_version']['date'])
            fireEvent(
                'updater.updated',
                'Updated to a new version with hash "%s", this version is from %s'
                % (info['update_version']['hash'], version_date),
                data=info)

            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 = {
                    'hash': output.hash[:8],
                    'date': output.getDate(),
                    'type': 'git',
                }
            except Exception, e:
                log.error(
                    'Failed using GIT updater, running from source, you need to have GIT installed. %s'
                    % e)
                return 'No GIT'

        return self.version
开发者ID:sirchia,项目名称:CouchPotatoServer,代码行数:51,代码来源:main.py

示例2: Updater

class Updater(Plugin):

    repo_name = 'RuudBurger/CouchPotatoServer'

    version = None
    update_failed = False
    update_version = None
    last_check = 0

    def __init__(self):

        self.repo = LocalRepository(Env.get('app_dir'), command = self.conf('git_command', default = 'git'))

        fireEvent('schedule.interval', 'updater.check', self.check, hours = 6)

        addEvent('app.load', self.check)

        addApiView('updater.info', self.getInfo, docs = {
            'desc': 'Get updater information',
            'return': {
                'type': 'object',
                'example': """{
        'repo_name': "Name of used repository",
        'last_check': "last checked for update",
        'update_version': "available update version or empty",
        'version': current_cp_version
}"""}
        })
        addApiView('updater.update', self.doUpdateView)
        addApiView('updater.check', self.checkView, docs = {
            'desc': 'Check for available update',
            'return': {'type': 'see updater.info'}
        })

    def getInfo(self):

        return jsonified({
            'repo_name': self.repo_name,
            'last_check': self.last_check,
            'update_version': self.update_version,
            'version': self.getVersion()
        })

    def getVersion(self):

        if not self.version:
            try:
                output = self.repo.getHead() # Yes, please
                log.debug('Git version output: %s' % output.hash)
                self.version = {
                    'hash': output.hash[:8],
                    'date': output.getDate(),
                }
            except Exception, e:
                log.error('Failed using GIT updater, running from source, you need to have GIT installed. %s' % e)
                return 'No GIT'

        return self.version
开发者ID:EchelonFour,项目名称:CouchPotatoServer,代码行数:58,代码来源:main.py

示例3: GitUpdater

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, e:
                log.error("Failed using GIT updater, running from source, you need to have GIT installed. %s", e)
                return "No GIT"

        return self.version
开发者ID:ressu,项目名称:CouchPotatoServer,代码行数:45,代码来源:main.py

示例4: __init__

    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))
开发者ID:CouchPotato,项目名称:CouchPotatoServer,代码行数:9,代码来源:main.py

示例5: __init__

    def __init__(self):

        self.repo = LocalRepository(Env.get('app_dir'), command = self.conf('git_command', default = 'git'))

        fireEvent('schedule.interval', 'updater.check', self.check, hours = 6)

        addEvent('app.load', self.check)

        addApiView('updater.info', self.getInfo)
        addApiView('updater.update', self.doUpdateView)
开发者ID:geman777,项目名称:CouchPotatoServer,代码行数:10,代码来源:main.py

示例6: GitUpdater

class GitUpdater(BaseUpdater):

    def __init__(self, git_command):
        self.repo = LocalRepository(Env.get('app_dir'), command = git_command)

    def doUpdate(self):

        try:
            log.debug('Stashing local changes')
            self.repo.saveStash()

            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 = {
                    'hash': output.hash[:8],
                    'date': output.getDate(),
                    'type': 'git',
                }
            except Exception, e:
                log.error('Failed using GIT updater, running from source, you need to have GIT installed. %s', e)
                return 'No GIT'

        return self.version
开发者ID:dito2102,项目名称:CouchPotatoServer,代码行数:41,代码来源:main.py

示例7: start

    def start(self):
        self.basePath = cherrypy.config['basePath']
        self.runPath = cherrypy.config['runPath']
        self.cachePath = cherrypy.config['cachePath']
        self.isFrozen = cherrypy.config['frozen']
        self.debug = cherrypy.config['debug']
        self.updatePath = os.path.join(self.cachePath, 'updates')
        self.historyFile = os.path.join(self.updatePath, 'history.txt')

        self.repo = LocalRepository(self.basePath)

        # get back the .git dir
        if self.hasGit() and not self.isRepo():
            try:
                log.info('Updating CP to git version.')
                path = os.path.join(self.cachePath, 'temp_git')
                self.removeDir(path)
                repo = LocalRepository(path)
                repo.clone(self.git)
                self.replaceWith(path)
                self.removeDir(path)
            except Exception, e:
                log.error('Trying to rebuild the .git dir: %s' % e)
开发者ID:Ne0tr0n,项目名称:CouchPotato,代码行数:23,代码来源:updater.py

示例8: Updater

class Updater(Plugin):

    repo_name = 'RuudBurger/CouchPotatoServer'

    version = None
    update_failed = False
    update_version = None
    last_check = 0

    def __init__(self):

        self.repo = LocalRepository(Env.get('app_dir'), command = self.conf('git_command', default = 'git'))

        fireEvent('schedule.interval', 'updater.check', self.check, hours = 6)

        addEvent('app.load', self.check)

        addApiView('updater.info', self.getInfo)
        addApiView('updater.update', self.doUpdateView)
        addApiView('updater.check', self.checkView)

    def getInfo(self):

        return jsonified({
            'repo_name': self.repo_name,
            'last_check': self.last_check,
            'update_version': self.update_version,
            'version': self.getVersion()
        })

    def getVersion(self):

        if not self.version:
            try:
                output = self.repo.getHead() # Yes, please
                log.debug('Git version output: %s' % output.hash)
                self.version = {
                    'hash': output.hash[:8],
                    'date': output.getDate(),
                }
            except Exception, e:
                log.error('Failed using GIT updater, running from source, you need to have GIT installed. %s' % e)
                return 'No GIT'

        return self.version
开发者ID:daemox,项目名称:CouchPotatoServer,代码行数:45,代码来源:main.py

示例9: __init__

    def __init__(self):

        self.repo = LocalRepository(Env.get('app_dir'), command = self.conf('git_command', default = 'git'))

        fireEvent('schedule.interval', 'updater.check', self.check, hours = 6)

        addEvent('app.load', self.check)

        addApiView('updater.info', self.getInfo, docs = {
            'desc': 'Get updater information',
            'return': {
                'type': 'object',
                'example': """{
        'repo_name': "Name of used repository",
        'last_check': "last checked for update",
        'update_version': "available update version or empty",
        'version': current_cp_version
}"""}
        })
        addApiView('updater.update', self.doUpdateView)
        addApiView('updater.check', self.checkView, docs = {
            'desc': 'Check for available update',
            'return': {'type': 'see updater.info'}
        })
开发者ID:EchelonFour,项目名称:CouchPotatoServer,代码行数:24,代码来源:main.py

示例10: __init__

 def __init__(self, git_command):
     self.repo = LocalRepository(Env.get('app_dir'), command = git_command)
开发者ID:dito2102,项目名称:CouchPotatoServer,代码行数:2,代码来源:main.py

示例11: GitUpdater

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
开发者ID:Kiiv,项目名称:CouchPotatoServer,代码行数:75,代码来源:main.py

示例12: GitUpdater

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
开发者ID:Adelscott,项目名称:persomov,代码行数:78,代码来源:main.py


注:本文中的git.repository.LocalRepository类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。