Skip to content

Commit

Permalink
fix team parsing and tests
Browse files Browse the repository at this point in the history
  • Loading branch information
happyleavesaoc committed Jun 12, 2022
1 parent fe8a0ec commit 5b957bb
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 9 deletions.
6 changes: 3 additions & 3 deletions mgz/model/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ def parse_match(handle):
if player['team_id'] > 1:
by_team[player['team_id']].append(number)
elif player['team_id'] == 1:
by_team[number].append(number)
by_team[number + 9].append(number)
team_ids = by_team.values()
else:
team_ids = set([frozenset(s) for s in allies.values()])
Expand Down Expand Up @@ -327,8 +327,8 @@ def parse_match(handle):
data['save_version'],
data['log_version'],
data['de']['build'] if data['version'] is Version.DE else None,
datetime.fromtimestamp(data['de']['timestamp']) if data['de']['timestamp'] else None,
timedelta(seconds=data['de']['spec_delay']),
datetime.fromtimestamp(data['de']['timestamp']) if data['version'] is Version.DE and data['de']['timestamp'] else None,
timedelta(seconds=data['de']['spec_delay']) if data['version'] is Version.DE else None,
get_hash(data),
actions,
inputs.inputs
Expand Down
14 changes: 10 additions & 4 deletions mgz/summary/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,22 @@
from mgz.model.compat import ModelSummary
from mgz.util import Version
import logging
import zlib

logger = logging.getLogger(__name__)

class SummaryStub:

def __call__(self, data, playback=None, fallback=False):
header = decompress(data)
version, game, save, log = parse_version(header, data)
data.seek(0)
if version is Version.DE and save > 13.34 and not fallback:
try:
header = decompress(data)
version, game, save, log = parse_version(header, data)
data.seek(0)
supported = (version is Version.DE and save > 13.34) # or version is Version.USERPATCH15
print(supported, fallback, supported and not fallback)
except zlib.error:
supported = False
if supported and not fallback:
logger.info("using model summary")
try:
return ModelSummary(data, playback)
Expand Down
2 changes: 1 addition & 1 deletion mgz/summary/teams.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ def get_teams_data(header):
if player.resolved_team_id > 1:
by_team[player.resolved_team_id].append(id + 1)
elif player.resolved_team_id == 1:
by_team[id].append(id + 1)
by_team[id + 9].append(id + 1)
return set([frozenset(s) for s in by_team.values()])
allies = {}
for number, player in enumerate(header.initial.players[1:]):
Expand Down
2 changes: 1 addition & 1 deletion tests/test_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def test_players(self):
players = self.match.players
self.assertEqual(len(players), 2)
self.assertEqual(players[0].name, '[Heresy]LaaaaaN')
self.assertEqual(players[0].number, 2)
self.assertEqual(players[0].number, 1)
self.assertEqual(players[0].color, 'Red')
self.assertEqual(players[0].civilization, 'Malians')
self.assertFalse(players[0].winner)
Expand Down

0 comments on commit 5b957bb

Please sign in to comment.