~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/ui/__init__.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2010-01-15 04:49:48 UTC
  • mfrom: (3984.5.22 switch-r-183559)
  • Revision ID: pqm@pqm.ubuntu.com-20100115044948-yxz5m3vchxapbq22
(andrew) Add --revision option to 'bzr switch'. (#184559)

Show diffs side-by-side

added added

removed removed

Lines of Context:
109
109
 
110
110
    def __init__(self):
111
111
        self._task_stack = []
112
 
        self._quiet = False
113
 
 
114
 
    def be_quiet(self, state):
115
 
        """Tell the UI to be more quiet, or not.
116
 
 
117
 
        Typically this suppresses progress bars; the application may also look
118
 
        at ui_factory.is_quiet().
119
 
        """
120
 
        self._quiet = state
121
112
 
122
113
    def get_password(self, prompt='', **kwargs):
123
114
        """Prompt the user for a password.
134
125
        """
135
126
        raise NotImplementedError(self.get_password)
136
127
 
137
 
    def is_quiet(self):
138
 
        return self._quiet
139
 
 
140
128
    def make_output_stream(self, encoding=None, encoding_type=None):
141
129
        """Get a stream for sending out bulk text data.
142
130
 
183
171
        if not self._task_stack:
184
172
            warnings.warn("%r finished but nothing is active"
185
173
                % (task,))
186
 
        if task in self._task_stack:
187
 
            self._task_stack.remove(task)
 
174
        elif task != self._task_stack[-1]:
 
175
            warnings.warn("%r is not the active task %r"
 
176
                % (task, self._task_stack[-1]))
188
177
        else:
189
 
            warnings.warn("%r is not in active stack %r"
190
 
                % (task, self._task_stack))
 
178
            del self._task_stack[-1]
191
179
        if not self._task_stack:
192
180
            self._progress_all_finished()
193
181
 
275
263
        """Show an error message (not an exception) to the user.
276
264
        
277
265
        The message should not have an error prefix or trailing newline.  That
278
 
        will be added by the factory if appropriate.
 
266
        will be added by the factory if appropriate. 
279
267
        """
280
268
        raise NotImplementedError(self.show_error)
281
269
 
287
275
        """Show a warning to the user."""
288
276
        raise NotImplementedError(self.show_warning)
289
277
 
290
 
    def warn_cross_format_fetch(self, from_format, to_format):
291
 
        """Warn about a potentially slow cross-format transfer"""
292
 
        # See <https://launchpad.net/bugs/456077> asking for a warning here
293
 
        trace.warning("Doing on-the-fly conversion from %s to %s.\n"
294
 
            "This may take some time. Upgrade the repositories to the "
295
 
            "same format for better performance.\n" %
296
 
            (from_format, to_format))
297
 
 
298
 
    def warn_experimental_format_fetch(self, inter):
299
 
        """Warn about fetching into experimental repository formats."""
300
 
        if inter.target._format.experimental:
301
 
            trace.warning("Fetching into experimental format %s.\n"
302
 
                "This format may be unreliable or change in the future "
303
 
                "without an upgrade path.\n" % (inter.target._format,))
304
 
 
305
278
 
306
279
 
307
280
class SilentUIFactory(UIFactory):