def _real_extract(self, url):
        mobj = re.match(self._VALID_URL, url)
        video_id = mobj.group('id')

        webpage = self._download_webpage(url, video_id)
        portlets_json = self._search_regex(
            r'Liferay\.Portlet\.list=(\[.+?\])', webpage, 'portlet list')
        portlets = json.loads(portlets_json)
        pl_id = self._search_regex(
            r'<!--\s*p_l_id - ([0-9]+)<br>', webpage, 'p_l_id')

        for i, portlet in enumerate(portlets):
            portlet_url = 'http://www.ministrygrid.com/c/portal/render_portlet?p_l_id=%s&p_p_id=%s' % (pl_id, portlet)
            portlet_code = self._download_webpage(
                portlet_url, video_id,
                note='Looking in portlet %s (%d/%d)' % (portlet, i + 1, len(portlets)),
                fatal=False)
            video_iframe_url = self._search_regex(
                r'<iframe.*?src="([^"]+)"', portlet_code, 'video iframe',
                default=None)
            if video_iframe_url:
                surl = smuggle_url(
                    video_iframe_url, {'force_videoid': video_id})
                return {
                    '_type': 'url',
                    'id': video_id,
                    'url': surl,
                }

        raise ExtractorError('Could not find video iframe in any portlets')
dataset/ETHPy150Open yasoob/youtube-dl-GUI/youtube_dl/extractor/ministrygrid.py/MinistryGridIE._real_extract/original