示例#1
0
    def increment_metric(metric, collection, action):
        metrics = dict_path(metric, (collection, ))

        if action not in metrics:
            metrics[action] = 0

        metrics[action] += 1
示例#2
0
    def store_action(result, keys, collection, action, properties=None):
        items = dict_path(result.changes, (
            collection, action
        ))

        for key in keys:
            items[key] = properties
示例#3
0
    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)
示例#4
0
    def increment_metric(metric, collection, action):
        metrics = dict_path(metric, (
            collection,
        ))

        if action not in metrics:
            metrics[action] = 0

        metrics[action] += 1
示例#5
0
    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)
示例#6
0
    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)
示例#7
0
    def store_action(result, keys, collection, action, properties=None):
        items = dict_path(result.changes, (collection, action))

        for key in keys:
            items[key] = properties
示例#8
0
    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)