Chrunos commited on
Commit
4d0d26b
·
verified ·
1 Parent(s): e1884f9

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -6
app.py CHANGED
@@ -1,8 +1,8 @@
 
1
  from fastapi import FastAPI, HTTPException, Request
2
  import requests
3
  from bs4 import BeautifulSoup
4
  import os
5
- import base64
6
 
7
  app = FastAPI()
8
 
@@ -35,18 +35,27 @@ def get_track(request: Request, track_id: str = None, track_url: str = None):
35
 
36
  if track_url:
37
  track_id = track_url.split("/")[-1]
38
-
 
39
  response = requests.get(f"{SPOTIFY_API_URL}/tracks/{track_id}", headers=headers)
40
  track_data = response.json()
41
- respone = requests.get(f"https://downspotifyapis.vercel.app/api/v2/track/${track_id}")
 
42
  download_res = respone.json()
43
-
 
 
 
 
 
 
 
44
  return {
 
45
  "name": track_data["name"],
46
  "album": track_data["album"]["name"],
47
  "artist": track_data["artists"][0]["name"],
48
  "release_date": track_data["album"]["release_date"],
49
  "duration_ms": track_data["duration_ms"],
50
- "url": download_res["url"]
51
-
52
  }
 
1
+ import base64
2
  from fastapi import FastAPI, HTTPException, Request
3
  import requests
4
  from bs4 import BeautifulSoup
5
  import os
 
6
 
7
  app = FastAPI()
8
 
 
35
 
36
  if track_url:
37
  track_id = track_url.split("/")[-1]
38
+
39
+ # First request to get download URL
40
  response = requests.get(f"{SPOTIFY_API_URL}/tracks/{track_id}", headers=headers)
41
  track_data = response.json()
42
+
43
+ respone = requests.get(f"https://downspotifyapis.vercel.app/api/v2/track/{track_id}")
44
  download_res = respone.json()
45
+
46
+ # If URL is not valid, send another request to second URL
47
+ url = download_res.get("url")
48
+ if not url:
49
+ respone = requests.get(f"https://downspotifyapis.vercel.app/api/v1/track/{track_id}")
50
+ download_res = respone.json()
51
+ url = download_res.get("url")
52
+
53
  return {
54
+ "track_id": track_id,
55
  "name": track_data["name"],
56
  "album": track_data["album"]["name"],
57
  "artist": track_data["artists"][0]["name"],
58
  "release_date": track_data["album"]["release_date"],
59
  "duration_ms": track_data["duration_ms"],
60
+ "url": url
 
61
  }