5 from cola
import gitcmd
6 from cola
import gitcmds
7 from cola
.models
import observable
11 class CompareModel(observable
.ObservableModel
):
12 """Provides custom model data for CompareController."""
14 observable
.ObservableModel
.__init
__(self
)
15 self
.git
= gitcmd
.instance()
16 self
.descriptions_start
= []
17 self
.descriptions_end
= []
18 self
.revisions_start
= []
19 self
.revisions_end
= []
20 self
.revision_start
= ''
21 self
.revision_end
= ''
22 self
.compare_files
= []
23 self
.num_results
= 100
24 self
.show_versions
=False
26 def update_revision_lists(self
, filename
=None, show_versions
=False):
27 num_results
= self
.num_results
29 rev_list
= self
.git
.log('--', filename
,
30 max_count
=num_results
,
33 rev_list
= self
.git
.log(max_count
=num_results
,
34 pretty
='oneline', all
=True)
36 commit_list
= gitcmds
.parse_rev_list(rev_list
)
38 commits
= map(lambda x
: x
[0], commit_list
)
39 descriptions
= map(lambda x
: core
.decode(x
[1]), commit_list
)
41 fancy_descr_list
= map(lambda x
: self
.describe(*x
), commit_list
)
42 self
.set_descriptions_start(fancy_descr_list
)
43 self
.set_descriptions_end(fancy_descr_list
)
45 self
.set_descriptions_start(descriptions
)
46 self
.set_descriptions_end(descriptions
)
48 self
.set_revisions_start(commits
)
49 self
.set_revisions_end(commits
)
54 class BranchCompareModel(observable
.ObservableModel
):
55 """Provides custom model data for BranchCompareController."""
57 observable
.ObservableModel
.__init
__(self
)
58 self
.git
= gitcmd
.instance()
59 self
.remote_branches
= gitcmds
.branch_list(remote
=True)
60 self
.local_branches
= gitcmds
.branch_list(remote
=False)
61 self
.left_combo
= ['Local', 'Remote']
62 self
.right_combo
= ['Local', 'Remote']
63 self
.left_combo_index
= 0
64 self
.right_combo_index
= 1
67 self
.left_list_index
= -1
68 self
.right_list_index
= -1
69 self
.left_list_selected
= False
70 self
.right_list_selected
= False