+ result["dataSourceUrl"] = dataSourceUrl
+
+ result = json.dumps(result);
+
+ return ("application/javascript", result)
+
+ elif (format=="charts"):
+ bq_result = self.run_query_raw(q)
+
+ # cloudscrutiny code is probably better!
+ table = {}
+ table["cols"] = self.schema_to_cols(bq_result["schema"])
+ rows = []
+ for row in bq_result["rows"]:
+ rowcols = []
+ for (colnum,col) in enumerate(row["f"]):
+ if (colnum==0):
+ dt = datetime.datetime.fromtimestamp(float(col["v"]))
+ rowcols.append({"v": 'new Date("%s")' % dt.isoformat()})
+ else:
+ try:
+ rowcols.append({"v": float(col["v"])})
+ except:
+ rowcols.append({"v": col["v"]})
+ rows.append({"c": rowcols})
+ table["rows"] = rows
+
+ if tqx:
+ reqId = tqx.strip("reqId:")
+ else:
+ reqId = "0"
+
+ result = {"status": "okColumnChart", "reqId": reqId, "table": table, "version": "0.6"}
+
+ result = "google.visualization.Query.setResponse(" + json.dumps(result) + ");"
+
+ def unquote_it(x): return x.group()[1:-1].replace('\\"', '"')
+
+ p = re.compile(r'"new Date\(\\"[^"]*\\"\)"')
+ result=p.sub(unquote_it, result)
+
+ return ("application/javascript", result)
+