6 Commits
0.3.0 ... 0.4.2

Author SHA1 Message Date
13df6822c8 Shipping v0.4.2 2019-11-02 17:42:36 +01:00
9bb33b6020 Fix exception bug 2019-11-02 17:40:53 +01:00
b78c503b31 Shipping v0.4.1 2019-10-30 20:35:02 +01:00
b0caa42ca2 Fix data on callback function 2019-10-30 20:33:07 +01:00
e69b2dfab9 Shipping v0.4.0 2019-10-29 22:46:15 +01:00
0368c17321 Add tracker setter for some useful properties 2019-10-29 22:44:29 +01:00
5 changed files with 78 additions and 20 deletions

View File

@@ -9,6 +9,8 @@ from georideapilib.objects import GeorideAccount
import georideapilib.api as GeorideApi import georideapilib.api as GeorideApi
from georideapilib.socket import GeorideSocket from georideapilib.socket import GeorideSocket
from threading import Thread
_LOGGER = logging.getLogger('example') _LOGGER = logging.getLogger('example')
@@ -23,11 +25,20 @@ def example():
_LOGGER.info("token 1: %s", account.auth_token) _LOGGER.info("token 1: %s", account.auth_token)
# pylint: disable=W0105 # pylint: disable=W0105
# socket = GeorideSocket() def locked_locked(data):
# socket.init() _LOGGER.info("Locke received")
# socket.connect(account.auth_token)
# time.sleep(10)
# socket.disconnect() def connect_socket(account):
socket = GeorideSocket()
socket.subscribe_locked(locked_locked)
socket.init()
socket.connect(account.auth_token)
time.sleep(10)
socket.disconnect()
thread = Thread(target=connect_socket, args=(account))
thread.start()
""" """
account.auth_token = GeorideApi.renewToken(account.auth_token) account.auth_token = GeorideApi.renewToken(account.auth_token)

View File

@@ -53,11 +53,12 @@ def get_authorisation_token(email, password):
response_data = response.json() response_data = response.json()
account = GeorideAccount.from_json(response_data) account = GeorideAccount.from_json(response_data)
elif response.status_code == 403: elif response.status_code == 403:
_LOGGER.warnning("Login failed") _LOGGER.warning("Login failed")
raise LoginException("Login failed") raise LoginException(get_authorisation_token, "Login failed")
else: else:
_LOGGER.error("Georide login, http error code: %s", response.status_code) _LOGGER.error("Georide login, http error code: %s", response.status_code)
raise SeverException("Georide login, http error code: {}".format(response.status_code)) raise SeverException(get_authorisation_token,
"Georide login, http error code: {}".format(response.status_code))
return account return account
@@ -73,10 +74,11 @@ def renew_token(token):
new_token = response_data['authToken'] new_token = response_data['authToken']
elif response.status_code == 401: elif response.status_code == 401:
_LOGGER.warnning("Renew token refused") _LOGGER.warnning("Renew token refused")
raise UnauthorizedException("Renew token refused") raise UnauthorizedException(renew_token, "Renew token refused")
else: else:
_LOGGER.error("Georide login, http error code: %s", response.status_code) _LOGGER.error("Georide login, http error code: %s", response.status_code)
raise SeverException("Georide login, http error code: {}".format(response.status_code)) raise SeverException(renew_token,
"Georide login, http error code: {}".format(response.status_code))
return new_token return new_token
def revoke_token(token): def revoke_token(token):
@@ -87,7 +89,7 @@ def revoke_token(token):
headers=headers) headers=headers)
if response.status_code == 401: if response.status_code == 401:
_LOGGER.warnning("Token allready revoked") _LOGGER.warnning("Token allready revoked")
raise UnauthorizedException("Token allready revoked") raise UnauthorizedException(revoke_token, "Token allready revoked")
if response.status_code == 401: if response.status_code == 401:
_LOGGER.warnning("Token allready revoked") _LOGGER.warnning("Token allready revoked")
return False return False

View File

@@ -297,6 +297,11 @@ class GeorideTracker: # pylint: disable=R0904,R0902
""" fixtime """ """ fixtime """
return self._fixtime return self._fixtime
@fixtime.setter
def fixtime(self, fixtime):
""" fixtime """
self._fixtime = fixtime
@property @property
def role(self): def role(self):
""" role """ """ role """
@@ -347,11 +352,21 @@ class GeorideTracker: # pylint: disable=R0904,R0902
""" speed """ """ speed """
return self._speed return self._speed
@speed.setter
def speed(self, speed):
""" speed """
self._speed = speed
@property @property
def moving(self): def moving(self):
""" moving """ """ moving """
return self._moving return self._moving
@moving.setter
def moving(self, moving):
""" moving """
self._moving = moving
@property @property
def position_id(self): def position_id(self):
""" position_id """ """ position_id """
@@ -362,11 +377,21 @@ class GeorideTracker: # pylint: disable=R0904,R0902
""" latitude """ """ latitude """
return self._latitude return self._latitude
@latitude.setter
def latitude(self, latitude):
""" latitude """
self._latitude = latitude
@property @property
def longitude(self): def longitude(self):
""" longitude """ """ longitude """
return self._longitude return self._longitude
@longitude.setter
def longitude(self, longitude):
""" longitude """
self._longitude = longitude
@property @property
def altitude(self): def altitude(self):
""" altitude """ """ altitude """
@@ -382,16 +407,31 @@ class GeorideTracker: # pylint: disable=R0904,R0902
""" locked_latitude """ """ locked_latitude """
return self._locked_latitude return self._locked_latitude
@locked_latitude.setter
def locked_latitude(self, locked_latitude):
""" locked_latitude """
self._locked_latitude = locked_latitude
@property @property
def locked_longitude(self): def locked_longitude(self):
""" locked_longitude """ """ locked_longitude """
return self._locked_longitude return self._locked_longitude
@locked_longitude.setter
def locked_longitude(self, locked_longitude):
""" locked_longitude """
self._locked_longitude = locked_longitude
@property @property
def is_locked(self): def is_locked(self):
""" is_locked """ """ is_locked """
return self._is_locked return self._is_locked
@is_locked.setter
def is_locked(self, is_locked):
""" is_locked """
self._is_locked = is_locked
@property @property
def can_see_position(self): def can_see_position(self):
""" can_see_position """ """ can_see_position """
@@ -442,6 +482,11 @@ class GeorideTracker: # pylint: disable=R0904,R0902
""" status """ """ status """
return self._status return self._status
@status.setter
def status(self, status):
""" status """
self._status = status
@staticmethod @staticmethod
def from_json(json): def from_json(json):
"""return new object fromjson""" """return new object fromjson"""

View File

@@ -63,21 +63,21 @@ class GeorideSocket():
""" on_message """ """ on_message """
_LOGGER.debug('Message received: %s', data) _LOGGER.debug('Message received: %s', data)
if self._on_message_callback is not None: if self._on_message_callback is not None:
self._on_message_callback() self._on_message_callback(data)
@sio.on('device') @sio.on('device')
def on_device(data): def on_device(data):
""" on_device """ """ on_device """
_LOGGER.debug('Device received: %s', data) _LOGGER.debug('Device received: %s', data)
if self._on_device_callback is not None: if self._on_device_callback is not None:
self._on_device_callback() self._on_device_callback(data)
@sio.on('position') @sio.on('position')
def on_position(data): def on_position(data):
""" on_position """ """ on_position """
_LOGGER.debug('Position received:%s', data) _LOGGER.debug('Position received:%s', data)
if self._on_position_callback is not None: if self._on_position_callback is not None:
self._on_position_callback() self._on_position_callback(data)
@sio.on('alarm') @sio.on('alarm')
def on_alarm(data): def on_alarm(data):
@@ -98,8 +98,8 @@ class GeorideSocket():
""" on_locked """ """ on_locked """
_LOGGER.debug('Locked received: %s', data) _LOGGER.debug('Locked received: %s', data)
if self._on_locked_callback is not None: if self._on_locked_callback is not None:
self._on_locked_callback() self._on_locked_callback(data)
else:
self._initialised = True self._initialised = True
def connect(self, auth_token): def connect(self, auth_token):

View File

@@ -19,7 +19,7 @@ CURRENT_DIR = os.path.dirname(__file__)
setup( setup(
name='georideapilib', name='georideapilib',
packages=['georideapilib'], # this must be the same as the name above packages=['georideapilib'], # this must be the same as the name above
version='0.3.0', version='0.4.2',
description='Lib to control georide tracker devices with their rest api', description='Lib to control georide tracker devices with their rest api',
author='Matthieu DUVAL', author='Matthieu DUVAL',
author_email='georideapilib@duval-dev.fr', author_email='georideapilib@duval-dev.fr',