def increment_metric(metric, collection, action): metrics = dict_path(metric, (collection, )) if action not in metrics: metrics[action] = 0 metrics[action] += 1
def store_action(result, keys, collection, action, properties=None): items = dict_path(result.changes, ( collection, action )) for key in keys: items[key] = properties
def add(self, current): for handler in self._differ.handlers: items = dict_path(self.changes, ( handler.name, 'added' )) for key, item in current.items(): items[key] = handler.properties(item)
def increment_metric(metric, collection, action): metrics = dict_path(metric, ( collection, )) if action not in metrics: metrics[action] = 0 metrics[action] += 1
def store_season_action(cls, result, season, keys, collection, action, properties=None): season_num = keys[0] show = season.show # Store action in `result` seasons = dict_path(result.changes, ( collection, action, list(cls.item_keys(show)), 'seasons', )) seasons[season_num] = properties # Update episode metrics Differ.increment_metric(result.metrics.seasons, collection, action)
def store_episode_action(cls, result, episode, keys, collection, action, properties=None): season_num, episode_num = keys[0] show = episode.show # Store action in `result` episodes = dict_path(result.changes, ( collection, action, list(cls.item_keys(show)), 'seasons', season_num, 'episodes' )) episodes[episode_num] = properties # Update episode metrics Differ.increment_metric(result.metrics.episodes, collection, action)
def store_action(result, keys, collection, action, properties=None): items = dict_path(result.changes, (collection, action)) for key in keys: items[key] = properties
def add(self, current): for handler in self._differ.handlers: items = dict_path(self.changes, (handler.name, 'added')) for key, item in current.items(): items[key] = handler.properties(item)