Skip to content

Commit cffcce9

Browse files
authored
Merge branch 'upstream' into circleci-python-orb
2 parents f1d3383 + cb60051 commit cffcce9

File tree

3 files changed

+23
-13
lines changed

3 files changed

+23
-13
lines changed

sc2reader/engine/plugins/gameheart.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from datetime import datetime
1+
from datetime import datetime, timezone
22
from sc2reader.utils import Length, get_real_type
33
from sc2reader.objects import Observer, Team
44
from sc2reader.engine.events import PluginExit
@@ -65,8 +65,9 @@ def handleInitGame(self, event, replay):
6565
replay.real_length = Length(
6666
seconds=int(replay.game_length.seconds / GAME_SPEED_FACTOR[replay.speed])
6767
)
68-
replay.start_time = datetime.utcfromtimestamp(
69-
replay.unix_timestamp - replay.real_length.seconds
68+
replay.start_time = datetime.fromtimestamp(
69+
replay.unix_timestamp - replay.real_length.seconds,
70+
timezone.utc
7071
)
7172

7273
def fix_events(self, replay, start_frame):

sc2reader/resources.py

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from collections import defaultdict, namedtuple
2-
from datetime import datetime
2+
from datetime import datetime, timezone
33
import hashlib
44
from xml.etree import ElementTree
55
import zlib
@@ -411,7 +411,10 @@ def load_details(self):
411411

412412
self.windows_timestamp = details["file_time"]
413413
self.unix_timestamp = utils.windows_to_unix(self.windows_timestamp)
414-
self.end_time = datetime.utcfromtimestamp(self.unix_timestamp)
414+
self.end_time = datetime.fromtimestamp(
415+
self.unix_timestamp,
416+
timezone.utc
417+
)
415418

416419
# The utc_adjustment is either the adjusted windows timestamp OR
417420
# the value required to get the adjusted timestamp. We know the upper
@@ -429,8 +432,9 @@ def load_details(self):
429432
seconds=self.length.seconds
430433
// GAME_SPEED_FACTOR[self.expansion].get(self.speed, 1.0)
431434
)
432-
self.start_time = datetime.utcfromtimestamp(
433-
self.unix_timestamp - self.real_length.seconds
435+
self.start_time = datetime.fromtimestamp(
436+
self.unix_timestamp - self.real_length.seconds,
437+
timezone.utc
434438
)
435439
self.date = self.end_time # backwards compatibility
436440

@@ -1088,16 +1092,20 @@ def __init__(self, summary_file, filename=None, lang="enUS", **options):
10881092
else:
10891093
self.expansion = ""
10901094

1091-
self.end_time = datetime.utcfromtimestamp(self.parts[0][8])
1095+
self.end_time = datetime.fromtimestamp(
1096+
self.parts[0][8],
1097+
timezone.utc
1098+
)
10921099
self.game_speed = LOBBY_PROPERTIES[0xBB8][1][self.parts[0][0][1].decode("utf8")]
10931100
self.game_length = utils.Length(seconds=self.parts[0][7])
10941101
self.real_length = utils.Length(
10951102
seconds=int(
10961103
self.parts[0][7] / GAME_SPEED_FACTOR[self.expansion][self.game_speed]
10971104
)
10981105
)
1099-
self.start_time = datetime.utcfromtimestamp(
1100-
self.parts[0][8] - self.real_length.seconds
1106+
self.start_time = datetime.fromtimestamp(
1107+
self.parts[0][8] - self.real_length.seconds,
1108+
timezone.utc
11011109
)
11021110

11031111
self.load_map_info()

test_replays/test_replays.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import datetime
2+
from datetime import timezone
23
import json
34
from xml.dom import minidom
45

@@ -193,15 +194,15 @@ def test_datetimes(self):
193194

194195
# Played at 20 Feb 2011 22:44:48 UTC+2
195196
replay = sc2reader.load_replay("test_replays/1.2.2.17811/1.SC2Replay")
196-
self.assertEqual(replay.end_time, datetime.datetime(2011, 2, 20, 20, 44, 47))
197+
self.assertEqual(replay.end_time, datetime.datetime(2011, 2, 20, 20, 44, 47, tzinfo=timezone.utc))
197198

198199
# Played at 21 Feb 2011 00:42:13 UTC+2
199200
replay = sc2reader.load_replay("test_replays/1.2.2.17811/2.SC2Replay")
200-
self.assertEqual(replay.end_time, datetime.datetime(2011, 2, 20, 22, 42, 12))
201+
self.assertEqual(replay.end_time, datetime.datetime(2011, 2, 20, 22, 42, 12, tzinfo=timezone.utc))
201202

202203
# Played at 25 Feb 2011 16:36:28 UTC+2
203204
replay = sc2reader.load_replay("test_replays/1.2.2.17811/3.SC2Replay")
204-
self.assertEqual(replay.end_time, datetime.datetime(2011, 2, 25, 14, 36, 26))
205+
self.assertEqual(replay.end_time, datetime.datetime(2011, 2, 25, 14, 36, 26, tzinfo=timezone.utc))
205206

206207
def test_hots_pids(self):
207208
for replayfilename in [

0 commit comments

Comments
 (0)