def METHOD_NAME(self, url):
    video_id = self._match_id(url)
    webpage = self._download_webpage(url, video_id)
    timestamp = parse_iso8601(self._html_search_meta(
        'article:published_time', webpage, 'published time', default=None))
    items = re.findall(r'(?s)playlist\.push\(({.+?})\);', webpage)
    if items:
        return self.playlist_result(
            [self._parse_video_metadata(i, video_id, timestamp) for i in items],
            video_id, self._html_search_meta('twitter:title', webpage))
    item = self._search_regex(
        r'(?s)BBXPlayer\.setup\((.+?)\);',
        webpage, 'video', default=None)
    if item:
        # remove function calls (ex. htmldeentitize)
        # TODO this should be fixed in a general way in the js_to_json
        item = re.sub(r'\w+?\((.+)\)', r'\1', item)
        return self._parse_video_metadata(item, video_id, timestamp)
    raise ExtractorError('Could not find neither video nor playlist')