Update app.py
Browse files
app.py
CHANGED
@@ -11,6 +11,8 @@ from pydantic import BaseModel
|
|
11 |
from urllib.parse import urlparse, parse_qs
|
12 |
from collections import defaultdict
|
13 |
import threading
|
|
|
|
|
14 |
|
15 |
app = Flask(__name__)
|
16 |
ytmusic = YTMusic()
|
@@ -212,7 +214,22 @@ async def get_audio_download_url(track_id: str, quality: str) -> str:
|
|
212 |
return donwnload_url
|
213 |
|
214 |
|
215 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
216 |
|
217 |
|
218 |
@app.route('/track_dl', methods=['POST'])
|
@@ -230,7 +247,7 @@ async def track_dl():
|
|
230 |
"premium": "https://chrunos.com/premium-shortcuts/"
|
231 |
}), 400
|
232 |
|
233 |
-
dl_url = await
|
234 |
logger.info(dl_url)
|
235 |
|
236 |
if dl_url and "http" in dl_url:
|
|
|
11 |
from urllib.parse import urlparse, parse_qs
|
12 |
from collections import defaultdict
|
13 |
import threading
|
14 |
+
import aiohttp
|
15 |
+
|
16 |
|
17 |
app = Flask(__name__)
|
18 |
ytmusic = YTMusic()
|
|
|
214 |
return donwnload_url
|
215 |
|
216 |
|
217 |
+
async def get_download_url(track_id, quality):
|
218 |
+
url = "https://chrunos-ytdl2.hf.space/download"
|
219 |
+
youtube_url = f'https://www.youtube.com/watch?v={track_id}'
|
220 |
+
async with aiohttp.ClientSession() as session:
|
221 |
+
data = {"url": youtube_url}
|
222 |
+
try:
|
223 |
+
async with session.post(url, json=data) as response:
|
224 |
+
if response.status == 200:
|
225 |
+
result = await response.json()
|
226 |
+
return result.get('download_url')
|
227 |
+
else:
|
228 |
+
print(f"请求失败,状态码: {response.status}")
|
229 |
+
return None
|
230 |
+
except aiohttp.ClientError as e:
|
231 |
+
print(f"发生客户端错误: {e}")
|
232 |
+
return None
|
233 |
|
234 |
|
235 |
@app.route('/track_dl', methods=['POST'])
|
|
|
247 |
"premium": "https://chrunos.com/premium-shortcuts/"
|
248 |
}), 400
|
249 |
|
250 |
+
dl_url = await get_download_url(track_id, quality)
|
251 |
logger.info(dl_url)
|
252 |
|
253 |
if dl_url and "http" in dl_url:
|