':param config: Discover config
:param task: Current task
:return: List of pseudo entries created by inputs under `what` configuration'

def execute_inputs(self, config, task):

    entries = []
    entry_titles = set()
    entry_urls = set()
    for item in config[u'what']:
        for (input_name, input_config) in item.items():
            input = get_plugin_by_name(input_name)
            if (input.api_ver == 1):
                raise PluginError((u'Plugin    %s    does    not    support    API    v2' % input_name))
            method = input.phase_handlers[u'input']
            try:
                result = method(task, input_config)
            except PluginError as e:
                log.warning(u'Error    during    input    plugin    %s:    %s', input_name, e)
                continue
            if (not result):
                log.warning(u'Input    %s    did    not    return    anything', input_name)
                continue
            for entry in result:
                urls = (([entry[u'url']] if entry.get(u'url') else []) + entry.get(u'urls', []))
                if any(((url in entry_urls) for url in urls)):
                    log.debug(u'URL    for    `%s`    already    in    entry    list,    skipping.', entry[u'title'])
                    continue
                if (entry[u'title'] in entry_titles):
                    log.verbose(u'Ignored    duplicate    title    `%s`', entry[u'title'])
                    continue
                entries.append(entry)
                entry_titles.add(entry[u'title'])
                entry_urls.update(urls)
    return entries
