~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/progress.py

  • Committer: Martin Pool
  • Date: 2005-07-11 03:55:56 UTC
  • Revision ID: mbp@sourcefrog.net-20050711035556-77a5990cec5699c1
- weave info should show minimal expression of parents

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
not to clutter log files.
27
27
"""
28
28
 
 
29
# TODO: remove functions in favour of keeping everything in one class
 
30
 
29
31
# TODO: should be a global option e.g. --silent that disables progress
30
32
# indicators, preferably without needing to adjust all code that
31
33
# potentially calls them.
32
34
 
33
 
# TODO: If not on a tty perhaps just print '......' for the benefit of IDEs, etc
34
 
 
35
 
# TODO: Optionally show elapsed time instead/as well as ETA; nicer
36
 
# when the rate is unpredictable
 
35
# TODO: Perhaps don't write updates faster than a certain rate, say
 
36
# 5/second.
37
37
 
38
38
 
39
39
import sys
115
115
        self.show_bar = show_bar
116
116
        self.show_count = show_count
117
117
 
118
 
        self.width = _width()
119
 
        
120
118
 
121
119
    def tick(self):
122
120
        self.update(self.last_msg, self.last_cnt, self.last_total)
143
141
 
144
142
        self.last_update = now
145
143
        
 
144
        width = _width()
 
145
 
146
146
        if total_cnt:
147
147
            assert current_cnt <= total_cnt
148
148
        if current_cnt:
182
182
 
183
183
        if self.show_bar:
184
184
            # progress bar, if present, soaks up all remaining space
185
 
            cols = self.width - 1 - len(msg) - len(spin_str) - len(pct_str) \
 
185
            cols = width - 1 - len(msg) - len(spin_str) - len(pct_str) \
186
186
                   - len(eta_str) - len(count_str) - 3
187
187
 
188
188
            if total_cnt:
203
203
 
204
204
        m = spin_str + bar_str + msg + count_str + pct_str + eta_str
205
205
 
206
 
        assert len(m) < self.width
207
 
        self.to_file.write('\r' + m.ljust(self.width - 1))
 
206
        assert len(m) < width
 
207
        self.to_file.write('\r' + m.ljust(width - 1))
208
208
        #self.to_file.flush()
209
209
            
210
210
 
212
212
        if self.suppressed:
213
213
            return
214
214
        
215
 
        self.to_file.write('\r%s\r' % (' ' * (self.width - 1)))
 
215
        self.to_file.write('\r%s\r' % (' ' * (_width() - 1)))
216
216
        #self.to_file.flush()        
217
217
    
218
218