From 312eaf474736084904fa25f144e773e9f932e991 Mon Sep 17 00:00:00 2001
From: Art Lukyanchyk <artiom.lukyanchyk@hs-hannover.de>
Date: Wed, 22 Aug 2018 17:04:52 +0200
Subject: [PATCH] Make datetime_to_str work on Python 3.5

---
 pikatasks/serialization.py | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/pikatasks/serialization.py b/pikatasks/serialization.py
index d73c3c0..e796f57 100644
--- a/pikatasks/serialization.py
+++ b/pikatasks/serialization.py
@@ -1,3 +1,4 @@
+import sys
 import json
 import datetime
 import collections
@@ -21,6 +22,13 @@ def datetime_to_str(dt):
     """
     if not dt.tzinfo:
         logger.warning("Naive datetime received by serialize_datetime() and will be treated as local: {dt}. Avoid using naive datetime objects.".format(dt=dt))
+        if sys.version_info < (3, 3):
+            raise RuntimeError("Cannot consume naive datetime in python < 3.3")
+        elif sys.version_info < (3, 6):
+            local_tzinfo = datetime.datetime.now(datetime.timezone.utc).astimezone().tzinfo
+            dt = dt.replace(tzinfo=local_tzinfo)
+        else:
+            pass  # python 3.6+ allows .astimezone() on naive objects
     utc_dt = dt.astimezone(datetime.timezone.utc)
     return datetime.datetime.strftime(utc_dt, settings.DATETIME_FORMAT)
 
-- 
GitLab