Closed Jille closed 11 years ago
Hm, gek. De Event.all_in_future heeft een timedelta van 1 dag, dat zou toch voldoende moeten zijn?
Zie:
print datetime.now(), " ", datetime.now() - timedelta(days=1) 2012-03-29 00:23:43.709617 2012-03-28 00:23:43.709670
Dat is inderdaad raar.. Bij de volgende activiteit na 00u maar even Event.all_in_future aanroepen?
Ik zie alleen nog niet waar planning de huidige tijd/datum vandaan haalt. Enige plekken waar now() voorkomt is bij all_in_future en een paar rond vacancies.
Bovenin staat:
from kn.leden.date import date_to_dt, now
dus dat komt uit kn/leden/date.py
Voor de automagiërs, zie bovenstaande commit in m'n fork.
Maar een lookbehind van één dag zou al voldoende moeten zijn.. Laten we dit eens testen tijdens een activiteit.
Kennelijk niet, want de lookbehind staat al standaard op 1, dat stond ie voor 73a847b ook al... Met lookbehind=2 kan ik nu nog de info van vannacht zien.
In mongo staan de dates als ISODate("2012-04-02T00:00:00Z"). now() - 1day
= 2 apr, 14:30.
De nette fix zou die 14:30 dus converten naar 00:00 en dan werkt de greater-equals zoals gewenst.
Zoiets als dit?
Dat zou best eens kunnen werken. Ik kan niet met zekerheid zeggen of het werkt zonder het te testen. (Weinig python+mongo-fu)
>>> import datetime
>>> print datetime.datetime.now().day
3
>>> print datetime.datetime.now().day - 1
2
Dus ja, wellicht levert ie niet de timestamp op die Event.all_since_datetime verwacht als since-argument
Kun je eens testen of het werkt met .date ipv .day? Dat geeft in elk geval een datetime.date object terug.
Gerdriaan, ging jij hier nog een keer naar kijken?
Als jij denkt het snel op te kunnen lossen, be my guest. Anders wordt het ergens eind juli, gok ik.
In de database begint een event op dd-mm-yyyy 00:00:00. Een vergelijking met de huidige tijd werkt daarom niet. De tijd gaat precies 86400 seconden terug, maar alle events grotergelijk aan die tijd geeft niet een event dat begon op 00:00:00.
Na 00u is de huidige borrel niet meer te zien en dus ook niet wie de laatste tapper is.