mirror of https://github.com/stijndcl/didier
				
				
				
			Make today() tz-aware
							parent
							
								
									09dbe61dfe
								
							
						
					
					
						commit
						6c959e2b86
					
				|  | @ -16,7 +16,7 @@ from didier.exceptions import HTTPException, NotInMainGuildException | |||
| from didier.utils.discord.converters.time import DateTransformer | ||||
| from didier.utils.discord.flags.school import StudyGuideFlags | ||||
| from didier.utils.discord.users import to_main_guild_member | ||||
| from didier.utils.types.datetime import skip_weekends | ||||
| from didier.utils.types.datetime import skip_weekends, tz_aware_today | ||||
| 
 | ||||
| 
 | ||||
| class School(commands.Cog): | ||||
|  | @ -49,7 +49,7 @@ class School(commands.Cog): | |||
|         """ | ||||
|         async with ctx.typing(): | ||||
|             if day_dt is None: | ||||
|                 day_dt = date.today() | ||||
|                 day_dt = tz_aware_today() | ||||
| 
 | ||||
|             day_dt = skip_weekends(day_dt) | ||||
| 
 | ||||
|  | @ -78,7 +78,7 @@ class School(commands.Cog): | |||
|         Menus are shown in Dutch by default, as a lot of dishes have very weird translations. | ||||
|         """ | ||||
|         if day_dt is None: | ||||
|             day_dt = date.today() | ||||
|             day_dt = tz_aware_today() | ||||
| 
 | ||||
|         async with ctx.typing(): | ||||
|             try: | ||||
|  |  | |||
|  | @ -13,6 +13,7 @@ from didier.utils.types.datetime import ( | |||
|     forward_to_next_weekday, | ||||
|     parse_dm_string, | ||||
|     str_to_weekday, | ||||
|     tz_aware_today, | ||||
| ) | ||||
| 
 | ||||
| __all__ = ["date_converter", "DateTransformer"] | ||||
|  | @ -25,7 +26,7 @@ def date_converter(argument: Optional[str]) -> date: | |||
| 
 | ||||
|     # Default to today | ||||
|     if not argument: | ||||
|         return date.today() | ||||
|         return tz_aware_today() | ||||
| 
 | ||||
|     argument = argument.lower() | ||||
| 
 | ||||
|  | @ -35,15 +36,15 @@ def date_converter(argument: Optional[str]) -> date: | |||
|         "tmrw", | ||||
|         "morgen", | ||||
|     ): | ||||
|         return date.today() + timedelta(days=1) | ||||
|         return tz_aware_today() + timedelta(days=1) | ||||
| 
 | ||||
|     if argument in ("overmorgen",): | ||||
|         return date.today() + timedelta(days=2) | ||||
|         return tz_aware_today() + timedelta(days=2) | ||||
| 
 | ||||
|     # Weekdays passed in words | ||||
|     with contextlib.suppress(ValueError): | ||||
|         weekday = str_to_weekday(argument) | ||||
|         return forward_to_next_weekday(date.today(), weekday, allow_today=False) | ||||
|         return forward_to_next_weekday(tz_aware_today(), weekday, allow_today=False) | ||||
| 
 | ||||
|     # Date strings | ||||
|     with contextlib.suppress(ValueError): | ||||
|  |  | |||
|  | @ -14,6 +14,7 @@ __all__ = [ | |||
|     "str_to_weekday", | ||||
|     "time_string", | ||||
|     "tz_aware_now", | ||||
|     "tz_aware_today", | ||||
| ] | ||||
| 
 | ||||
| DateType = TypeVar("DateType", datetime.date, datetime.datetime) | ||||
|  | @ -187,3 +188,8 @@ def time_string(dt_instance: datetime.datetime) -> str: | |||
| def tz_aware_now() -> datetime.datetime: | ||||
|     """Get the current date & time, but timezone-aware""" | ||||
|     return datetime.datetime.utcnow().replace(tzinfo=datetime.timezone.utc).astimezone(LOCAL_TIMEZONE) | ||||
| 
 | ||||
| 
 | ||||
| def tz_aware_today() -> datetime.date: | ||||
|     """Get the current day, but timezone-aware""" | ||||
|     return tz_aware_now().date() | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue