From c337ac3537fed3f0f1056998935e83f89c686837 Mon Sep 17 00:00:00 2001 From: Scott Baker Date: Tue, 10 Jun 2014 19:54:17 -0700 Subject: [PATCH] gracefully handle missing bigquery keys --- planetstack/hpc_wizard/bigquery_analytics.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/planetstack/hpc_wizard/bigquery_analytics.py b/planetstack/hpc_wizard/bigquery_analytics.py index a0a0275..4a90c2b 100644 --- a/planetstack/hpc_wizard/bigquery_analytics.py +++ b/planetstack/hpc_wizard/bigquery_analytics.py @@ -6,6 +6,7 @@ import json import httplib2 import threading import os +import sys import time import traceback @@ -28,10 +29,12 @@ PROJECT_NUMBER = '549187599759' try: FLOW = flow_from_clientsecrets('/opt/planetstack/hpc_wizard/client_secrets.json', scope='https://www.googleapis.com/auth/bigquery') + BIGQUERY_AVAILABLE = True except: - print "exception while initializing bigquery flow" + print >> sys.stderr, "exception while initializing bigquery flow" traceback.print_exc() FLOW = None + BIGQUERY_AVAILABLE = False MINUTE_MS = 60*1000 HOUR_MS = 60*60*1000 @@ -93,7 +96,7 @@ class BigQueryAnalytics: credentials = storage.get() if credentials is None or credentials.invalid: - credentials = run(FLOW, storage) + credentials = run(FLOW, storage) http = httplib2.Http() http = credentials.authorize(http) @@ -111,6 +114,10 @@ class BigQueryAnalytics: field["name"] = reverse_mappings[self.tableName].get(field["name"], field["name"]) def run_query(self, query): + if not BIGQUERY_AVAILABLE: + print >> sys.stderr, "bigquery_analytics: bigquery flow is not available. returning empty result." + return [] + response = self.run_query_raw(query) fieldNames = [] -- 2.43.0