Spaces:
Sleeping
Sleeping
import streamlit as st | |
import pandas as pd | |
from songscope import * | |
# main header | |
st.title("SongScope") | |
# web app explainer | |
st.write("Welcome to SongScope. This is a web app that lets you download lyrics and metadata of your favourite artist.\n") | |
st.write("Enter an artist name, and you can even select up to 5 songs to retrieve their data. If you don't specify any songs,\ndata on all songs by the artist will be retrieved.") | |
# delay times | |
delay_min = float(st.text_input("Minimum delay per iteration")) | |
delay_max = float(st.text_input("Maximum delay per iteration")) | |
# delay_min = 15 | |
# delay_max = 30 | |
# user-provided data | |
artist_name = st.text_input("Enter artist name here") | |
song_1 = st.text_input("Enter 1st song title here") | |
song_2 = st.text_input("Enter 2nd song title here") | |
song_3 = st.text_input("Enter 3rd song title here") | |
song_4 = st.text_input("Enter 4th song title here") | |
song_5 = st.text_input("Enter 5th song title here") | |
# data is found | |
solve_button = st.button('Find Data') | |
if not solve_button: # button to make everything run | |
st.write("Please check again that the starting word and target word only contain letter and are both 5 letters in length. Once they are, click the 'Abracadabra' button once more.") | |
# else: # if the passed words don't check every criteria | |
# artist_df = get_all_data(artist_name = artist_name, | |
# song_titles = song_1 + song_2 + song_3 + song_4 + song_5, | |
# delay = (delay_min, delay_max), # random float value between (delay_min, delay_max) seconds | |
# print_progress = True) | |
# artist_df.to_csv(f"{artist_name.lower()}_data.csv") | |
# user downloads found data here | |
csv_dl_button = st.download_button('Download Data', artist_df, 'text/csv') | |
# st.download_button('Download Data', DATA_TO_CSV) # Defaults to 'text/plain' | |
# with open(f'{artist_name.lower()}_data.csv') as f: | |
# st.download_button('Download CSV', f) # Defaults to 'text/plain' | |
# st.write("Your data should now be downloading.") | |
# fun facts | |
fun_fax = [] | |
with open("fun_fax.txt", "r", encoding = "utf-8") as f: | |
for word in f.read().split("\n"): | |
if len(word) == 5: | |
fun_fax.append(word) | |
f.close() # closes connection to file | |
if csv_dl_button: | |
st.write("Your data should be downloaded. If not, please reload the page and try again.") | |
st.write(fun_fax[random.randint(0, len(fun_fax) - 1)]) | |
# "thank you" blurb | |
st.write("\nThanks for checking out Wordle Wizard! If you have any feedback or requests for additions to this app, shoot me an email at kmaurinjones@gmail.com.") |