def get_k_factor(r1_rating, r2_rating, r1_update, r2_update): k_factor = min(tools.get_k_factor(r1_rating), tools.get_k_factor(r2_rating)) # Increase k_factor for recently updated bots. if (time.time() - r1_update < DAY or time.time() - r2_update < DAY): k_factor = int(k_factor * 2) elif (time.time() - r1_update < 3 * DAY or time.time() - r2_update < 3 * DAY): k_factor = int(k_factor * 1.5) return k_factor
def rating_diff_class(robot): diff = rating_diff(robot) bounds = [16, 6, 2, -16, -6, -2] classes = [ 'fa-caret-up bold', 'fa-angle-double-up bold', 'fa-angle-up bold', 'fa-caret-down bold', 'fa-angle-double-down bold', 'fa-angle-down bold', ] k = tools.get_k_factor(robot.last_rating) for i in range(len(bounds)): if diff > 0 and bounds[i] > 0 and diff > bounds[i] * k: return classes[i] + ' green' elif diff < 0 and bounds[i] < 0 and diff < bounds[i] * k: return classes[i] + ' red' return ''