Rev 2: Everyone wants a progress bar, make it easy in http://bzr.arbash-meinel.com/plugins/per_file_graph
John Arbash Meinel
john at arbash-meinel.com
Thu Oct 29 15:42:02 GMT 2009
At http://bzr.arbash-meinel.com/plugins/per_file_graph
------------------------------------------------------------
revno: 2
revision-id: john at arbash-meinel.com-20091029154149-mm48de8ndfczj3qt
parent: john at arbash-meinel.com-20091029151830-qn01ubl669owb7wm
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: per_file_graph
timestamp: Thu 2009-10-29 10:41:49 -0500
message:
Everyone wants a progress bar, make it easy
-------------- next part --------------
=== modified file 'builder.py'
--- a/builder.py 2009-10-29 15:18:30 +0000
+++ b/builder.py 2009-10-29 15:41:49 +0000
@@ -27,20 +27,28 @@
dirname, filename = osutils.split(target_filename)
self.transport = transport.get_transport(dirname)
self.filename = filename
+ self.pb = None
def get_per_file_graph(self):
"""Return the per-file graph from this repository."""
- pb = ui.ui_factory.nested_progress_bar()
+ self.update('Finding text keys')
+ keys = self.repo.texts.keys()
+ self.update('Found %d text keys, getting parent map' % (len(keys),))
+ pm = self.repo.texts.get_parent_map(keys)
+ self.update('loaded parent map')
+ return pm
+
+ def build(self):
+ self.pb = ui.ui_factory.nested_progress_bar()
try:
- pb.update('Finding text keys')
- keys = self.repo.texts.keys()
- pb.update('Found %d text keys, getting parent map' % (len(keys),))
- pm = self.repo.texts.get_parent_map(keys)
- pb.update('loaded parent map')
+ self._build()
finally:
- pb.finished()
- return pm
-
- def build(self):
+ self.pb.finished()
+
+ def update(self, *args):
+ if self.pb is not None:
+ self.pb.update(*args)
+
+ def _build(self):
"""Actually build the index."""
raise NotImplementedError(self.build)
More information about the bazaar-commits
mailing list