# usage_tracker.py from collections import Counter # ===================================================== # BUILD USAGE MAP # ===================================================== def build_usage_map( timeline ): usage = Counter() for scene in timeline: usage[ scene["path"] ] += 1 return dict(usage) # ===================================================== # DECREASE USAGE # ===================================================== def consume_scene( usage_map, scene ): path = scene["path"] if path not in usage_map: return False usage_map[path] -= 1 return usage_map[path] <= 0 # ===================================================== # STATS # ===================================================== def remaining_files( usage_map ): count = 0 for value in usage_map.values(): if value > 0: count += 1 return count