Diego-0121 commited on
Commit
379ddfd
1 Parent(s): fa83c8b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -4
app.py CHANGED
@@ -69,17 +69,27 @@ def recommend_song(song_name, artist_name, spotify_data_processed, top_n=4):
69
  def recommend_song_interface(song_name, artist_name):
70
  recommendations_df = recommend_song(song_name, artist_name, spotify_data_processed)
71
 
72
- # Verificar si el DataFrame est谩 vac铆o o si las columnas necesarias est谩n presentes
73
  if isinstance(recommendations_df, pd.DataFrame) and not recommendations_df.empty and {'song', 'artist'}.issubset(recommendations_df.columns):
74
  recommendations_list = recommendations_df[['song', 'artist']].values.tolist()
75
  formatted_recommendations = ["{} by {}".format(song, artist) for song, artist in recommendations_list]
76
- # Rellenar con cadenas vac铆as si hay menos de 4 recomendaciones
77
  while len(formatted_recommendations) < 4:
78
  formatted_recommendations.append("")
79
  return formatted_recommendations[:4]
80
  else:
81
- # Devolver mensajes de error o cadenas vac铆as si no se cumplen las condiciones anteriores
82
- return ["Error: No se pudo procesar las recomendaciones."] + [""] * 3
 
 
 
 
 
 
 
 
 
 
 
 
83
 
84
 
85
  # Crear la interfaz con Gradio
 
69
  def recommend_song_interface(song_name, artist_name):
70
  recommendations_df = recommend_song(song_name, artist_name, spotify_data_processed)
71
 
 
72
  if isinstance(recommendations_df, pd.DataFrame) and not recommendations_df.empty and {'song', 'artist'}.issubset(recommendations_df.columns):
73
  recommendations_list = recommendations_df[['song', 'artist']].values.tolist()
74
  formatted_recommendations = ["{} by {}".format(song, artist) for song, artist in recommendations_list]
 
75
  while len(formatted_recommendations) < 4:
76
  formatted_recommendations.append("")
77
  return formatted_recommendations[:4]
78
  else:
79
+ # Si no se encuentran recomendaciones, seleccionar una canci贸n aleatoria del dataset
80
+ random_song = spotify_data_processed.sample()
81
+ random_song_name = random_song['song'].iloc[0]
82
+ random_artist_name = random_song['artist'].iloc[0]
83
+
84
+ # Obtener recomendaciones para la canci贸n aleatoria
85
+ random_recommendations_df = recommend_song(random_song_name, random_artist_name, spotify_data_processed)
86
+ random_recommendations_list = random_recommendations_df[['song', 'artist']].values.tolist()
87
+ formatted_random_recommendations = ["{} by {}".format(song, artist) for song, artist in random_recommendations_list]
88
+
89
+ # Rellenar con cadenas vac铆as si hay menos de 4 recomendaciones
90
+ while len(formatted_random_recommendations) < 4:
91
+ formatted_random_recommendations.append("")
92
+ return formatted_random_recommendations[:4]
93
 
94
 
95
  # Crear la interfaz con Gradio