'Sends a request to trakt indicating that the given episode is part of our library.
show_obj: The TVShow object to add to trakt
s: season number
e: episode number
data_show: structured object of shows trakt type
data_episode: structured object of episodes trakt type
update: type o action add or remove'

def update_watchlist(self, show_obj=None, s=None, e=None, data_show=None, data_episode=None, update=u'add'):

    trakt_api = TraktAPI(sickbeard.SSL_VERIFY, sickbeard.TRAKT_TIMEOUT)
    if sickbeard.USE_TRAKT:
        data = {}
        try:
            if (show_obj is not None):
                trakt_id = sickbeard.indexerApi(show_obj.indexer).config[u'trakt_id']
                data = {u'shows': [{u'title': show_obj.name, u'year': show_obj.startyear, u'ids': {}}]}
                if (trakt_id == u'tvdb_id'):
                    data[u'shows'][0][u'ids'][u'tvdb'] = show_obj.indexerid
                else:
                    data[u'shows'][0][u'ids'][u'tvrage'] = show_obj.indexerid
            elif (data_show is not None):
                data.update(data_show)
            else:
                logger.log(u"there's    a    coding    problem    contact    developer.    It's    needed    to    be    provided    at    lest    one    of    the    two:    data_show    or    show_obj", logger.WARNING)
                return False
            if (data_episode is not None):
                data[u'shows'][0].update(data_episode)
            elif (s is not None):
                season = {u'season': [{u'number': s}]}
                if (e is not None):
                    episode = {u'episodes': [{u'number': e}]}
                    season[u'season'][0].update(episode)
                data[u'shows'][0].update(season)
            trakt_url = u'sync/watchlist'
            if (update == u'remove'):
                trakt_url += u'/remove'
            trakt_api.traktRequest(trakt_url, data, method=u'POST')
        except (traktException, traktAuthException, traktServerBusy) as e:
            logger.log(u'Could    not    connect    to    Trakt    service:    {0}'.format(ex(e)), logger.WARNING)
            return False
    return True
