import console from sites.helper.request import Request from sites.helper.query import Query from sites.helper.structure import Structure import sites.helper.download as Download class DefaultSite: def __init__(self): self.url = 'All' self.query = Query(self) self.structure = Structure(self) self.request = Request(self)\ .add_header('User-Agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/605.1.15 ' '(KHTML, like Gecko) Version/11.1 Safari/605.1.15') def perform_search(self, keywords): return self.request.search(keywords) def format_title(self, field): if ' - ' in field.text(): return field.text().split(' - ')[1] else: return field.text() def format_artist(self, field): if ' - ' in field.text(): return field.text().split(' - ')[0] else: return '' def format_duration(self, field): if field is None: return '' return field.text() def format_size(self, field): if field is None: return '' return field.text() def format_url(self, field): return field.attr('href') @staticmethod def download(item): item.format_original_url() # item.original_url = item.site.format_url(item.original_url) if 'zippyshare' in item.original_url: Download.zippyaudio(item) elif 'krakenfiles' in item.original_url: Download.krakenfiles(item) elif 'lalamus' in item.original_url: Download.download(item) else: console.output('Don\'t know what to do with link: {}.'.format(item.download_url), level=console.DBG_ERROR)