Code Duplication    Length = 16-18 lines in 2 locations

pyspider/libs/counter.py 2 locations

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