Code Duplication    Length = 16-18 lines in 2 locations

pyspider/libs/counter.py 2 locations

@@ 147-164 (lines=18) @@
144
    def value(self, value):
145
        self.cache_value = value
146
147
    def _trim_window(self):
148
        now = time.time()
149
        if self.cache_start and now - self.cache_start > self.window_interval:
150
            self.values.append(self.cache_value)
151
            self.events.append(self.cache_event)
152
            self.times.append(self.cache_start)
153
            self.on_append(self.cache_value, self.cache_start)
154
            self.cache_value = 0
155
            self.cache_start = None
156
157
        if self.window_size != self.max_window_size and self._first_data_time is not None:
158
            time_passed = now - self._first_data_time
159
            self.window_size = min(self.max_window_size, time_passed / self.window_interval)
160
        window_limit = now - self.window_size * self.window_interval
161
        while self.times and self.times[0] < window_limit:
162
            self.times.popleft()
163
            self.events.popleft()
164
            self.values.popleft()
165
166
    @property
167
    def avg(self):
@@ 226-241 (lines=16) @@
223
    def value(self, value):
224
        self.cache_value = value
225
226
    def _trim_window(self):
227
        now = time.time()
228
        if self.cache_start and now - self.cache_start > self.window_interval:
229
            self.values.append(self.cache_value)
230
            self.times.append(self.cache_start)
231
            self.on_append(self.cache_value, self.cache_start)
232
            self.cache_value = 0
233
            self.cache_start = None
234
235
        if self.window_size != self.max_window_size and self._first_data_time is not None:
236
            time_passed = now - self._first_data_time
237
            self.window_size = min(self.max_window_size, time_passed / self.window_interval)
238
        window_limit = now - self.window_size * self.window_interval
239
        while self.times and self.times[0] < window_limit:
240
            self.times.popleft()
241
            self.values.popleft()
242
243
    @property
244
    def avg(self):