summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPratyush Desai2024-10-30 03:12:14 +0530
committerPratyush Desai2024-10-30 03:30:55 +0530
commit658302de4b0dc326878c44e809285dc6605930af (patch)
tree1d629404555b4470a5bda95eb325ef0de1159df2
parent844491972eded6e0e514847d0dc4ef3847bc2ec4 (diff)
downloadtripsit-658302de4b0dc326878c44e809285dc6605930af.tar.gz
tripsit-658302de4b0dc326878c44e809285dc6605930af.tar.bz2
tripsit-658302de4b0dc326878c44e809285dc6605930af.zip
Implement dose lookup
Adds ability to lookup the last logged dose for a drug. Signed-off-by: Pratyush Desai <pratyush.desai@liberta.casa>
-rw-r--r--plugin.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/plugin.py b/plugin.py
index 6b2ba57..1388d93 100644
--- a/plugin.py
+++ b/plugin.py
@@ -378,7 +378,30 @@ class Tripsit(callbacks.Plugin):
else:
irc.error(f'No doses saved for {nick}')
+ @wrap(["something"])
+ def grepdose(self, irc, msg, args, drug):
+ """<drug>
+ pulls most recent dose for drug
+ """
+ nick = msg.nick
+ if nick in self.db:
+ doselogs = self.db[nick]['doses']
+ found = False
+ for doselog in reversed(doselogs):
+ if doselog['drug'] == drug:
+ timezone = self.db[nick]['timezone']
+ tz = pytz.timezone(str(timezone))
+ now = datetime.datetime.now(tz=tz)
+ since_dose = now - doselog['time']
+ re = utils.str.format("You last dosed %s of %s via %s at %s %s, %T ago", doselog["dose"], doselog["drug"], doselog["method"], doselog["time"].strftime("%c"), timezone, since_dose.total_seconds())
+ irc.reply(re)
+ found = True
+ break
+ if not found:
+ irc.error(f"No doses saved for {drug}")
+ else:
+ irc.error(f"No doses saved for {nick}")
@wrap(["something"])
def amountdosed(self, irc, msg, args, drug):