From 5ffea4d9865d2a6642ba648d74ffb2e41e8f6e92 Mon Sep 17 00:00:00 2001 From: schneefux Date: Sat, 3 Dec 2016 13:38:43 +0100 Subject: use end time relative to start time --- main.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'main.py') diff --git a/main.py b/main.py index 51916ed..ed33fc4 100644 --- a/main.py +++ b/main.py @@ -50,11 +50,9 @@ async def get_user(id): return await get_user(id) async def search_teammates(who, query): - now = datetime.datetime.utcnow() cal = parsedatetime.Calendar() - isrange = " for " in query or " until " in query - if isrange: + if " for " in query or " until " in query: delimit = query.rfind("for") if delimit == -1: delimit = query.rfind("until") @@ -65,7 +63,8 @@ async def search_teammates(who, query): startstr = query endstr = "for 30 minutes" - start, end, calnow = [cal.parseDT(d)[0] for d in (startstr, endstr, "now")] + start = cal.parseDT(startstr)[0] + end = cal.parseDT(endstr, sourceTime=start)[0] db.playwithme.insert_one({ "player": who.id, @@ -76,7 +75,7 @@ async def search_teammates(who, query): print(who.name + " requested a game " + ", ".join([str(d) for d in (start, end)])) players = [] - for teammate in db.playwithme.find({"start": {"$lt": start}, "end": {"$gt": start}}): + for teammate in db.playwithme.find({"end": {"$gt": start, "$lt": end}}): mention = (await get_user(teammate["player"]))["mention"] if not mention in players: players += [mention] -- cgit v1.3.1