def write_all_lyrics_to_file(): with open('all_bands.txt', "r", encoding='utf-8') as band_file: with open('all_lyrics.txt', 'w', encoding='utf-8') as lyrics_file: for line in band_file: try: albums = darklyrics.get_albums(line) print(albums) time.sleep(1) for album in albums: songs = darklyrics.get_songs(line, album) print(songs) time.sleep(1) for song in songs: lyrics_file.write(darklyrics.get_lyrics( song, line)) time.sleep(1) print('\nFOUND!\n') # time.sleep(1) except darklyrics.LyricsNotFound: print('No lyrics found for ' + line) # time.sleep(1) time.sleep(1) band_file.close() lyrics_file.close()
print(albums) time.sleep(1) for album in albums: songs = darklyrics.get_songs(line, album) print(songs) time.sleep(1) for song in songs: lyrics_file.write(darklyrics.get_lyrics( song, line)) time.sleep(1) print('\nFOUND!\n') # time.sleep(1) except darklyrics.LyricsNotFound: print('No lyrics found for ' + line) # time.sleep(1) time.sleep(1) band_file.close() lyrics_file.close() #write_all_bands_to_file() #write_all_lyrics_to_file() try: print(darklyrics.get_lyrics('The Ancient Covenant', 'The Faceless')) print(darklyrics.get_lyrics('The Ancient Covenant')) print(darklyrics.get_songs('The Faceless')) print(darklyrics.get_albums('The Faceless')) print(darklyrics.get_all_lyrics('The Faceless')) except darklyrics.LyricsNotFound: print('No lyrics found')
def test_not_found(): with pytest.raises(LyricsNotFound): get_lyrics('fakesong', 'fakeartist') get_albums('fakeartist')
def test_integration(): lyric = get_lyrics('steelheart', 'she\'s gone') assert 'i\'m to blame,' in lyric.lower()
def test_song_only(): lyric = get_lyrics('your familiar face') assert 'but love is meaningless' in lyric.lower()
def handle_command(text, id): global target_language commandtext = text.strip() commands = commandtext.split() print('Attempt to handle command') if len(commands) < 2: return False if commands[0] == '/wiki': print('Wiki Command') print(commands) search_param = ' '.join(commands[1:]) try: summary_results = wikipedia.summary(search_param) send_message(id, summary_results.split('\n')[0], quote=False) except wikipedia.exceptions.DisambiguationError: buttons = [] results = wikipedia.search(search_param) for result in results[1:]: buttons.append([ telegram.InlineKeyboardButton(text=result, callback_data=result) ]) send_message(id, "Results for " + search_param, reply_markup=telegram.InlineKeyboardMarkup( inline_keyboard=buttons)) except wikipedia.exceptions.PageError: send_message(id, "No results found for " + search_param) return True elif commands[0] == '/lyrics': print('Lyrics command') song_param = ' '.join(commands[1:]) song_param = song_param.split('by') if len(song_param) == 1: try: lyrics = darklyrics.get_lyrics(song_param[0]) send_message(id, lyrics, quote=False) except darklyrics.LyricsNotFound: send_message(id, 'No Lyrics found', quote=False) return True elif len(song_param) == 2: try: lyrics = lyricwikia.get_lyrics(song_param[1], song_param[0]) send_message(id, lyrics, quote=False) except lyricwikia.LyricsNotFound: try: lyrics = darklyrics.get_lyrics(song_param[0]) send_message(id, lyrics, quote=False) except darklyrics.LyricsNotFound: send_message(id, "No lyrics found", quote=False) return True elif commands[0] == '/animelyrics': print('Anime lyrics command') query = ' '.join(commands[1:]) try: lyrics = animelyrics.search_lyrics(query) send_message(id, lyrics, quote=False) except animelyrics.NoLyricsFound: send_message(id, "No lyrics found", quote=False) return True return False