/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/transport/http/_urllib2_wrappers.py

Support no activity report on http sockets.

* bzrlib/tests/test_http.py:
(TestActivityMixin, TestNoReportActivity): Test that
_report_activity c an be None for reporting sockets.

* bzrlib/transport/http/_urllib2_wrappers.py:
(_ReportingFileSocket, ReportingSocket): _report_activity can be
None, handle that.

Show diffs side-by-side

added added

removed removed

Lines of Context:
80
80
        self.filesock = filesock
81
81
        self._report_activity = report_activity
82
82
 
 
83
    def report_activity(self, size, direction):
 
84
        if self._report_activity:
 
85
            self._report_activity(size, direction)
83
86
 
84
87
    def read(self, size=1):
85
88
        s = self.filesock.read(size)
86
 
        self._report_activity(len(s), 'read')
 
89
        self.report_activity(len(s), 'read')
87
90
        return s
88
91
 
89
92
    def readline(self):
93
96
        #  don't *need* the size parameter we'll stay with readline(self)
94
97
        #  --  vila 20090209
95
98
        s = self.filesock.readline()
96
 
        self._report_activity(len(s), 'read')
 
99
        self.report_activity(len(s), 'read')
97
100
        return s
98
101
 
99
102
    def __getattr__(self, name):
106
109
        self.sock = sock
107
110
        self._report_activity = report_activity
108
111
 
 
112
    def report_activity(self, size, direction):
 
113
        if self._report_activity:
 
114
            self._report_activity(size, direction)
 
115
 
109
116
    def sendall(self, s, *args):
110
117
        self.sock.sendall(s, *args)
111
 
        self._report_activity(len(s), 'write')
 
118
        self.report_activity(len(s), 'write')
112
119
 
113
120
    def recv(self, *args):
114
121
        s = self.sock.recv(*args)
115
 
        self._report_activity(len(s), 'read')
 
122
        self.report_activity(len(s), 'read')
116
123
        return s
117
124
 
118
125
    def makefile(self, mode='r', bufsize=-1):
219
226
    # we want to warn. But not below a given thresold.
220
227
    _range_warning_thresold = 1024 * 1024
221
228
 
222
 
    def __init__(self,
223
 
                 report_activity=None):
 
229
    def __init__(self, report_activity=None):
224
230
        self._response = None
225
231
        self._report_activity = report_activity
226
232
        self._ranges_received_whole_file = None