# -*- coding: utf8 -*-
"""
    This is part of shot detector.
    Produced by w495 at 2017.05.04 04:18:27
"""

from __future__ import (absolute_import,
                        division,
                        print_function,
                        unicode_literals)

import logging

from shot_detector.utils.common import unique
from shot_detector.utils.log_meta import log_method_call_with
from .ffmpeg_like_event_plotter import FfmpegLikeEventPlotter
from .sad_event_plotter import SadEventPlotter


class SadFfmpegEventPlotter(SadEventPlotter, FfmpegLikeEventPlotter):
    """
        ...
    """
    __logger = logging.getLogger(__name__)

    @log_method_call_with(logging.WARN)
    def seq_filters(self):
        """
        Returns the sequence of dict in which options of each chart
        are described.
        """
        simple = SadEventPlotter.seq_filters(self)
        ffmpeg_like = FfmpegLikeEventPlotter.seq_filters(self)
        result = unique(simple + ffmpeg_like)
        return result

@@ -16,24 +16,216 @@
 tf8 -*-%0A%22%22%22%0A
+    The illustration different types of video-filters:%0A        * SadEventPlotter %E2%80%94 sum of absolute difference filter%0A        * FfmpegLikeEventPlotter %E2%80%94 FFMpeg-like shot detection filter.%0A    %0A
     This is 
@@ -779,296 +779,703 @@
     
-...%0A    %22%22%22%0A    __logger = logging.getLogger(__name__)%0A%0A    @log_method_call_with(logging.WARN)%0A    def seq_filters(self):%0A        %22%22%22%0A        Returns the sequence of dict in which options of each chart%0A        are described.%0A        %22%22%22%0A        simple = SadEventPlotter.seq_filters(self)
+Plotter for difference-based filters.%0A        %0A        It uses:%0A            * SadEventPlotter %E2%80%94 sum of absolute difference filter;%0A            * FfmpegLikeEventPlotter %E2%80%94 FFMpeg-like shot filter.%0A        %0A    %22%22%22%0A    __logger = logging.getLogger(__name__)%0A%0A    @log_method_call_with(logging.WARN)%0A    def seq_filters(self):%0A        %22%22%22%0A            Chart options for Sad-filter and FFMpeg-kike illustration.%0A            %0A            :returns: filter chart options to describe filters.%0A            :rtype: list of FilterDescription%0A        %22%22%22%0A%0A        # Sum of absolute difference chat options.%0A        simple = SadEventPlotter.seq_filters(self)%0A%0A        # FFMpeg-like shot detection chat options.
 %0A   
@@ -1533,16 +1533,74 @@
 rs(self)
+%0A%0A        # Deduplicate options union for each option set.
 %0A       

add doc for FfmpegLikeEventPlotter