diff options
author | Ben West <bewest@gmail.com> | 2015-11-23 11:32:40 -0800 |
---|---|---|
committer | Ben West <bewest@gmail.com> | 2015-11-23 11:32:40 -0800 |
commit | 15a87fdb19acc7f4e6def7752a1a74dc55a79206 (patch) | |
tree | d35ea267e899d83a0d3c8f132fd28ae0f3b2ac7e | |
parent | e7ca533ed97692680e2548093fe3d8577c8a8f4c (diff) | |
parent | eab6bbea1310d1c997808946b9ced86afbdcf5ab (diff) |
Merge pull request #1 from openaps/dev
Pull dev to master
-rw-r--r-- | dexcom_reader/database_records.py | 2 | ||||
-rw-r--r-- | dexcom_reader/readdata.py | 11 | ||||
-rw-r--r-- | dexcom_reader/record_test.py | 14 |
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 @@ | |||
1 | import readdata | ||
2 | |||
3 | dd = readdata.Dexcom.FindDevice() | ||
4 | dr = readdata.Dexcom(dd) | ||
5 | meter_records = dr.ReadRecords('METER_DATA') | ||
6 | print 'First Meter Record = ' | ||
7 | print meter_records[0] | ||
8 | print 'Last Meter Record =' | ||
9 | print meter_records[-1] | ||
10 | insertion_records = dr.ReadRecords('INSERTION_TIME') | ||
11 | print 'First Insertion Record = ' | ||
12 | print insertion_records[0] | ||
13 | print 'Last Insertion Record = ' | ||
14 | print insertion_records[-1] | ||