def main(): """ Main function to launch the parser Parser arguments : dimensions metrics application siteid table since """ parser = argparse.ArgumentParser(description='Process resource to reach') parser.add_argument('--dimensions', type=str, default="", help='Dimensions you want. Seperate by a ","') parser.add_argument('--metrics', type=str, help='Metrics you want separate by a ","') parser.add_argument('--application', type=str, help='ga for Google Analytic', default="ga") parser.add_argument('--siteid', type=str, help='Site id') parser.add_argument('--table', type=str, help='Table name') parser.add_argument('--mode', type=str, help='Table name', default="prod") parser.add_argument('--since', type=str, default="month", help='Retrieve info since', choices=['day', 'week', 'month', 'year'] ) args = parser.parse_args() #Setting mode debug = False if args.mode == "debug": debug = True print time.time() print "get_token" #Retrieve token access_token = get_token() if debug == True: print time.time() print "Make call google" #Retrieve api informations rep = call_google_api(access_token, args) if debug ==True: print time.time() content = rep.json() if debug == True: print time.time() print content headers = content.get("columnHeaders") query_infos = content.get("query") rows = content.get("rows") table_name = query_infos.get("metrics") site_id = query_infos.get("ids")[3:] if args.dimensions != "": table_name = "_".join(args.metrics.split(",") + args.dimensions.split(",")) else: table_name = "_".join(args.metrics.split(",")) d = DB() elements = {"site_id" : "INTEGER", "from_date" : "DATE", "to_date" : "DATE", "infos" : "STRING", "data": "STRING" } model_to_save = d.get_model(table_name.encode('ascii', 'ignore'), elements) model_to_save.infos = headers model_to_save.site_id = site_id model_to_save.to_date = datetime.datetime.today().isoformat() model_to_save.from_date = get_start_date(args.since) model_to_save.data = json.dumps(content.get(u"rows"))[1:-1] model_to_save.save() if debug == True: print time.time() print "Finish"