summaryrefslogtreecommitdiff
path: root/poezio/common.py
diff options
context:
space:
mode:
authormathieui <mathieui@mathieui.net>2020-05-23 16:38:05 +0200
committermathieui <mathieui@mathieui.net>2020-05-23 16:38:05 +0200
commite48780ddf0a6a80e0c36eaa8f8165c8d14ad63b1 (patch)
tree534654be974749c2f4ea0bc99451fb8da5c61843 /poezio/common.py
parent4c1ab027ac03ae3f0925eab03f43a5ad79d906d5 (diff)
parentfaeab78c7e3c9f125cfbfe3dce0fb18c9b8649c4 (diff)
downloadpoezio-e48780ddf0a6a80e0c36eaa8f8165c8d14ad63b1.tar.gz
poezio-e48780ddf0a6a80e0c36eaa8f8165c8d14ad63b1.tar.bz2
poezio-e48780ddf0a6a80e0c36eaa8f8165c8d14ad63b1.tar.xz
poezio-e48780ddf0a6a80e0c36eaa8f8165c8d14ad63b1.zip
Merge branch 'fix-history-fetch' into 'master'
Fix many MAM issues Closes #3516, #3496, #3498, #3506, #3522, and #3493 See merge request poezio/poezio!105
Diffstat (limited to 'poezio/common.py')
-rw-r--r--poezio/common.py17
1 files changed, 16 insertions, 1 deletions
diff --git a/poezio/common.py b/poezio/common.py
index 7cddc306..98870dda 100644
--- a/poezio/common.py
+++ b/poezio/common.py
@@ -8,7 +8,11 @@
Various useful functions.
"""
-from datetime import datetime, timedelta
+from datetime import (
+ datetime,
+ timedelta,
+ timezone,
+)
from pathlib import Path
from typing import Dict, List, Optional, Tuple, Union
@@ -488,3 +492,14 @@ def unique_prefix_of(a: str, b: str) -> str:
return a[:i+1]
# both are equal, return a
return a
+
+
+def to_utc(time: datetime) -> datetime:
+ """Convert a datetime-aware time zone into raw UTC"""
+ tzone = datetime.now().astimezone().tzinfo
+ if time.tzinfo is not None: # Convert to UTC
+ time = time.astimezone(tz=timezone.utc)
+ else: # Assume local tz, convert to URC
+ time = time.replace(tzinfo=tzone).astimezone(tz=timezone.utc)
+ # Return an offset-naive datetime
+ return time.replace(tzinfo=None)