示例#1
0
文件: masher.py 项目: cgwalters/bodhi
    def _determine_tag_actions(self):
        tag_types, tag_rels = Release.get_tags(self.db)
        for update in sorted_updates(self.updates):
            add_tags = []
            move_tags = []

            if update.status is UpdateStatus.testing:
                status = "testing"
            else:
                status = "candidate"

            for build in update.builds:
                from_tag = None
                tags = build.get_tags()
                for tag in tags:
                    if tag in tag_types[status]:
                        from_tag = tag
                        break
                else:
                    reason = ("Cannot find relevant tag for %s.  " "None of %s are in %s.") % (
                        build.nvr,
                        tags,
                        tag_types[status],
                    )
                    self.eject_from_mash(update, reason)
                    break

                if self.skip_mash:
                    add_tags.append((update.requested_tag, build.nvr))
                else:
                    move_tags.append((from_tag, update.requested_tag, build.nvr))
            else:
                self.add_tags.extend(add_tags)
                self.move_tags.extend(move_tags)
示例#2
0
文件: masher.py 项目: pcreech/bodhi
    def _determine_tag_actions(self):
        tag_types, tag_rels = Release.get_tags(self.db)
        for update in sorted_updates(self.updates):
            add_tags = []
            move_tags = []

            if update.status is UpdateStatus.testing:
                status = 'testing'
            else:
                status = 'candidate'

            for build in update.builds:
                from_tag = None
                tags = build.get_tags()
                for tag in tags:
                    if tag in tag_types[status]:
                        from_tag = tag
                        break
                else:
                    reason = 'Cannot find relevant tag for %s: %s' % (
                        build.nvr, tags)
                    self.eject_from_mash(update, reason)
                    break

                if self.skip_mash:
                    add_tags.append((update.requested_tag, build.nvr))
                else:
                    move_tags.append(
                        (from_tag, update.requested_tag, build.nvr))
            else:
                self.add_tags.extend(add_tags)
                self.move_tags.extend(move_tags)
示例#3
0
    def _determine_tag_actions(self):
        tag_types, tag_rels = Release.get_tags()
        for update in sorted_updates(self.updates):
            if update.status is UpdateStatus.testing:
                status = 'testing'
            else:
                status = 'candidate'

            for build in update.builds:
                from_tag = None
                tags = build.get_tags()
                for tag in tags:
                    if tag in tag_types[status]:
                        from_tag = tag
                        break
                else:
                    reason = 'Cannot find relevant tag for %s: %s' % (
                        build.nvr, tags)
                    self.eject_from_mash(update, reason)
                    break

                if self.skip_mash:
                    self.add_tags.append((update.requested_tag, build.nvr))
                else:
                    self.move_tags.append((from_tag, update.requested_tag,
                                           build.nvr))
示例#4
0
    def _determine_tag_actions(self):
        tag_types, tag_rels = Release.get_tags(self.db)
        # sync & async tagging batches
        for i, batch in enumerate(sorted_updates(self.updates)):
            for update in batch:
                add_tags = []
                move_tags = []

                if update.status is UpdateStatus.testing:
                    status = 'testing'
                else:
                    status = 'candidate'

                for build in update.builds:
                    from_tag = None
                    tags = build.get_tags()
                    for tag in tags:
                        if tag in tag_types[status]:
                            from_tag = tag
                            break
                    else:
                        reason = (
                            'Cannot find relevant tag for %s.  '
                            'None of %s are in %s.') % (
                                build.nvr, tags, tag_types[status])
                        self.eject_from_mash(update, reason)
                        break

                    if self.skip_mash:
                        add_tags.append((update.requested_tag, build.nvr))
                    else:
                        move_tags.append((from_tag, update.requested_tag,
                                          build.nvr))
                else:
                    if i == 0:
                        self.add_tags_sync.extend(add_tags)
                        self.move_tags_sync.extend(move_tags)
                    else:
                        self.add_tags_async.extend(add_tags)
                        self.move_tags_async.extend(move_tags)
示例#5
0
    def _determine_tag_actions(self):
        tag_types, tag_rels = Release.get_tags(self.db)
        # sync & async tagging batches
        for i, batch in enumerate(sorted_updates(self.updates)):
            for update in batch:
                add_tags = []
                move_tags = []

                if update.status is UpdateStatus.testing:
                    status = 'testing'
                else:
                    status = 'candidate'

                for build in update.builds:
                    from_tag = None
                    tags = build.get_tags()
                    for tag in tags:
                        if tag in tag_types[status]:
                            from_tag = tag
                            break
                    else:
                        reason = ('Cannot find relevant tag for %s.  '
                                  'None of %s are in %s.') % (
                                      build.nvr, tags, tag_types[status])
                        self.eject_from_mash(update, reason)
                        break

                    if self.skip_mash:
                        add_tags.append((update.requested_tag, build.nvr))
                    else:
                        move_tags.append(
                            (from_tag, update.requested_tag, build.nvr))
                else:
                    if i == 0:
                        self.add_tags_sync.extend(add_tags)
                        self.move_tags_sync.extend(move_tags)
                    else:
                        self.add_tags_async.extend(add_tags)
                        self.move_tags_async.extend(move_tags)