/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 breezy/transport/log.py

  • Committer: Jelmer Vernooij
  • Date: 2018-11-16 23:15:15 UTC
  • mfrom: (7180 work)
  • mto: This revision was merged to the branch mainline in revision 7183.
  • Revision ID: jelmer@jelmer.uk-20181116231515-zqd2yn6kj8lfydyp
Merge trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
42
42
 
43
43
    def __init__(self, *args, **kw):
44
44
        super(TransportLogDecorator, self).__init__(*args, **kw)
 
45
 
45
46
        def _make_hook(hookname):
46
47
            def _hook(relpath, *args, **kw):
47
48
                return self._log_and_call(hookname, relpath, *args, **kw)
50
51
        # instance copy_to takes list of relpaths. Also, unclear on url vs
51
52
        # filesystem path split. Needs tidying up.
52
53
        for methodname in (
53
 
            'append_bytes',
54
 
            'append_file',
55
 
            'copy_to',
56
 
            'delete',
57
 
            'get',
58
 
            'has',
59
 
            'open_write_stream',
60
 
            'mkdir',
61
 
            'move',
62
 
            'put_bytes', 'put_bytes_non_atomic', 'put_file put_file_non_atomic',
63
 
            'list_dir', 'lock_read', 'lock_write',
64
 
            'readv', 'rename', 'rmdir',
65
 
            'stat',
66
 
            'ulock',
67
 
            ):
 
54
                'append_bytes',
 
55
                'append_file',
 
56
                'copy_to',
 
57
                'delete',
 
58
                'get',
 
59
                'has',
 
60
                'open_write_stream',
 
61
                'mkdir',
 
62
                'move',
 
63
                'put_bytes', 'put_bytes_non_atomic', 'put_file put_file_non_atomic',
 
64
                'list_dir', 'lock_read', 'lock_write',
 
65
                'readv', 'rename', 'rmdir',
 
66
                'stat',
 
67
                'ulock',
 
68
                ):
68
69
            setattr(self, methodname, _make_hook(methodname))
69
70
 
70
71
    @classmethod
74
75
    def iter_files_recursive(self):
75
76
        # needs special handling because it does not have a relpath parameter
76
77
        mutter("%s %s"
77
 
            % ('iter_files_recursive', self._decorated.base))
 
78
               % ('iter_files_recursive', self._decorated.base))
78
79
        return self._call_and_log_result('iter_files_recursive', (), {})
79
80
 
80
81
    def _log_and_call(self, methodname, relpath, *args, **kwargs):
116
117
            val = repr(getvalue())
117
118
            result_len = len(val)
118
119
            shown_result = "%s(%s) (%d bytes)" % (result.__class__.__name__,
119
 
                self._shorten(val), result_len)
 
120
                                                  self._shorten(val), result_len)
120
121
        elif methodname == 'readv':
121
122
            num_hunks = len(result)
122
123
            total_bytes = sum((len(d) for o, d in result))
135
136
                # this is the rate of higher-level data, not the raw network
136
137
                # speed using base-10 units (see HACKING.txt).
137
138
                mutter("      %9.03fs %8dkB/s"
138
 
                       % (elapsed, result_len/elapsed/1000))
 
139
                       % (elapsed, result_len / elapsed / 1000))
139
140
            else:
140
141
                mutter("      %9.03fs" % (elapsed))
141
142
        return return_result