You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am encountering an issue while using the sp.track(track_id) function in my code. Whenever I execute this function, my code freezes, seemingly awaiting a response from Spotify that never arrives. I suspect there might be a delay or lack of response from Spotify's end. Could someone provide assistance or guidance on how to resolve this issue?
`from .escribir_metadata import escribir_metadata
def obtener_genero_cancion(spotify, track_id):
# Obtener los detalles de la pista
track_data = spotify.track(track_id)
# Inicializar una lista para almacenar los géneros de los artistas
artist_genres = []
# Obtener los géneros de cada artista asociado a la canción
for artist in track_data["artists"]:
artist_data = spotify.artist(artist["id"])
artist_genres.extend(artist_data["genres"])
# Contar la frecuencia de cada género
genre_counts = {}
for genre in artist_genres:
genre_counts[genre] = genre_counts.get(genre, 0) + 1
# Obtener el género más común
if genre_counts:
common_genre = max(genre_counts, key=genre_counts.get)
else:
common_genre = None
return common_genre
def obtener_metadata(sp, funcion_opciones):
opciones = funcion_opciones(["Carpeta", "Playlist"])
lista_total_a_analizar = []
for opcion in opciones:
print("Ejecutando:", opcion)
if opcion == "Carpeta":
from Data_general.obtencion_uris_canciones_desde_libreria import obtencion_uris_canciones_desde_libreria
from Data_general.obtencion_libreria_personal import canciones_de_mi_librería, mi_libreria
lista_total_a_analizar, canciones_no_encontradas = obtencion_uris_canciones_desde_libreria(canciones_de_mi_librería, [], sp)
print("No se han encontrado las siguientes canciones:", canciones_no_encontradas)
print("Se han encontrado las siguientes canciones:", lista_total_a_analizar)
elif opcion == "Playlist":
from Data_general.obtener_lista_total import lista_total, sp
lista_total_a_analizar = lista_total
print("Se han encontrado las siguientes canciones:", lista_total_a_analizar)
lista_canciones_con_metadata = []
for song in lista_total_a_analizar:
print("Obteniendo metadata de", song[0])
track_name = song[0]
track_id = song[1]
print(f'Nombre: {track_name}\nId: {track_id}')
track_data = sp.track(track_id)
print("Obtenida la data de", song[0])
audio_features = sp.audio_features(track_id)
print("Obtenido el las features de audio de", song[0])
try:
release_year = track_data["album"]["release_date"][:4] # Extraer año de la fecha de lanzamiento
print("Obtenido el año de", track_name)
except KeyError:
release_year = None # Manejar de forma elegante la falta de fecha de lanzamiento
album_name = track_data["album"]["name"]
print("Obtenido el album de", track_name)
popularity = track_data["popularity"]
print("Obtenida la popularidad de", track_name)
danceability = audio_features[0]["danceability"]
print("Obtenida la danceabilidad de", track_name)
energy = audio_features[0]["energy"]
print("Obtenida la energia de", track_name)
bpm = audio_features[0]["tempo"]
print("Obtenido el tempo de", track_name)
# # Obtener el género del álbum
# album_id = track_data["album"]["id"]
# album_data = sp.album(album_id)
# album_genres = album_data["genres"]
# print(album_data)
# # Si hay varios géneros, selecciona el primero de la lista
# if album_genres:
# album_genre = album_genres[0]
# else:
# album_genre = None
genero = obtener_genero_cancion(sp,track_id)
print("Obtenido el genero de", track_name)
if genero == None:
genero = " "
lista_canciones_con_metadata.append({
"nombre": track_name,
"Bpm": bpm,
"año": release_year,
"album": album_name,
"genero": genero, # Agregar el género del álbum
"popularidad": popularity,
"Bailable": danceability,
"Energía": energy
})
print("Escrita!")
print(lista_canciones_con_metadata)
escirbir_metadata = funcion_opciones(["Si", "No"])
for opcion in escirbir_metadata:
if opcion == "Si":
escribir_metadata(lista_canciones_con_metadata, mi_libreria)
else:
print("Chao")`
The text was updated successfully, but these errors were encountered:
Hello everyone.
I am encountering an issue while using the sp.track(track_id) function in my code. Whenever I execute this function, my code freezes, seemingly awaiting a response from Spotify that never arrives. I suspect there might be a delay or lack of response from Spotify's end. Could someone provide assistance or guidance on how to resolve this issue?
`from .escribir_metadata import escribir_metadata
def obtener_genero_cancion(spotify, track_id):
# Obtener los detalles de la pista
track_data = spotify.track(track_id)
def obtener_metadata(sp, funcion_opciones):
The text was updated successfully, but these errors were encountered: