Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions sc2reader/engine/plugins/gameheart.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from datetime import datetime
from datetime import datetime, timezone
from sc2reader.utils import Length, get_real_type
from sc2reader.objects import Observer, Team
from sc2reader.engine.events import PluginExit
Expand Down Expand Up @@ -65,8 +65,9 @@ def handleInitGame(self, event, replay):
replay.real_length = Length(
seconds=int(replay.game_length.seconds / GAME_SPEED_FACTOR[replay.speed])
)
replay.start_time = datetime.utcfromtimestamp(
replay.unix_timestamp - replay.real_length.seconds
replay.start_time = datetime.fromtimestamp(
replay.unix_timestamp - replay.real_length.seconds,
timezone.utc
)

def fix_events(self, replay, start_frame):
Expand Down
22 changes: 15 additions & 7 deletions sc2reader/resources.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from collections import defaultdict, namedtuple
from datetime import datetime
from datetime import datetime, timezone
import hashlib
from xml.etree import ElementTree
import zlib
Expand Down Expand Up @@ -411,7 +411,10 @@ def load_details(self):

self.windows_timestamp = details["file_time"]
self.unix_timestamp = utils.windows_to_unix(self.windows_timestamp)
self.end_time = datetime.utcfromtimestamp(self.unix_timestamp)
self.end_time = datetime.fromtimestamp(
self.unix_timestamp,
timezone.utc
)

# The utc_adjustment is either the adjusted windows timestamp OR
# the value required to get the adjusted timestamp. We know the upper
Expand All @@ -429,8 +432,9 @@ def load_details(self):
seconds=self.length.seconds
// GAME_SPEED_FACTOR[self.expansion].get(self.speed, 1.0)
)
self.start_time = datetime.utcfromtimestamp(
self.unix_timestamp - self.real_length.seconds
self.start_time = datetime.fromtimestamp(
self.unix_timestamp - self.real_length.seconds,
timezone.utc
)
self.date = self.end_time # backwards compatibility

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

self.end_time = datetime.utcfromtimestamp(self.parts[0][8])
self.end_time = datetime.fromtimestamp(
self.parts[0][8],
timezone.utc
)
self.game_speed = LOBBY_PROPERTIES[0xBB8][1][self.parts[0][0][1].decode("utf8")]
self.game_length = utils.Length(seconds=self.parts[0][7])
self.real_length = utils.Length(
seconds=int(
self.parts[0][7] / GAME_SPEED_FACTOR[self.expansion][self.game_speed]
)
)
self.start_time = datetime.utcfromtimestamp(
self.parts[0][8] - self.real_length.seconds
self.start_time = datetime.fromtimestamp(
self.parts[0][8] - self.real_length.seconds,
timezone.utc
)

self.load_map_info()
Expand Down