Skip to content

Commit

Permalink
Small cleanups
Browse files Browse the repository at this point in the history
  • Loading branch information
aaront committed Aug 10, 2015
1 parent 627d97e commit 7466761
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 12 deletions.
26 changes: 16 additions & 10 deletions mygeotab/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,12 @@ def from_credentials(credentials):
:param credentials: The existing saved credentials
:return: A new API object populated with MyGeotab credentials
"""
return API(username=credentials.username, password=credentials.password, database=credentials.database,
session_id=credentials.session_id, server=credentials.server)
return API(username=credentials.username, password=credentials.password,
database=credentials.database, session_id=credentials.session_id,
server=credentials.server)

def _get_api_url(self):
@property
def _api_url(self):
"""
Formats the server URL properly in order to query the API.
Expand Down Expand Up @@ -89,10 +91,11 @@ def _query(self, method, parameters):
"""
params = dict(id=-1, method=method, params=parameters)
headers = {'Content-type': 'application/json; charset=UTF-8'}
url = self._get_api_url()
is_live = not any(s in url for s in ['127.0.0.1', 'localhost'])
r = requests.post(url, data=json.dumps(params, default=mygeotab.serializers.object_serializer), headers=headers,
allow_redirects=True, verify=is_live)
is_live = not any(s in self._api_url for s in ['127.0.0.1', 'localhost'])
r = requests.post(self._api_url,
data=json.dumps(params,
default=mygeotab.serializers.object_serializer),
headers=headers, allow_redirects=True, verify=is_live)
return self._process(r.json(object_hook=mygeotab.serializers.object_deserializer))

def call(self, method, type_name=None, **parameters):
Expand Down Expand Up @@ -218,11 +221,13 @@ def authenticate(self):
if new_server != 'ThisServer':
server = new_server
c = result['credentials']
self.credentials = Credentials(c['userName'], c['sessionId'], c['database'], server)
self.credentials = Credentials(c['userName'], c['sessionId'], c['database'],
server)
return self.credentials
except MyGeotabException as exception:
if exception.name == 'InvalidUserException':
raise AuthenticationException(self.credentials.username, self.credentials.database,
raise AuthenticationException(self.credentials.username,
self.credentials.database,
self.credentials.server)
raise

Expand Down Expand Up @@ -290,7 +295,8 @@ def __init__(self, username, database, server):
self.server = server

def __str__(self):
return 'Cannot authenticate \'{0} @ {1}/{2}\''.format(self.username, self.server, self.database)
return 'Cannot authenticate \'{0} @ {1}/{2}\''.format(self.username, self.server,
self.database)


__all__ = ['API', 'Credentials', 'MyGeotabException', 'AuthenticationException']
6 changes: 4 additions & 2 deletions mygeotab/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,8 @@ def get_api(self):

def login(self, username, password=None, database=None, server=None):
if server:
api = mygeotab.api.API(username=username, password=password, database=database, server=server)
api = mygeotab.api.API(username=username, password=password, database=database,
server=server)
else:
api = mygeotab.api.API(username=username, password=password, database=database)
self.credentials = api.authenticate()
Expand Down Expand Up @@ -202,7 +203,8 @@ def console(session, database=None, user=None, password=None, server=None):
api = login(session, user, password, database, server)

methods = dict(my=api, mygeotab=mygeotab, utils=mygeotab.utils)
version = 'MyGeotab Console {0} [Python {1}]'.format(mygeotab.__version__, sys.version.replace('\n', ''))
version = 'MyGeotab Console {0} [Python {1}]'.format(mygeotab.__version__,
sys.version.replace('\n', ''))
auth_line = ('Logged in as: %s' % session.credentials) if session.credentials else 'Not logged in'
banner = '\n'.join([version, auth_line])
try:
Expand Down

0 comments on commit 7466761

Please sign in to comment.