7 Commits

5 changed files with 26 additions and 36 deletions

View File

@@ -28,10 +28,13 @@ def example():
def locked_locked(data): def locked_locked(data):
_LOGGER.info("Lock received") _LOGGER.info("Lock received")
def refresh_tracker():
_LOGGER.info("Refresh tracker recieved")
def connect_socket(account): def connect_socket(account):
socket = GeoRideSocket() socket = GeoRideSocket()
socket.subscribe_locked(locked_locked) socket.subscribe_locked(locked_locked)
socket.subscribe_refresh_tracker(refresh_tracker)
socket.init() socket.init()
socket.connect(account.auth_token) socket.connect(account.auth_token)
time.sleep(10) time.sleep(10)

View File

@@ -129,7 +129,7 @@ def get_trackers(token):
trackers.append(GeoRideTracker.from_json(json_tracker)) trackers.append(GeoRideTracker.from_json(json_tracker))
return trackers return trackers
def get_tracker_beacon(token, tracker_id): def get_tracker_beacons(token, tracker_id):
""" get user trackers """ """ get user trackers """
headers = {"Authorization": "Bearer " + token} headers = {"Authorization": "Bearer " + token}
@@ -138,11 +138,13 @@ def get_tracker_beacon(token, tracker_id):
headers=headers) headers=headers)
response_data = response.json() response_data = response.json()
trackers_beacons = []
if response.status_code == 200: if response.status_code == 200:
response_data['linked_tracker_id'] = tracker_id for json_tracker_beacon in response_data:
return GeoRideTrackerBeacon.from_json(response_data) _LOGGER.debug(json_tracker_beacon)
else: json_tracker_beacon['linked_tracker_id'] = tracker_id
return None trackers_beacons.append(GeoRideTrackerBeacon.from_json(json_tracker_beacon))
return trackers_beacons
def get_trips(token, tracker_id, from_date, to_date): def get_trips(token, tracker_id, from_date, to_date):
""" return all trips between two dates """ """ return all trips between two dates """

View File

@@ -882,7 +882,7 @@ class GeoRideTrackerBeacon:
self._power = tracker_beacon.power self._power = tracker_beacon.power
class GeoRideSubscription: class GeoRideSubscription(metaclass=JsonMgtMetaClass):
""" Account object representation """ """ Account object representation """
def __init__(self, subscription_id, subscription_type, initial_date, next_payment_date, def __init__(self, subscription_id, subscription_type, initial_date, next_payment_date,
status, paused_since, cancel_requested, price, first_name, last_name, card_information): status, paused_since, cancel_requested, price, first_name, last_name, card_information):
@@ -956,21 +956,22 @@ class GeoRideSubscription:
@classmethod @classmethod
def from_json(cls, json): def from_json(cls, json):
"""return new object from_json""" """return new object from_json"""
card_info = GeoRideSubscription_CardInfo.from_json(json['cardInformation']) if cls.json_field_protect(json, 'cardInformation', None) is not None else {}
return GeoRideSubscription( return GeoRideSubscription(
json['id'], json['id'],
json['type'], json['type'],
json['initialDate'], cls.json_field_protect(json, 'initialDate'),
json['nextPaymentDate'], cls.json_field_protect(json, 'nextPaymentDate'),
json['status'], cls.json_field_protect(json, 'status'),
json['pausedSince'], cls.json_field_protect(json, 'pausedSince'),
json['cancelRequested'], cls.json_field_protect(json, 'cancelRequested'),
json['price'], cls.json_field_protect(json, 'price'),
json['firstName'], cls.json_field_protect(json, 'firstName'),
json['lastName'], cls.json_field_protect(json, 'lastName'),
GeoRideSubscription_CardInfo.from_json(json['cardInformation']) card_info
) )
class GeoRideSubscription_CardInfo: class GeoRideSubscription_CardInfo(metaclass=JsonMgtMetaClass):
""" Account object representation """ """ Account object representation """
def __init__(self, last_digits, expiry, brand): def __init__(self, last_digits, expiry, brand):
self._last_digits = last_digits self._last_digits = last_digits
@@ -997,9 +998,9 @@ class GeoRideSubscription_CardInfo:
def from_json(cls, json): def from_json(cls, json):
"""return new object from_json""" """return new object from_json"""
return GeoRideSubscription_CardInfo( return GeoRideSubscription_CardInfo(
json['lastDigits'], cls.json_field_protect(json, 'lastDigits'),
json['expiry'], cls.json_field_protect(json, 'expiry'),
json['brand'] cls.json_field_protect(json, 'brand')
) )
class GeoRideAccount: class GeoRideAccount:

View File

@@ -112,19 +112,3 @@ class GeoRideSocket():
def disconnect(self): def disconnect(self):
"""disconnect from the georide socket""" """disconnect from the georide socket"""
sio.disconnect() sio.disconnect()
#TODO: remove in v0.8.0
class GeorideSocket(GeoRideSocket):
""" Trip object representation """
def __init_subclass__(cls, **kwargs):
"""Print deprecation warning."""
super().__init_subclass__(**kwargs)
_LOGGER.warning(
"GeorideSocket is deprecated, modify %s to use GeoRideSocket",
cls.__name__,
)
def __init__(self, *argv):
"""Print deprecation warning."""
super().__init__(*argv)
_LOGGER.warning("GeorideSocket is deprecated, modify your code to use GeoRideSocket")

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.8.1', version='0.8.4',
description='Lib to control GeoRide tracker devices with theire rest api', description='Lib to control GeoRide tracker devices with theire rest api',
author='Matthieu DUVAL', author='Matthieu DUVAL',
author_email='georideapilib@duval-dev.fr', author_email='georideapilib@duval-dev.fr',