

def get_sources(self, url, hosthdDict, hostDict, locDict):
    try:
        sources = []
        if (url == None):
            return sources
        url = urlparse.urljoin(self.base_link, url)
        result = client.source(url)
        links = client.parseDOM(result, 'td', attrs={
            'class': 'even tdhost',
        })
        links += client.parseDOM(result, 'td', attrs={
            'class': 'odd tdhost',
        })
        for i in links:
            try:
                host = client.parseDOM(i, 'a')[0]
                host = host.split('<', 1)[0]
                host = host.rsplit('.', 1)[0].split('.', 1)[(- 1)]
                host = host.strip().lower()
                if (not (host in hostDict)):
                    raise Exception()
                host = client.replaceHTMLCodes(host)
                host = host.encode('utf-8')
                url = client.parseDOM(i, 'a', ret='href')[0]
                url = client.replaceHTMLCodes(url)
                url = url.encode('utf-8')
                sources.append({
                    'source': host,
                    'quality': 'SD',
                    'provider': 'WSOnline',
                    'url': url,
                })
            except:
                pass
        return sources
    except:
        return sources

dataset/ETHPy150Open mrknow/filmkodi/plugin.video.specto/resources/lib/sources/wsonline_tv.py source.get_sources/original