Skip to content

Commit 62815e1

Browse files
committed
Import errors
1 parent 5fd1775 commit 62815e1

File tree

2 files changed

+32
-36
lines changed

2 files changed

+32
-36
lines changed

pandas/io/gbq.py

+2-10
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,6 @@ def _test_google_api_imports():
5454
from apiclient.errors import HttpError # noqa
5555
from oauth2client.client import GoogleCredentials # noqa
5656
from oauth2client.client import AccessTokenRefreshError # noqa
57-
from oauth2client.client import HttpAccessTokenRefreshError # noqa
58-
from oauth2client.client import ApplicationDefaultCredentialsError # noqa
5957
from oauth2client.client import OAuth2WebServerFlow # noqa
6058
from oauth2client.file import Storage # noqa
6159
from oauth2client.tools import run_flow, argparser # noqa
@@ -193,18 +191,13 @@ def get_application_default_credentials(self):
193191
"""
194192
try:
195193
from googleapiclient.discovery import build
196-
from googleapiclient.errors import HttpError
197194
except ImportError:
198195
from apiclient.discovery import build
199-
from apiclient.errors import HttpError
200196
from oauth2client.client import GoogleCredentials
201-
from oauth2client.client import AccessTokenRefreshError
202-
from oauth2client.client import HttpAccessTokenRefreshError
203-
from oauth2client.client import ApplicationDefaultCredentialsError
204197

205198
try:
206199
credentials = GoogleCredentials.get_application_default()
207-
except ApplicationDefaultCredentialsError:
200+
except:
208201
return None
209202

210203
# Check if the application has rights to the BigQuery project
@@ -214,8 +207,7 @@ def get_application_default_credentials(self):
214207
try:
215208
jobs.insert(projectId=self.project_id, body=job_data).execute()
216209
return credentials
217-
except (HttpAccessTokenRefreshError, AccessTokenRefreshError,
218-
HttpError, TypeError):
210+
except:
219211
return None
220212

221213
def get_user_account_credentials(self):

pandas/io/tests/test_gbq.py

+30-26
Original file line numberDiff line numberDiff line change
@@ -56,32 +56,6 @@ def _skip_if_no_private_key_contents():
5656
_skip_if_no_private_key_contents()
5757

5858

59-
def _check_if_can_get_correct_default_credentials():
60-
try:
61-
from oauth2client.client import GoogleCredentials
62-
from apiclient.discovery import build
63-
credentials = GoogleCredentials.get_application_default()
64-
bigquery_service = build('bigquery', 'v2', credentials=credentials)
65-
jobs = bigquery_service.jobs()
66-
job_data = {'configuration': {'query': {'query': 'SELECT 1'}}}
67-
jobs.insert(projectId=PROJECT_ID, body=job_data).execute()
68-
return True
69-
except:
70-
return False
71-
72-
73-
def _skip_if_cant_get_correct_default_credentials():
74-
if not _check_if_can_get_correct_default_credentials():
75-
raise nose.SkipTest("Cannot get default_credentials "
76-
"from the environment!")
77-
78-
79-
def _skip_if_can_get_correct_default_credentials():
80-
if _check_if_can_get_correct_default_credentials():
81-
raise nose.SkipTest("Can get default_credentials "
82-
"from the environment!")
83-
84-
8559
def _test_imports():
8660
global _GOOGLE_API_CLIENT_INSTALLED, _GOOGLE_API_CLIENT_VALID_VERSION, \
8761
_HTTPLIB2_INSTALLED, _SETUPTOOLS_INSTALLED
@@ -178,6 +152,36 @@ def test_requirements():
178152
raise nose.SkipTest(import_exception)
179153

180154

155+
def _check_if_can_get_correct_default_credentials():
156+
test_requirements()
157+
from oauth2client.client import GoogleCredentials
158+
try:
159+
from googleapiclient.discovery import build
160+
except ImportError:
161+
from apiclient.discovery import build
162+
try:
163+
credentials = GoogleCredentials.get_application_default()
164+
bigquery_service = build('bigquery', 'v2', credentials=credentials)
165+
jobs = bigquery_service.jobs()
166+
job_data = {'configuration': {'query': {'query': 'SELECT 1'}}}
167+
jobs.insert(projectId=PROJECT_ID, body=job_data).execute()
168+
return True
169+
except:
170+
return False
171+
172+
173+
def _skip_if_cant_get_correct_default_credentials():
174+
if not _check_if_can_get_correct_default_credentials():
175+
raise nose.SkipTest("Cannot get default_credentials "
176+
"from the environment!")
177+
178+
179+
def _skip_if_can_get_correct_default_credentials():
180+
if _check_if_can_get_correct_default_credentials():
181+
raise nose.SkipTest("Can get default_credentials "
182+
"from the environment!")
183+
184+
181185
def clean_gbq_environment(private_key=None):
182186
dataset = gbq._Dataset(PROJECT_ID, private_key=private_key)
183187

0 commit comments

Comments
 (0)