/b-gtk/fix-viz

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz

« back to all changes in this revision

Viewing changes to branchview/treemodel.py

  • Committer: Curtis Hovey
  • Date: 2011-09-04 20:04:03 UTC
  • mto: This revision was merged to the branch mainline in revision 741.
  • Revision ID: sinzui.is@verizon.net-20110904200403-t38t3o2q1j600dho
Added missing tests for BranchTreeModel and CellRendererGraph.

Show diffs side-by-side

added added

removed removed

Lines of Context:
69
69
        except KeyError:
70
70
            self.tags[revid] = [tag]
71
71
 
 
72
    def _line_graph_item_to_model_row(self, rowref, data):
 
73
        revid, node, lines, parents, children, revno_sequence = data
 
74
        if rowref > 0:
 
75
            last_lines = self.line_graph_data[rowref - 1][2]
 
76
        else:
 
77
            last_lines = []
 
78
        revno = ".".join(["%d" % (revno) for revno in revno_sequence])
 
79
        tags = self.tags.get(revid, [])
 
80
        if not revid or revid == NULL_REVISION:
 
81
            revision = None
 
82
        elif revid not in self.revisions:
 
83
            revision = self.repository.get_revisions([revid])[0]
 
84
            self.revisions[revid] = revision
 
85
        else:
 
86
            revision = self.revisions[revid]
 
87
        if revision is None:
 
88
            summary = message = committer = timestamp = authors = None
 
89
        else:
 
90
            summary = escape(revision.get_summary())
 
91
            message = escape(revision.message)
 
92
            committer = parse_username(revision.committer)[0]
 
93
            timestamp = strftime(
 
94
                "%Y-%m-%d %H:%M", localtime(revision.timestamp))
 
95
            authors = ", ".join([
 
96
                parse_username(author)[0]
 
97
                for author in revision.get_apparent_authors()])
 
98
        return (revid, node, lines, last_lines, revno, summary, message,
 
99
                committer, timestamp, revision, parents, children, tags,
 
100
                authors)
 
101
 
72
102
    def set_line_graph_data(self, line_graph_data):
73
103
        self.clear()
74
104
        self.line_graph_data = line_graph_data
75
 
        # (None, (0, 0), (), (), (), ())
76
105
        for rowref, data in enumerate(self.line_graph_data):
77
 
            revid, node, lines, parents, children, revno_sequence = data
78
 
            if rowref > 0:
79
 
                last_lines = self.line_graph_data[rowref - 1][2]
80
 
            else:
81
 
                last_lines = []
82
 
            revno = ".".join(["%d" % (revno) for revno in revno_sequence])
83
 
            tags = self.tags.get(revid, [])
84
 
            if not revid or revid == NULL_REVISION:
85
 
                revision = None
86
 
            elif revid not in self.revisions:
87
 
                revision = self.repository.get_revisions([revid])[0]
88
 
                self.revisions[revid] = revision
89
 
            else:
90
 
                revision = self.revisions[revid]
91
 
            if revision is None:
92
 
                summary = message = committer = timestamp = authors = None
93
 
            else:
94
 
                summary = escape(revision.get_summary())
95
 
                message = escape(revision.message)
96
 
                committer = parse_username(revision.committer)[0]
97
 
                timestamp = strftime(
98
 
                    "%Y-%m-%d %H:%M", localtime(revision.timestamp))
99
 
                authors = ", ".join([
100
 
                    parse_username(author)[0]
101
 
                    for author in revision.get_apparent_authors()])
102
 
            self.append((
103
 
                revid, node, lines, last_lines, revno, summary, message,
104
 
                committer, timestamp, revision, parents, children, tags,
105
 
                authors))
 
106
            row = self._line_graph_item_to_model_row(rowref, data)
 
107
            self.append(row)