Exemplo n.º 1
0
    def get_line_values(self, req, build, include_builder=True):
        '''
        Collect the data needed for each line display
        '''
        builder_name = build.getBuilder().getName()
        results = build.getResults()
        text = build.getText()
        all_got_revision = build.getAllGotRevisions()
        css_class = css_classes.get(results, "")
        ss_list = build.getSourceStamps()
        if ss_list:
            repo = ss_list[0].repository
            if all_got_revision:
                if len(ss_list) == 1:
                    rev = all_got_revision.get(ss_list[0].codebase, "??")
                else:
                    rev = "multiple rev."
            else:
                rev = "??"
        else:
            repo = 'unknown, no information in build'
            rev = 'unknown'

        if type(text) == list:
            text = " ".join(text)

        values = {
            'class':
            css_class,
            'builder_name':
            builder_name,
            'buildnum':
            build.getNumber(),
            'results':
            css_class,
            'text':
            " ".join(build.getText()),
            'buildurl':
            path_to_build(req, build),
            'builderurl':
            path_to_builder(req, build.getBuilder()),
            'rev':
            rev,
            'rev_repo':
            repo,
            'time':
            time.strftime(self.LINE_TIME_FORMAT,
                          time.localtime(build.getTimes()[0])),
            'text':
            text,
            'include_builder':
            include_builder
        }
        return values
Exemplo n.º 2
0
    def get_rev_list(self, build):
        ss_list = build.getSourceStamps()
        all_got_revision = build.getAllGotRevisions() or {}

        if not ss_list:
            return [{
                'repo': 'unknown, no information in build', 
                'codebase': '',
                'rev': 'unknown'
            }]
        
        if len(ss_list)==1:
            return [{
                'repo': ss_list[0].repository,
                'codebase': ss_list[0].codebase,
                'rev': all_got_revision.get(ss_list[0].codebase, "??")
            }]

        # multiple-codebase configuration
        rev_list = []
        for ss in ss_list:
            # skip codebases with no sourcestamp spec
            if not ss.branch and not ss.revision and not ss.patch and not ss.changes:
                continue

            rev = {
                'repo': ss.repository,
                'codebase': ss.codebase
            }

            # show the most descriptive thing we can
            if ss.branch:
                rev['rev'] = ss.branch
            elif ss.codebase in all_got_revision:
                rev['rev'] = all_got_revision[ss.codebase]
            elif ss.revision:
                rev['rev'] = ss.revision
            else:
                rev['rev'] = '??'

            rev_list.append(rev)

        # if all sourcestamps were empty, then this is a "most recent" kind of build
        if not rev_list:
            rev_list = [{
                'repo': 'unknown, no information in build', 
                'codebase': '',
                'rev': 'most recent'
            }]

        return rev_list
Exemplo n.º 3
0
    def get_rev_list(self, build):
        ss_list = build.getSourceStamps()
        all_got_revision = build.getAllGotRevisions() or {}

        if not ss_list:
            return [{
                'repo': 'unknown, no information in build', 
                'codebase': '',
                'rev': 'unknown'
            }]
        
        if len(ss_list)==1:
            return [{
                'repo': ss_list[0].repository,
                'codebase': ss_list[0].codebase,
                'rev': all_got_revision.get(ss_list[0].codebase, "??")
            }]

        # multiple-codebase configuration
        rev_list = []
        for ss in ss_list:
            # skip codebases with no sourcestamp spec
            if not ss.branch and not ss.revision and not ss.patch and not ss.changes:
                continue

            rev = {
                'repo': ss.repository,
                'codebase': ss.codebase
            }

            # show the most descriptive thing we can
            if ss.branch:
                rev['rev'] = ss.branch
            elif ss.codebase in all_got_revision:
                rev['rev'] = all_got_revision[ss.codebase]
            elif ss.revision:
                rev['rev'] = ss.revision
            else:
                rev['rev'] = '??'

            rev_list.append(rev)

        # if all sourcestamps were empty, then this is a "most recent" kind of build
        if not rev_list:
            rev_list = [{
                'repo': 'unknown, no information in build', 
                'codebase': '',
                'rev': 'most recent'
            }]

        return rev_list
Exemplo n.º 4
0
    def get_line_values(self, req, build, include_builder=True):
        """
        Collect the data needed for each line display
        """
        builder_name = build.getBuilder().getName()
        results = build.getResults()
        text = build.getText()
        all_got_revision = build.getAllGotRevisions()
        css_class = css_classes.get(results, "")
        ss_list = build.getSourceStamps()
        if ss_list:
            repo = ss_list[0].repository
            if all_got_revision:
                if len(ss_list) == 1:
                    rev = all_got_revision.get(ss_list[0].codebase, "??")
                else:
                    rev = "multiple rev."
            else:
                rev = "??"
        else:
            repo = "unknown, no information in build"
            rev = "unknown"

        if type(text) == list:
            text = " ".join(text)

        values = {
            "class": css_class,
            "builder_name": builder_name,
            "buildnum": build.getNumber(),
            "results": css_class,
            "text": " ".join(build.getText()),
            "buildurl": path_to_build(req, build),
            "builderurl": path_to_builder(req, build.getBuilder()),
            "rev": rev,
            "rev_repo": repo,
            "time": time.strftime(self.LINE_TIME_FORMAT, time.localtime(build.getTimes()[0])),
            "text": text,
            "include_builder": include_builder,
        }
        return values
Exemplo n.º 5
0
    def get_line_values(self, req, build, include_builder=True):
        '''
        Collect the data needed for each line display
        '''
        builder_name = build.getBuilder().getName()
        results = build.getResults()
        text = build.getText()
        all_got_revision = build.getAllGotRevisions()
        css_class = css_classes.get(results, "")
        ss_list = build.getSourceStamps()
        if ss_list:
            repo = ss_list[0].repository
            if all_got_revision:
                if len(ss_list) == 1:
                    rev = all_got_revision.get(ss_list[0].codebase, "??")
                else:
                    rev = "multiple rev."
            else:
                rev = "??"
        else:
            repo = 'unknown, no information in build'
            rev = 'unknown'

        if type(text) == list:
            text = " ".join(text)

        values = {'class': css_class,
                  'builder_name': builder_name,
                  'buildnum': build.getNumber(),
                  'results': css_class,
                  'text': " ".join(build.getText()),
                  'buildurl': path_to_build(req, build),
                  'builderurl': path_to_builder(req, build.getBuilder()),
                  'rev': rev,
                  'rev_repo' : repo,
                  'time': time.strftime(self.LINE_TIME_FORMAT,
                                        time.localtime(build.getTimes()[0])),
                  'text': text,
                  'include_builder': include_builder
                  }
        return values