def route_data(): adds = [] deletes = [] # TODO - The data should be stored in a more efficent way for querying for i, change in enumerate([x for x in sorted(map(Change, Change.keys()), key=lambda k: k.timestamp)]): x = change.timestamp if change.line_delta > 0: adds.append({'x': x, 'y': change.line_delta}) deletes.append({'x': x, 'y': 0}) elif change.line_delta < 0: adds.append({'x': x, 'y': 0}) deletes.append({'x': x, 'y': abs(change.line_delta)}) else: adds.append({'x': x, 'y': 0}) deletes.append({'x': x, 'y': 0}) files = dict([(f.id, f.length()) for f in (map(File, File.keys()))]) return jsonify({'add': adds, 'delete': deletes, 'files': files})