torrent 1.2.4: Fix a bug in handling overflow with dates > 2038 year
authorOleg Broytman <phd@phdru.name>
Fri, 18 May 2018 16:09:25 +0000 (19:09 +0300)
committerOleg Broytman <phd@phdru.name>
Fri, 18 May 2018 16:20:12 +0000 (19:20 +0300)
torrent
torrent-ANNOUNCE
torrent-ChangeLog

diff --git a/torrent b/torrent
index ebc3ee2..67588e5 100755 (executable)
--- a/torrent
+++ b/torrent
@@ -37,10 +37,11 @@ The filesystem is, naturally, read-only.
 
 __version__ = "1.2.4"
 __author__ = "Oleg Broytman <phd@phdru.name>"
-__copyright__ = "Copyright (C) 2010-2016 PhiloSoft Design"
+__copyright__ = "Copyright (C) 2010-2018 PhiloSoft Design"
 __license__ = "GPL"
 
 
+from datetime import datetime
 from os.path import dirname, getmtime
 import sys
 from time import localtime, asctime
@@ -299,12 +300,19 @@ def decode_torrent():
 
 
 def decode_datetime_asc(dt):
-    return asctime(localtime(float(dt)))
+    try:
+        return asctime(localtime(float(dt)))
+    except ValueError:
+        return datetime.max.ctime()
 
 
 def decode_datetime(dt):
-    Y, m, d, H, M = localtime(float(dt))[0:5]
-    return "%02d-%02d-%d %02d:%02d" % (m, d, Y, H, M)
+    try:
+        Y, m, d, H, M = localtime(float(dt))[0:5]
+    except ValueError:
+        return datetime.max.ctime()
+    else:
+        return "%02d-%02d-%d %02d:%02d" % (m, d, Y, H, M)
 
 
 def decode_announce_list(announce):
index b89de35..1c8f970 100644 (file)
@@ -7,6 +7,9 @@ Midnight Commander.
 
 
 WHAT'S NEW
+Version 1.2.4 (2018-05-18)
+   Fix a bug in handling overflow with dates > 2038 year.
+
 Version 1.2.3 (2015-07-08)
    Set directories/files date/time to the content of ".META/creation date" file
 if it exists or to the last modification time of the torrent file itself.
index bdad9da..43a7760 100644 (file)
@@ -1,3 +1,7 @@
+Version 1.2.4 (2018-05-18)
+
+   Fix a bug in handling overflow with dates > 2038 year.
+
 Version 1.2.3 (2015-07-08)
 
    Set directories/files date/time to the content of ".META/creation date" file