From 7469d5988ab760abe21a3a4b1d4d6f12b5e5d0b7 Mon Sep 17 00:00:00 2001 From: Will Blanton Date: Fri, 21 May 2021 16:21:24 -0400 Subject: [PATCH] Added an automatic retry if the 'normal' process fails. --- azapi/azapi.py | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/azapi/azapi.py b/azapi/azapi.py index 1ee115b..dde3337 100644 --- a/azapi/azapi.py +++ b/azapi/azapi.py @@ -78,8 +78,15 @@ def getLyrics(self, url=None, ext='txt', save=False, path='', sleep=3): page = self.get(link, self.proxies) if page.status_code != 200: - print('Error',page.status_code) - return 1 + if not self.search_engine: + print('Failed to find lyrics. Trying to get link from Google') + self.search_engine = 'google' + lyrics = self.getLyrics(url=url, ext=ext, save=save, path=path, sleep=sleep) + self.search_engine = '' + return lyrics + else: + print('Error',page.status_code) + return 1 # Getting Basic metadata from azlyrics metadata = [elm.text for elm in htmlFindAll(page)('b')] @@ -151,8 +158,16 @@ def getSongs(self, sleep=3): albums_page = self.get(link, self.proxies) if albums_page.status_code != 200: - print('Error 404!') - return {} + print('Error',albums_page.status_code) + if not self.search_engine: + print('Failed to find songs. Trying to get link from Google') + self.search_engine = 'google' + songs = self.getLyrics(sleep=sleep) + self.search_engine = '' + return songs + else: + print('Error',albums_page.status_code) + return {} # Store songs for later usage self.songs = parseSongs(albums_page)