diff options
| author | Pratyush Desai | 2024-10-30 00:02:06 +0100 |
|---|---|---|
| committer | Pratyush Desai | 2024-10-30 00:02:06 +0100 |
| commit | fe1554b925e77600bd7138b1c68a4b159a33c5f2 (patch) | |
| tree | 1d629404555b4470a5bda95eb325ef0de1159df2 | |
| parent | 844491972eded6e0e514847d0dc4ef3847bc2ec4 (diff) | |
| parent | 658302de4b0dc326878c44e809285dc6605930af (diff) | |
| download | tripsit-fe1554b925e77600bd7138b1c68a4b159a33c5f2.tar.gz tripsit-fe1554b925e77600bd7138b1c68a4b159a33c5f2.tar.bz2 tripsit-fe1554b925e77600bd7138b1c68a4b159a33c5f2.zip | |
Merge pull request 'Implement dose lookup' (#10) from grepdose into master
Reviewed-on: https://git.com.de/LimnoriaPlugins/TripSit/pulls/10
| -rw-r--r-- | plugin.py | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -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): |
