#!/usr/bin/env python from reporting import run_query, Cache, http_get_json, http_get_json_simple import httplib import json data = run_query("db.cnf", ''' SELECT a, b FROM test_data; ''') user_info_cache = Cache("user_info") conn = httplib.HTTPConnection('jsonplaceholder.typicode.com') def add_user_name(row): def fetch_user_name(): return http_get_json(conn, '/users/%s' % str(row[1]))['name'] return row + [user_info_cache.get_or_else(row[1], fetch_user_name, 5)] report = map(add_user_name, data) def output(row): print(row) map(output, report)