2 Commits

Author SHA1 Message Date
c9b4774c89 Add support of socket 2019-10-28 22:13:13 +01:00
a013277cf6 Shipping v0.2.0 2019-10-28 01:21:21 +01:00
5 changed files with 33 additions and 127 deletions

View File

@@ -4,92 +4,69 @@
import time import time
import datetime import datetime
logging.config.fileConfig('logging.conf')
from georideapilib.objects import GeorideAccount from georideapilib.objects import GeorideAccount
import georideapilib.api as GeorideApi import georideapilib.api as GeorideApi
from georideapilib.socket import GeorideSocket
from threading import Thread
_LOGGER = logging.getLogger('example')
def example(): def example():
""" simple example function """ """ simple example function """
# token = "<your_token>"# pylint: disable=C0301 token = "<your_token>"# pylint: disable=C0301
# account = GeorideAccount(0, "<your_email>", False, token) """account = GeorideAccount(0, "<your_email>", False, token)"""
account = GeorideApi.get_authorisation_token("<your_email>", "<your_password>") account = GeorideApi.get_authorisation_token("<your_email>", "<your_password>")
print("token 1: ", account.auth_token) print("token 1: ", account.auth_token)
_LOGGER.info("token 1: %s", account.auth_token)
# pylint: disable=W0105 # pylint: disable=W0105
def locked_locked(data):
_LOGGER.info("Locke received")
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.renew_token(account.auth_token)
print("token 2: ", account.auth_token) print("token 2: ", account.auth_token)
""" # pylint: disable=W0105 """ # pylint: disable=W0105
user = GeorideApi.get_user(account.auth_token) user = GeorideApi.get_user(account.auth_token)
_LOGGER.info("User: %s", user.first_name) print("User: ", user.first_name)
trackers = GeorideApi.get_trackers(account.auth_token) trackers = GeorideApi.get_trackers(account.auth_token)
tracker = trackers[0] tracker = trackers[0]
_LOGGER.info("Tracker name: %s", tracker.tracker_name) print("Tracker name: ", tracker.tracker_name)
trips = GeorideApi.get_trips(account.auth_token, tracker.tracker_id, "2019-10-10", "2019-10-24") trips = GeorideApi.get_trips(account.auth_token, tracker.tracker_id, "2019-10-10", "2019-10-24")
trip = trips[0] trip = trips[0]
trip_date = datetime.datetime.strptime("2019-10-10T06:45:34.000Z", '%Y-%m-%dT%H:%M:%S.%fZ') trip_date = datetime.datetime.strptime("2019-10-10T06:45:34.000Z", '%Y-%m-%dT%H:%M:%S.%fZ')
_LOGGER.info("Trip date: %s, from: %s, to: %s", trip_date, trip.nice_start_address, print("Trip date: {}, from: {}, to: {}".format(trip_date, trip.nice_start_address,
trip.nice_end_address) trip.nice_end_address))
positions = GeorideApi.get_positions(account.auth_token, tracker.tracker_id, positions = GeorideApi.get_positions(account.auth_token, tracker.tracker_id,
"2019-10-10", "2019-10-24") "2019-10-10", "2019-10-24")
position = positions[0] position = positions[0]
_LOGGER.info("Position speed: %s, lon: %s, lat: %s", position.speed, position.longitude, print("Position speed: {}, lon: {}, lat: {}".format(position.speed, position.longitude,
position.latitude) position.latitude))
trip_shared = GeorideApi.share_a_trip_by_date(account.auth_token, tracker.tracker_id, trip_shared = GeorideApi.share_a_trip_by_date(account.auth_token, tracker.tracker_id,
"2019-10-10", "2019-10-24") "2019-10-10", "2019-10-24")
_LOGGER.info("tripShared url: %s, id: %s", trip_shared.url, trip_shared.share_id) print("tripShared url: {}, id: {}".format(trip_shared.url, trip_shared.share_id))
time.sleep(10) time.sleep(10)
have_been_locked = GeorideApi.lock_tracker(account.auth_token, tracker.tracker_id) have_been_locked = GeorideApi.lock_tracker(account.auth_token, tracker.tracker_id)
_LOGGER.info("Tracker have been locked: %s", have_been_locked) print("Tracker have been locked: ", have_been_locked)
time.sleep(10) time.sleep(10)
have_been_unlocked = GeorideApi.unlock_tracker(account.auth_token, tracker.tracker_id) have_been_unlocked = GeorideApi.unlock_tracker(account.auth_token, tracker.tracker_id)
_LOGGER.info("Tracker have been unlocked: %s", have_been_unlocked) print("Tracker have been unlocked: ", have_been_unlocked)
time.sleep(10) time.sleep(10)
is_locked = GeorideApi.toogle_lock_tracker(account.auth_token, tracker.tracker_id) is_locked = GeorideApi.toogle_lock_tracker(account.auth_token, tracker.tracker_id)
_LOGGER.info("Tracker is locked: %s", is_locked) print("Tracker is locked: ", is_locked)
time.sleep(10) time.sleep(10)
trackers = GeorideApi.get_trackers(account.auth_token) trackers = GeorideApi.get_trackers(account.auth_token)
tracker = trackers[0] tracker = trackers[0]
_LOGGER.info("Tracker name: %s is locked: %s", tracker.tracker_name, tracker.is_locked) print("Tracker name: ", tracker.tracker_name, " is locked: ", tracker.is_locked)
""" """
GeorideApi.revokeToken(account.auth_token) GeorideApi.revokeToken(account.auth_token)
""" # pylint: disable=W0105 """ # pylint: disable=W0105
example() example()

View File

@@ -297,11 +297,6 @@ 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 """
@@ -352,21 +347,11 @@ 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 """
@@ -377,21 +362,11 @@ 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 """
@@ -407,31 +382,16 @@ 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 """
@@ -482,11 +442,6 @@ 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

@@ -5,8 +5,12 @@ import socketio
from georideapilib.api import GEORIDE_API_HOST from georideapilib.api import GEORIDE_API_HOST
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
_LOGGER.setLevel(logging.DEBUG)
# create console handler and set level to debug
CH = logging.StreamHandler()
CH.setLevel(logging.DEBUG)
sio = socketio.Client(reconnection=True) # pylint: disable=C0103 sio = socketio.Client(reconnection=True)
@sio.on('connect') @sio.on('connect')
def on_connect(): def on_connect():
@@ -61,51 +65,50 @@ class GeorideSocket():
@sio.on('message') @sio.on('message')
def on_message(data): def on_message(data):
""" on_message """ """ on_message """
_LOGGER.debug('Message received: %s', data) _LOGGER.debug('Message recieved: %s', data)
if self._on_message_callback is not None: if self._on_message_callback is not None:
self._on_message_callback(data) self._on_message_callback()
@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 recieved: %s', data)
if self._on_device_callback is not None: if self._on_device_callback is not None:
self._on_device_callback(data) self._on_device_callback()
@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 recieved:%s', data)
if self._on_position_callback is not None: if self._on_position_callback is not None:
self._on_position_callback(data) self._on_position_callback()
@sio.on('alarm') @sio.on('alarm')
def on_alarm(data): def on_alarm(data):
""" on_alarm """ """ on_alarm """
_LOGGER.debug('Alarm received: %s', data) _LOGGER.debug('Alarm recieved: %s', data)
if self._on_alarm_callback is not None: if self._on_alarm_callback is not None:
self._on_alarm_callback(data) self._on_alarm_callback(data)
@sio.on('refreshTrackersInstruction') @sio.on('refreshTrackersInstruction')
def on_refresh_tracker(): def on_refresh_tracker():
""" on_refresh_tracker """ """ on_refresh_tracker """
_LOGGER.debug('Refresh tracker received') _LOGGER.debug('Refresh tracker recieved')
if self._on_refresh_tracker_callback is not None: if self._on_refresh_tracker_callback is not None:
self._on_refresh_tracker_callback() self._on_refresh_tracker_callback()
@sio.on('lockedPosition') @sio.on('lockedPosition')
def on_locked(data): def on_locked(data):
""" on_locked """ """ on_locked """
_LOGGER.debug('Locked received: %s', data) _LOGGER.debug('Locked recieved: %s', data)
if self._on_locked_callback is not None: if self._on_locked_callback is not None:
self._on_locked_callback(data) self._on_locked_callback()
else:
_LOGGER.debug('Lallback is none')
self._initialised = True self._initialised = True
def connect(self, auth_token): def connect(self, auth_token):
""" connect to the georide socket""" """ connect to the georide socket"""
_LOGGER.info("Start conection")
if self._initialised is not False: if self._initialised is not False:
sio.connect(GEORIDE_API_HOST, headers={'token': auth_token}) sio.connect(GEORIDE_API_HOST, headers={'token': auth_token})
sio.wait() sio.wait()

View File

@@ -1,29 +0,0 @@
[loggers]
keys=root,example
[handlers]
keys=consoleHandler
[formatters]
keys=simpleFormatter
[logger_root]
level=DEBUG
handlers=consoleHandler
[logger_example]
level=DEBUG
handlers=consoleHandler
qualname=simpleExample
propagate=0
[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=simpleFormatter
args=(sys.stdout,)
[formatter_simpleFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=

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.4.1', version='0.3.0',
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',