| Commit message (Collapse) | Author | Age | Lines | 
| ...                          |  | 
| | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | |  | 
 | 
| | | | | | |\ \ \ \ \ \ \ \ \  
| |_|_|_|_|/ / / / / / / / /  
|/| | | | | | | | | | | | |    | 
 | 
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \  
| |/ / / / / / / / / / / / /  
|/| | | | | | | | | | | | |    | 
 | 
| | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | |  | 
Co-authored-by: Shivansh-007 <[email protected]>
Co-authored-by: Joe Banks <[email protected]>
 | 
| | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | |  | 
No code changes in this commit.
Co-authored-by: Shivansh-007 <[email protected]>
Co-authored-by: Joe Banks <[email protected]>
 | 
| | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | | 
| | | | | | | | | | | | | |  | 
With the branding-side PR merged, we can now target the production
branch.
 | 
| | |\ \ \ \ \ \ \ \ \ \ \ \ \  
| |/ / / / / / / / / / / / /  
|/| | | | | | | | | | | | |   
| | | | | | | | | | | | | |    | 
Lockfile conflict resolved by re-locking on the merged Pipfile.
 | 
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \   | 
 | 
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \  
| |/ / / / / / / / / / / / / /  
|/| | | | | | | | | | | | | |    | 
 | 
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \  
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | |  | 
Extend close time logic to differentiate between the claimant and other users
 | 
| | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | |  | 
Fix issues converting timestamps to datetimes and vice-versa. The main
culprit id `datetime.timestamp()`, which always assumes naïve objects
are in local time. That behaviour conflicts with discord.py, which
returns naïve objects in UTC rather than local time. Switching from
`utcfromtimestamp` to `fromtimestamp` was incorrect since the latter
also assumes the timestamp is in local time.
 | 
| | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | |  | 
It has some API changes, so it's best to update now before the project
starts using the library more.
 | 
| | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | |  | 
Previously we were using `utcfromtimestamp()` which would compensate
the timestamp when converting to UTC even though the timestamp itself
was in UTC:
>>> datetime.utcnow()
datetime.datetime(2021, 3, 26, 22, 8, 47, 441603)
>>> a = datetime.utcnow().timestamp()
1616821624.207364
>>> a = datetime.utcfromtimestamp(a)
datetime.datetime(2021, 3, 27, 5, 7, 4, 207364)
By switching to `fromtimestamp()` this avoids that behaviour.
 | 
| | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | |  | 
objects.
 | 
| | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | |  | 
datetime.min cannot be converted to a timestamp as it's pre-epoch.
Instead wait until we actuall need it and then create the correct
datetime object depending on teh cache contents.
 | 
| | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | |  | 
has yet to be answered.
 | 
| | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | |  | 
 | 
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \  
| | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | |  | 
reset cache on bot start, stats for different close reasons
 | 
| | | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | | |  | 
 | 
| | |/ / / / / / / / / / / / / / /   | 
 | 
| | | | | | | | | | | | | | | | |  | 
 | 
| | | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | | 
| | | | | | | | | | | | | | | |  | 
than if both are empty
 | 
| | | | | | | | | | | | | | | | |  | 
 |