~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/ui/text.py

  • Committer: mbp at sourcefrog
  • Date: 2006-10-31 01:30:31 UTC
  • mto: This revision was merged to the branch mainline in revision 2114.
  • Revision ID: mbp@sourcefrog.net-20061031013031-da3047f0d9fb1f64
Use regular progress-bar classes, not a special mechanism

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
import getpass
27
27
 
28
28
from bzrlib import (
29
 
    osutils,
30
29
    progress,
31
30
    )
32
31
""")
61
60
            self.stderr = sys.stderr
62
61
        else:
63
62
            self.stderr = stderr
64
 
        self._simple_progress_active = False
65
63
 
66
64
    def prompt(self, prompt):
67
65
        """Emit prompt on the CLI."""
106
104
 
107
105
        This will, clear any progress bars, and leave the cursor at the
108
106
        leftmost position."""
109
 
        if self._simple_progress_active:
110
 
            self._clear_progress_line()
111
 
            return
112
107
        if self._progress_bar_stack is None:
113
108
            return
114
109
        overall_pb = self._progress_bar_stack.bottom()
115
110
        if overall_pb is not None:
116
111
            overall_pb.clear()
117
 
 
118
 
    def _clear_progress_line(self):
119
 
        if False:
120
 
            # erase it
121
 
            width = osutils.terminal_width() - 1
122
 
            self.stderr.write('\r')
123
 
            self.stderr.write(' ' * width)
124
 
            self.stderr.write('\r')
125
 
        else:
126
 
            # just leave it, and move to new line - more reliable and leaves
127
 
            # it there for context
128
 
            self.stderr.write('\n')
129
 
        self._simple_progress_active = False
130
 
 
131
 
    def show_progress_line(self, msg):
132
 
        width = osutils.terminal_width() - 1
133
 
        msg = msg[:width]
134
 
        msg = msg.ljust(width)
135
 
        self.stderr.write('\r' + msg)
136
 
        self.stderr.flush()
137
 
        self._simple_progress_active = True
138
 
    
139
 
    def message(self, msg):
140
 
        self.clear_term()
141
 
        self.stderr.write(msg + '\n')