@@ -44,11 +44,15 @@ def main():
44
44
if not args .one_each or replay .is_ladder :
45
45
replay = sc2reader .load_replay (path , debug = True )
46
46
47
- player_pids = set ( [ player .pid for player in replay .players ] )
48
- efilter = lambda e : hasattr (e , 'player' )
49
- event_pids = set ( [ event .player .pid for event in filter (efilter , replay .events ) ] )
50
- if player_pids != event_pids :
51
- print 'Pid problem! pids={pids} but event pids={event_pids}' .format (pids = player_pids , event_pids = event_pids )
47
+ client_pids = set ([client .pid for client in replay .clients ])
48
+ event_pids = set ([ event .player .pid for event in replay .events if getattr (event , 'player' ,None ) ])
49
+ player_pids = set ([ player .pid for player in replay .players if player .is_human ])
50
+ ability_pids = set ([ event .player .pid for event in replay .events if 'AbilityEvent' in event .name ])
51
+ if client_pids != event_pids :
52
+ print 'Event Pid problem! pids={pids} but event pids={event_pids}' .format (pids = client_pids , event_pids = event_pids )
53
+ print ' with {path}: {build} - {real_type} on {map_name} - Played {start_time}' .format (path = path , ** replay .__dict__ )
54
+ elif player_pids != ability_pids :
55
+ print 'Ability Pid problem! pids={pids} but event pids={event_pids}' .format (pids = player_pids , event_pids = ability_pids )
52
56
print ' with {path}: {build} - {real_type} on {map_name} - Played {start_time}' .format (path = path , ** replay .__dict__ )
53
57
else :
54
58
print 'No problems with {path}: {build} - {real_type} on {map_name} - Played {start_time}' .format (path = path , ** replay .__dict__ )
0 commit comments