summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen West <bewest@gmail.com>2015-11-23 11:32:40 -0800
committerBen West <bewest@gmail.com>2015-11-23 11:32:40 -0800
commit15a87fdb19acc7f4e6def7752a1a74dc55a79206 (patch)
treed35ea267e899d83a0d3c8f132fd28ae0f3b2ac7e
parente7ca533ed97692680e2548093fe3d8577c8a8f4c (diff)
parenteab6bbea1310d1c997808946b9ced86afbdcf5ab (diff)
Merge pull request #1 from openaps/dev
Pull dev to master
-rw-r--r--dexcom_reader/database_records.py2
-rw-r--r--dexcom_reader/readdata.py11
-rw-r--r--dexcom_reader/record_test.py14
3 files changed, 25 insertions, 2 deletions
diff --git a/dexcom_reader/database_records.py b/dexcom_reader/database_records.py
index 1afb593..79ae323 100644
--- a/dexcom_reader/database_records.py
+++ b/dexcom_reader/database_records.py
@@ -95,6 +95,8 @@ class InsertionRecord(GenericTimestampedRecord):
95 95
96 @property 96 @property
97 def insertion_time(self): 97 def insertion_time(self):
98 if self.data[2] == 0xFFFFFFFF:
99 return self.system_time
98 return util.ReceiverTimeToTime(self.data[2]) 100 return util.ReceiverTimeToTime(self.data[2])
99 101
100 @property 102 @property
diff --git a/dexcom_reader/readdata.py b/dexcom_reader/readdata.py
index c94e5a6..3009f37 100644
--- a/dexcom_reader/readdata.py
+++ b/dexcom_reader/readdata.py
@@ -249,16 +249,23 @@ class Dexcom(object):
249 def iter_records (self, record_type): 249 def iter_records (self, record_type):
250 assert record_type in constants.RECORD_TYPES 250 assert record_type in constants.RECORD_TYPES
251 page_range = self.ReadDatabasePageRange(record_type) 251 page_range = self.ReadDatabasePageRange(record_type)
252 for x in xrange(page_range[1], page_range[0] or 1, -1): 252 start, end = page_range
253 if start != end or not end:
254 end += 1
255 for x in reversed(xrange(start, end)):
253 records = list(self.ReadDatabasePage(record_type, x)) 256 records = list(self.ReadDatabasePage(record_type, x))
254 records.reverse( ) 257 records.reverse( )
255 for record in records: 258 for record in records:
256 yield record 259 yield record
260
257 def ReadRecords(self, record_type): 261 def ReadRecords(self, record_type):
258 records = [] 262 records = []
259 assert record_type in constants.RECORD_TYPES 263 assert record_type in constants.RECORD_TYPES
260 page_range = self.ReadDatabasePageRange(record_type) 264 page_range = self.ReadDatabasePageRange(record_type)
261 for x in range(page_range[0], page_range[1] or 1): 265 start, end = page_range
266 if start != end or not end:
267 end += 1
268 for x in range(start, end):
262 records.extend(self.ReadDatabasePage(record_type, x)) 269 records.extend(self.ReadDatabasePage(record_type, x))
263 return records 270 return records
264 271
diff --git a/dexcom_reader/record_test.py b/dexcom_reader/record_test.py
new file mode 100644
index 0000000..eb82358
--- /dev/null
+++ b/dexcom_reader/record_test.py
@@ -0,0 +1,14 @@
1import readdata
2
3dd = readdata.Dexcom.FindDevice()
4dr = readdata.Dexcom(dd)
5meter_records = dr.ReadRecords('METER_DATA')
6print 'First Meter Record = '
7print meter_records[0]
8print 'Last Meter Record ='
9print meter_records[-1]
10insertion_records = dr.ReadRecords('INSERTION_TIME')
11print 'First Insertion Record = '
12print insertion_records[0]
13print 'Last Insertion Record = '
14print insertion_records[-1]