@@ -44,11 +44,15 @@ def main():
4444 if not args .one_each or replay .is_ladder :
4545 replay = sc2reader .load_replay (path , debug = True )
4646
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 )
5256 print ' with {path}: {build} - {real_type} on {map_name} - Played {start_time}' .format (path = path , ** replay .__dict__ )
5357 else :
5458 print 'No problems with {path}: {build} - {real_type} on {map_name} - Played {start_time}' .format (path = path , ** replay .__dict__ )
0 commit comments