Code Duplication    Length = 10-14 lines in 2 locations

omaha_server/omaha/statistics.py 2 locations

@@ 180-193 (lines=14) @@
177
178
179
180
def get_hourly_data_by_platform(app_id, end, n_hours, versions, platform, tz='UTC'):
181
    tzinfo = pytz.timezone(tz)
182
    start = end - timezone.timedelta(hours=n_hours)
183
    event_name = "request:{}:{}:{}"
184
185
    hours = [datetime(start.year, start.month, start.day, start.hour, tzinfo=pytz.UTC)
186
             + timezone.timedelta(hours=x) for x in range(1, n_hours + 1)]
187
188
    data = [(v, [[hour.astimezone(tzinfo).strftime("%Y-%m-%dT%H:%M:%S.%fZ"),
189
                  len(HourEvents.from_date(event_name.format(app_id, platform, v), hour))]
190
                 for hour in hours])
191
            for v in versions]
192
    data = filter(lambda version_data: sum([data[1] for data in version_data[1]]), data)
193
    return dict(data)
194
195
196
def get_daily_data_by_platform(app_id, end, n_days, versions, platform):
@@ 196-205 (lines=10) @@
193
    return dict(data)
194
195
196
def get_daily_data_by_platform(app_id, end, n_days, versions, platform):
197
    start = end - timezone.timedelta(days=n_days)
198
    event_name = "request:{}:{}:{}"
199
200
    days = [start + timezone.timedelta(days=x) for x in range(0, n_days+1)]
201
    data = [(v, [[day.strftime("%Y-%m-%dT00:%M:%S.%fZ"), len(DayEvents.from_date(event_name.format(app_id, platform, v), day))]
202
                 for day in days])
203
            for v in versions]
204
    data = filter(lambda version_data: sum([data[1] for data in version_data[1]]), data)
205
    return dict(data)
206
207
208
def get_users_live_versions(app_id, start, end, tz='UTC'):