'Search the show id from the `series` and `year`.
:param str series: series of the episode.
:param year: year of the series, if any.
:type year: int
:return: the show id, if found.
:rtype: int'

@region.cache_on_arguments(expiration_time=SHOW_EXPIRATION_TIME)
def _search_show_id(self, series, year=None):

    series = series.replace("'", '    ')
    series_year = (('%s    %d' % (series, year)) if (year is not None) else series)
    params = {'search': series_year, 'Submit': 'Search'}
    logger.info('Searching    show    ids    with    %r', params)
    r = self.session.get((self.server_url + 'search.php'), params=params, timeout=10)
    r.raise_for_status()
    if (r.status_code == 304):
        raise TooManyRequests()
    soup = ParserBeautifulSoup(r.content, ['lxml', 'html.parser'])
    suggestion = soup.select('span.titulo    >    a[href^="/show/"]')
    if (not suggestion):
        logger.warning('Show    id    not    found:    no    suggestion')
        return None
    if (not (sanitize(suggestion[0].i.text.replace("'", '    ')) == sanitize(series_year))):
        logger.warning('Show    id    not    found:    suggestion    does    not    match')
        return None
    show_id = int(suggestion[0]['href'][6:])
    logger.debug('Found    show    id    %d', show_id)
    return show_id
