Skip to content

Commit

Permalink
Fixed Shabang lines and created first version of mm-history.py
Browse files Browse the repository at this point in the history
  • Loading branch information
Fokko authored and bewest committed Jun 21, 2015
1 parent 57002d5 commit 2918fd9
Show file tree
Hide file tree
Showing 5 changed files with 1,851 additions and 2 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ node_modules/
doc/_build/
dist/
.idea/
*.iml
69 changes: 69 additions & 0 deletions bin/mm-history.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
#!/usr/bin/env python
# PYTHON_ARGCOMPLETE_OK

from decocare import commands
import json

from decocare.history import HistoryPage
from decocare.helpers import cli

class LatestActivity (cli.CommandApp):
"""%(prog)s - Grab history
"""

def download_page (self, number):
kwds = dict(page=number)
page = self.exec_request(self.pump, commands.ReadHistoryData, args=kwds)
return page

def find_records (self, page, larger=None):
decoder = HistoryPage(page, self.pump.model)
records = decoder.decode( )
print "SINCE", self.since.isoformat( )
for record in records:
print " * found record", record['_type'], record.get('timestamp')
print " * should quit", record.get('timestamp') < self.since.isoformat( ), self.enough_history
if record.get('timestamp'):
dt = parse(record['timestamp'])
dt = dt.replace(tzinfo=self.timezone)
record.update(timestamp=dt.isoformat( ))
if record['timestamp'] < self.since.isoformat( ):
self.enough_history = True
if record['timestamp'] >= self.since.isoformat( ):
self.records.append(record)
return records

def download_history (self, args):
i = 0
print "find records since", self.since.isoformat( )
self.enough_history = False
self.records = [ ]
while not self.enough_history:
history = self.download_page(i)
remainder = self.find_records(history.data)
i = i + 1
results = self.records
print "```json"
args.parsed_data.write(json.dumps(results, indent=2))
print ''
print "```"

def main (self, args):
self.delta = relativedelta.relativedelta(minutes=args.minutes)
self.report_settings(args)
if args.clock:
self.report_clock(args )
if args.status:
self.report_status(args)
if args.temp:
self.report_temp(args)
if args.basal:
self.report_basal(args)
if args.reservoir:
self.report_reservoir(args)
self.download_history(args)

if __name__ == '__main__':
app = DownloadHistory( )
app.run(None)

Loading

0 comments on commit 2918fd9

Please sign in to comment.