From f98204dc88c8186e7b1cbd1aa8ca38d12dba1b52 Mon Sep 17 00:00:00 2001 From: Chris Hannemann Date: Thu, 15 Oct 2015 17:33:56 -0700 Subject: Fixed record iteration and reading Fixed iteration through record pages Added a test script for meter and insertion records --- dexcom_reader/readdata.py | 9 +++++++-- dexcom_reader/record_test.py | 14 ++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 dexcom_reader/record_test.py diff --git a/dexcom_reader/readdata.py b/dexcom_reader/readdata.py index fb1863f..3009f37 100644 --- a/dexcom_reader/readdata.py +++ b/dexcom_reader/readdata.py @@ -250,17 +250,22 @@ class Dexcom(object): assert record_type in constants.RECORD_TYPES page_range = self.ReadDatabasePageRange(record_type) start, end = page_range - # for x in xrange(page_range[1], page_range[0] or 1, -1): + if start != end or not end: + end += 1 for x in reversed(xrange(start, end)): records = list(self.ReadDatabasePage(record_type, x)) records.reverse( ) for record in records: yield record + def ReadRecords(self, record_type): records = [] assert record_type in constants.RECORD_TYPES page_range = self.ReadDatabasePageRange(record_type) - for x in range(page_range[0], page_range[1] or 1): + start, end = page_range + if start != end or not end: + end += 1 + for x in range(start, end): records.extend(self.ReadDatabasePage(record_type, x)) return records 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 @@ +import readdata + +dd = readdata.Dexcom.FindDevice() +dr = readdata.Dexcom(dd) +meter_records = dr.ReadRecords('METER_DATA') +print 'First Meter Record = ' +print meter_records[0] +print 'Last Meter Record =' +print meter_records[-1] +insertion_records = dr.ReadRecords('INSERTION_TIME') +print 'First Insertion Record = ' +print insertion_records[0] +print 'Last Insertion Record = ' +print insertion_records[-1] -- cgit v1.2.3