/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/ui/text.py

  • Committer: Vincent Ladeuil
  • Date: 2010-01-25 15:55:48 UTC
  • mto: (4985.1.4 add-attr-cleanup)
  • mto: This revision was merged to the branch mainline in revision 4988.
  • Revision ID: v.ladeuil+lp@free.fr-20100125155548-0l352pujvt5bzl5e
Deploy addAttrCleanup on the whole test suite.

Several use case worth mentioning:

- setting a module or any other object attribute is the majority
by far. In some cases the setting itself is deferred but most of
the time we want to set at the same time we add the cleanup.

- there multiple occurrences of protecting hooks or ui factory
which are now useless (the test framework takes care of that now),

- there was some lambda uses that can now be avoided.

That first cleanup already simplifies things a lot.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005-2010 Canonical Ltd
 
1
# Copyright (C) 2005, 2008, 2009, 2010 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
37
37
 
38
38
""")
39
39
 
40
 
from bzrlib.osutils import watch_sigwinch
41
 
 
42
40
from bzrlib.ui import (
43
41
    UIFactory,
44
42
    NullProgressView,
62
60
        self.stderr = stderr
63
61
        # paints progress, network activity, etc
64
62
        self._progress_view = self.make_progress_view()
65
 
        # hook up the signals to watch for terminal size changes
66
 
        watch_sigwinch()
67
 
 
 
63
        
68
64
    def be_quiet(self, state):
69
65
        if state and not self._quiet:
70
66
            self.clear_term()
242
238
            warnings.warn("%r updated but no tasks are active" %
243
239
                (task,))
244
240
        elif task != self._task_stack[-1]:
245
 
            # We used to check it was the top task, but it's hard to always
246
 
            # get this right and it's not necessarily useful: any actual
247
 
            # problems will be evident in use
248
 
            #warnings.warn("%r is not the top progress task %r" %
249
 
            #     (task, self._task_stack[-1]))
250
 
            pass
 
241
            warnings.warn("%r is not the top progress task %r" %
 
242
                (task, self._task_stack[-1]))
251
243
        self._progress_view.show_progress(task)
252
244
 
253
245
    def _progress_all_finished(self):
254
246
        self._progress_view.clear()
255
247
 
256
 
    def show_user_warning(self, warning_id, **message_args):
257
 
        """Show a text message to the user.
258
 
 
259
 
        Explicitly not for warnings about bzr apis, deprecations or internals.
260
 
        """
261
 
        # eventually trace.warning should migrate here, to avoid logging and
262
 
        # be easier to test; that has a lot of test fallout so for now just
263
 
        # new code can call this
264
 
        if warning_id not in self.suppressed_warnings:
265
 
            self.stderr.write(self.format_user_warning(warning_id, message_args) +
266
 
                '\n')
267
 
 
268
248
 
269
249
class TextProgressView(object):
270
250
    """Display of progress bar and other information on a tty.
437
417
        elif now >= (self._transport_update_time + 0.5):
438
418
            # guard against clock stepping backwards, and don't update too
439
419
            # often
440
 
            rate = (self._bytes_since_update
441
 
                    / (now - self._transport_update_time))
442
 
            # using base-10 units (see HACKING.txt).
443
 
            msg = ("%6dkB %5dkB/s" %
444
 
                    (self._total_byte_count / 1000, int(rate) / 1000,))
 
420
            rate = self._bytes_since_update / (now - self._transport_update_time)
 
421
            msg = ("%6dKB %5dKB/s" %
 
422
                    (self._total_byte_count>>10, int(rate)>>10,))
445
423
            self._transport_update_time = now
446
424
            self._last_repaint = now
447
425
            self._bytes_since_update = 0
457
435
                transfer_time = 0.001
458
436
            bps = self._total_byte_count / transfer_time
459
437
 
460
 
        # using base-10 units (see HACKING.txt).
461
 
        msg = ('Transferred: %.0fkB'
462
 
               ' (%.1fkB/s r:%.0fkB w:%.0fkB'
463
 
               % (self._total_byte_count / 1000.,
464
 
                  bps / 1000.,
465
 
                  self._bytes_by_direction['read'] / 1000.,
466
 
                  self._bytes_by_direction['write'] / 1000.,
 
438
        msg = ('Transferred: %.0fKiB'
 
439
               ' (%.1fK/s r:%.0fK w:%.0fK'
 
440
               % (self._total_byte_count / 1024.,
 
441
                  bps / 1024.,
 
442
                  self._bytes_by_direction['read'] / 1024.,
 
443
                  self._bytes_by_direction['write'] / 1024.,
467
444
                 ))
468
445
        if self._bytes_by_direction['unknown'] > 0:
469
 
            msg += ' u:%.0fkB)' % (
470
 
                self._bytes_by_direction['unknown'] / 1000.
 
446
            msg += ' u:%.0fK)' % (
 
447
                self._bytes_by_direction['unknown'] / 1024.
471
448
                )
472
449
        else:
473
450
            msg += ')'