summaryrefslogtreecommitdiff
path: root/dexcom_reader/readdata.py
diff options
context:
space:
mode:
Diffstat (limited to 'dexcom_reader/readdata.py')
-rw-r--r--dexcom_reader/readdata.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/dexcom_reader/readdata.py b/dexcom_reader/readdata.py
index 5e2436b..e589b1a 100644
--- a/dexcom_reader/readdata.py
+++ b/dexcom_reader/readdata.py
@@ -241,7 +241,10 @@ class Dexcom(object):
241 self.WriteCommand(constants.READ_DATABASE_PAGE_RANGE, 241 self.WriteCommand(constants.READ_DATABASE_PAGE_RANGE,
242 chr(record_type_index)) 242 chr(record_type_index))
243 packet = self.readpacket() 243 packet = self.readpacket()
244 return struct.unpack('II', packet.data) 244 (a, b) = struct.unpack('II', packet.data)
245 if a == 2**32-1 or b == 2**32-1:
246 return None
247 return (a, b)
245 248
246 def ReadDatabasePage(self, record_type, page): 249 def ReadDatabasePage(self, record_type, page):
247 record_type_index = constants.RECORD_TYPES.index(record_type) 250 record_type_index = constants.RECORD_TYPES.index(record_type)
@@ -294,6 +297,8 @@ class Dexcom(object):
294 def iter_records (self, record_type): 297 def iter_records (self, record_type):
295 assert record_type in constants.RECORD_TYPES 298 assert record_type in constants.RECORD_TYPES
296 page_range = self.ReadDatabasePageRange(record_type) 299 page_range = self.ReadDatabasePageRange(record_type)
300 if page_range is None:
301 return
297 start, end = page_range 302 start, end = page_range
298 if start != end or not end: 303 if start != end or not end:
299 end += 1 304 end += 1
@@ -302,11 +307,14 @@ class Dexcom(object):
302 records.reverse( ) 307 records.reverse( )
303 for record in records: 308 for record in records:
304 yield record 309 yield record
305 310
306 def ReadRecords(self, record_type, n=0): 311 def ReadRecords(self, record_type, n=0):
307 records = [] 312 records = []
308 assert record_type in constants.RECORD_TYPES 313 assert record_type in constants.RECORD_TYPES
309 page_range = self.ReadDatabasePageRange(record_type) 314 page_range = self.ReadDatabasePageRange(record_type)
315 if page_range is None:
316 return records
317
310 start, end = page_range 318 start, end = page_range
311 if start != end or not end: 319 if start != end or not end:
312 end += 1 320 end += 1