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


Python BuildService.getTargetRepo方法代码示例

本文整理汇总了Python中buildservice.BuildService.getTargetRepo方法的典型用法代码示例。如果您正苦于以下问题:Python BuildService.getTargetRepo方法的具体用法?Python BuildService.getTargetRepo怎么用?Python BuildService.getTargetRepo使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在buildservice.BuildService的用法示例。


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

示例1: ParticipantHandler

# 需要导入模块: from buildservice import BuildService [as 别名]
# 或者: from buildservice.BuildService import getTargetRepo [as 别名]
class ParticipantHandler(object):
    """Participant class as defined by the SkyNET API."""

    def __init__(self):
        self.oscrc = None
        self.obs = None

    def handle_wi_control(self, ctrl):
        """Job control thread."""
        pass

    def handle_lifecycle_control(self, ctrl):
        """Participant control thread."""
        if ctrl.message == "start":
            if ctrl.config.has_option("obs", "oscrc"):
                self.oscrc = ctrl.config.get("obs", "oscrc")

    def setup_obs(self, namespace):
        """Setup the Buildservice instance

        Using namespace as an alias to the apiurl.
        """

        self.obs = BuildService(oscrc=self.oscrc, apiurl=namespace)

    def build_trial_results(self, wid):
        """Main function to get new failures related to a build trial."""

        wid.result = False

        if not wid.fields.msg:
            wid.fields.msg = []

        target_prj = wid.fields.project
        build_in_prj = wid.params.build_in

        exclude_repos = wid.fields.exclude_repos or []
        exclude_archs = wid.fields.exclude_archs or []

        new_failures = set()
        for target_repo in self.obs.getProjectRepositories(target_prj):
            if target_repo in exclude_repos:
                continue
            archs = self.obs.getRepositoryArchs(target_prj, target_repo)
            archs = [arch for arch in archs if arch not in exclude_archs]
            # Get the repository of the build trial which builds against the
            # required target repo in the target prj
            build_in_repo = self.obs.getTargetRepo(build_in_prj, target_prj,
                                                   target_repo, archs)
            # Get trial build results
            trial_results = self.obs.getRepoResults(build_in_prj, build_in_repo)
            # Get destination results
            orig_results = self.obs.getRepoResults(target_prj, target_repo)
            # compare them and return new failures
            new_failures.update(get_new_failures(trial_results, orig_results,
                                                 archs))

        if len(new_failures):
            wid.fields.msg.append("During the trial build in %s, %s failed to"\
                                  " build for one of the archs : %s" %
                                  (build_in_prj, " ".join(new_failures),
                                   " ".join(archs)))
            wid.fields.new_failures = list(new_failures)
        else:
            wid.fields.msg.append("Trial build of packages in %s successful" %
                            build_in_prj)
            wid.result = True


    def handle_wi(self, wid):
        """Actual job thread."""

        self.setup_obs(wid.fields.ev.namespace)
        self.build_trial_results(wid)
开发者ID:d0b3rm4n,项目名称:boss-standard-workflow,代码行数:76,代码来源:get_build_trial_results.py


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