~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/progress.py

  • Committer: Tarmac
  • Author(s): Vincent Ladeuil
  • Date: 2017-01-30 14:42:05 UTC
  • mfrom: (6620.1.1 trunk)
  • Revision ID: tarmac-20170130144205-r8fh2xpmiuxyozpv
Merge  2.7 into trunk including fix for bug #1657238 [r=vila]

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
# along with this program; if not, write to the Free Software
15
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
17
 
 
18
17
"""Progress indicators.
19
18
 
20
19
The usual way to use this is via bzrlib.ui.ui_factory.nested_progress_bar which
21
20
will manage a conceptual stack of nested activities.
22
21
"""
23
22
 
 
23
from __future__ import absolute_import
24
24
 
25
 
import sys
26
25
import time
27
26
import os
28
27
 
29
28
 
30
 
from bzrlib.symbol_versioning import (
31
 
    deprecated_in,
32
 
    deprecated_method,
33
 
    )
34
 
 
35
 
 
36
29
def _supports_progress(f):
37
30
    """Detect if we can use pretty progress bars on file F.
38
31
 
65
58
    Code updating the task may also set fields as hints about how to display
66
59
    it: show_pct, show_spinner, show_eta, show_count, show_bar.  UIs
67
60
    will not necessarily respect all these fields.
68
 
    
 
61
 
 
62
    The message given when updating a task must be unicode, not bytes.
 
63
 
69
64
    :ivar update_latency: The interval (in seconds) at which the PB should be
70
65
        updated.  Setting this to zero suggests every update should be shown
71
66
        synchronously.
113
108
            self.msg)
114
109
 
115
110
    def update(self, msg, current_cnt=None, total_cnt=None):
 
111
        """Report updated task message and if relevent progress counters
 
112
 
 
113
        The message given must be unicode, not a byte string.
 
114
        """
116
115
        self.msg = msg
117
116
        self.current_cnt = current_cnt
118
117
        if total_cnt: