lyricsgenius / app.py
Hev832's picture
Update app.py
c0a53d4 verified
import gradio as gr
import lyricsgenius
import re
# Initialize Genius API client
genius = lyricsgenius.Genius("YOUR_GENIUS_ACCESS_TOKEN")
def get_lyrics_from_link(link):
try:
# Extract song path from Genius link
song_path = re.search(r"genius\.com/([\w-]+)-lyrics$", link)
if song_path:
# Search song by song path
song = genius.search_song(song_path.group(1).replace("-", " "))
if song:
return song.lyrics
else:
return "Song not found. Please check the link."
else:
return "Invalid link format. Please provide a correct Genius lyrics link."
except Exception as e:
return f"An error occurred: {str(e)}"
# Create Gradio interface
with gr.Blocks(theme="Hev832/niceandsimple") as demo:
gr.Markdown("## Get Lyrics from Genius Link")
link_input = gr.Textbox(label="Genius Link",
placeholder="Enter Genius lyrics link here...",
value="https://genius.com/Maimymayo-silly-billy-with-lyrics-hit-single-real-cover-lyrics") # Example link added
output = gr.Textbox(label="Lyrics", lines=15)
get_lyrics_button = gr.Button("Get Lyrics")
get_lyrics_button.click(get_lyrics_from_link, inputs=link_input, outputs=output)
demo.launch()