summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Hannemann <chris.hannemann@gmail.com>2015-10-15 17:33:56 -0700
committerChris Hannemann <chris.hannemann@gmail.com>2015-10-15 17:33:56 -0700
commitf98204dc88c8186e7b1cbd1aa8ca38d12dba1b52 (patch)
treeeb5e30b104957421ebce0147a74877066c056f41
parent8630f0e77b7ab7a8b30b7864b835beb5bcac06f3 (diff)
Fixed record iteration and reading
Fixed iteration through record pages Added a test script for meter and insertion records
-rw-r--r--dexcom_reader/readdata.py9
-rw-r--r--dexcom_reader/record_test.py14
2 files changed, 21 insertions, 2 deletions
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):
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 start, end = page_range 252 start, end = page_range
253 # for x in xrange(page_range[1], page_range[0] or 1, -1): 253 if start != end or not end:
254 end += 1
254 for x in reversed(xrange(start, end)): 255 for x in reversed(xrange(start, end)):
255 records = list(self.ReadDatabasePage(record_type, x)) 256 records = list(self.ReadDatabasePage(record_type, x))
256 records.reverse( ) 257 records.reverse( )
257 for record in records: 258 for record in records:
258 yield record 259 yield record
260
259 def ReadRecords(self, record_type): 261 def ReadRecords(self, record_type):
260 records = [] 262 records = []
261 assert record_type in constants.RECORD_TYPES 263 assert record_type in constants.RECORD_TYPES
262 page_range = self.ReadDatabasePageRange(record_type) 264 page_range = self.ReadDatabasePageRange(record_type)
263 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):
264 records.extend(self.ReadDatabasePage(record_type, x)) 269 records.extend(self.ReadDatabasePage(record_type, x))
265 return records 270 return records
266 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]