dotfiles/slackware/home/bin/scripts/sugar

88 lines
1.8 KiB
Text
Raw Normal View History

#!/usr/bin/python3
2022-06-07 15:44:19 -04:00
import sys
import requests
import json
from termcolor import colored
# sample request:
# [
# {
# "_id": "629672ecb982f4a1be3a7dd6",
# "device": "xDrip-DexcomG5",
# "date": 1654026986232,
# "dateString": "2022-05-31T19:56:26.232Z",
# "sgv": 185,
# "delta": 0.996,
# "direction": "Flat",
# "type": "sgv",
# "filtered": 0,
# "unfiltered": 0,
# "rssi": 100,
# "noise": 1,
# "sysTime": "2022-05-31T19:56:26.232Z",
# "utcOffset": -240,
# "mills": 1654026986232
# }
# ]
tmux = '--tmux' in sys.argv
lemonbar = '--lb' in sys.argv
2022-06-07 15:44:19 -04:00
down = '\u2193' # ↓
falling = '\u2798' # ➘
flat = '\u2192' # →
rising = '\u279a' # ➚
up = '\u2191' # ↑
url = 'http://blood.dump.town'
options = '/api/v1/entries.json?count=1&token=phone-7631d7eebc79825b'
try:
res = requests.get(url + options)
except:
sys.exit()
2022-06-07 15:44:19 -04:00
sugar = res.json()[0]
2022-06-07 15:44:19 -04:00
delta = sugar['delta']
sgv = sugar['sgv']
direction = sugar['direction']
if delta < -10:
arrow = down
if delta >= -10 and delta < -1:
arrow = falling
if delta >= -1 and delta <= 1:
arrow = flat
if delta > 1 and delta <= 10:
arrow = rising
if delta > 10:
arrow = up
if (sgv >= 225 or sgv <= 80):
color = 'red'
elif ((sgv >= 180 and sgv <= 225)
or (sgv <= 100 and sgv >= 80)):
color = 'yellow'
else:
color = 'green'
if tmux:
2022-06-07 15:44:19 -04:00
print(f'#[bg={color}] ' +
str(round(sugar['sgv'], 1)) + ' ' +
arrow + ' ' +
'(' + str(delta) + ')'
)
elif lemonbar:
print(str(round(sugar['sgv'], 1)) + ' ' +
2022-06-07 15:44:19 -04:00
arrow + ' ' +
'(' + str(delta) + ')'
)
else:
print(colored(str(sugar['sgv']) +
' ' + arrow + ' ' +
'(' + str(delta) + ')',
color))