diff --git a/gapi/api.py b/gapi/api.py index 5fb3df0..7a6e67b 100644 --- a/gapi/api.py +++ b/gapi/api.py @@ -1,11 +1,11 @@ import datetime from googleapiclient.discovery import build -from googleapiclient.errors import HttpError +from googleapiclient.errors import * from oauth2client import client from oauth2client import tools from oauth2client.file import Storage -from oauth2client.service_account import ServiceAccountCredentials +# from oauth2client.service_account import ServiceAccountCredentials import httplib2 import os @@ -14,16 +14,19 @@ import argparse flags = argparse.ArgumentParser(parents=[tools.argparser]).parse_args() +HOUR = datetime.timedelta(seconds=60**2) + + class API: def __init__( - self, - service, - scopes, - app_name, - client_secret_file, - credentials_dir, - version = 'v3', - ): + self, + service, + scopes, + app_name, + client_secret_file, + credentials_dir, + version='v3', + ): self.service_name = service self.app_name = app_name self.client_secret_file = client_secret_file @@ -32,6 +35,7 @@ class API: self._service = None self._service_settime = None self.version = version + def get_credentials(self): credential_path = os.path.join(self.credentials_dir, @@ -40,7 +44,8 @@ class API: store = Storage(credential_path) credentials = store.get() if not credentials or credentials.invalid: - flow = client.flow_from_clientsecrets(self.client_secret_file, self.scopes) + flow = client.flow_from_clientsecrets( + self.client_secret_file, self.scopes) flow.user_agent = self.app_name if flags: credentials = tools.run_flow(flow, store, flags) @@ -54,13 +59,14 @@ class API: http = credentials.authorize(httplib2.Http()) - service = build(self.service_name, self.version, http=http, cache_discovery=False) + service = build(self.service_name, self.version, + http=http, cache_discovery=False) return service def _needs_renewal(self): now = datetime.datetime.today() if self._service_settime: - return (now - self._service_settime) > datetime.timedelta(seconds = 60**2) + return (now - self._service_settime) > HOUR else: return True