summaryrefslogtreecommitdiffstats
path: root/gallery_dl/text.py
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2024-09-28 20:01:25 -0400
committerLibravatarUnit 193 <unit193@unit193.net>2024-09-28 20:01:25 -0400
commit1a457ed68769880ab7760e0746f0cbbd9ca00487 (patch)
treea5e2f36fa6537e24a7a8851dab900ea03efdbd00 /gallery_dl/text.py
parent1f3ffe32342852fd9ea9e7704022488f3a1222bd (diff)
New upstream version 1.27.5.upstream/1.27.5
Diffstat (limited to 'gallery_dl/text.py')
-rw-r--r--gallery_dl/text.py25
1 files changed, 19 insertions, 6 deletions
diff --git a/gallery_dl/text.py b/gallery_dl/text.py
index 9258187..8517cdf 100644
--- a/gallery_dl/text.py
+++ b/gallery_dl/text.py
@@ -9,7 +9,9 @@
"""Collection of functions that work on strings/text"""
import re
+import sys
import html
+import time
import datetime
import urllib.parse
@@ -247,12 +249,23 @@ def parse_query(qs):
return result
-def parse_timestamp(ts, default=None):
- """Create a datetime object from a unix timestamp"""
- try:
- return datetime.datetime.utcfromtimestamp(int(ts))
- except Exception:
- return default
+if sys.hexversion < 0x30c0000:
+ # Python <= 3.11
+ def parse_timestamp(ts, default=None):
+ """Create a datetime object from a Unix timestamp"""
+ try:
+ return datetime.datetime.utcfromtimestamp(int(ts))
+ except Exception:
+ return default
+else:
+ # Python >= 3.12
+ def parse_timestamp(ts, default=None):
+ """Create a datetime object from a Unix timestamp"""
+ try:
+ Y, m, d, H, M, S, _, _, _ = time.gmtime(int(ts))
+ return datetime.datetime(Y, m, d, H, M, S)
+ except Exception:
+ return default
def parse_datetime(date_string, format="%Y-%m-%dT%H:%M:%S%z", utcoffset=0):