mirror of
https://onedev.site.tesses.net/tytd2025
synced 2026-06-01 09:55:34 +00:00
Get diagnostics
This commit is contained in:
@@ -14,6 +14,6 @@
|
|||||||
"project_dependencies": [
|
"project_dependencies": [
|
||||||
"..\/Tesses.YouTubeDownloader"
|
"..\/Tesses.YouTubeDownloader"
|
||||||
],
|
],
|
||||||
"version": "1.0.0.5-prod",
|
"version": "1.0.0.6-dev",
|
||||||
"compTime": "secure"
|
"compTime": "secure"
|
||||||
}
|
}
|
||||||
@@ -629,7 +629,6 @@ class TYTDApp {
|
|||||||
if(TypeIsString(v))
|
if(TypeIsString(v))
|
||||||
{
|
{
|
||||||
const resp=this.TYTD.ManifestRequest(v);
|
const resp=this.TYTD.ManifestRequest(v);
|
||||||
Console.WriteLine(resp);
|
|
||||||
ctx.WithMimeType("application/json").SendJson(resp);
|
ctx.WithMimeType("application/json").SendJson(resp);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,6 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"name": "Tesses.YouTubeDownloader",
|
"name": "Tesses.YouTubeDownloader",
|
||||||
"version": "1.0.0.5-prod",
|
"version": "1.0.0.6-dev",
|
||||||
"icon": "icon.png"
|
"icon": "icon.png"
|
||||||
}
|
}
|
||||||
@@ -1659,7 +1659,7 @@ class TYTD.Downloader {
|
|||||||
^/
|
^/
|
||||||
public ManifestRequest(vid)
|
public ManifestRequest(vid)
|
||||||
{
|
{
|
||||||
while(true) {
|
for(var tries=0; tries<5;tries++) {
|
||||||
var id = TYTD.GetVideoId(vid);
|
var id = TYTD.GetVideoId(vid);
|
||||||
if(id == null) return null;
|
if(id == null) return null;
|
||||||
TryDownloadVideoThumbnail(id,"0");
|
TryDownloadVideoThumbnail(id,"0");
|
||||||
@@ -1704,10 +1704,23 @@ class TYTD.Downloader {
|
|||||||
this.RateLimit();
|
this.RateLimit();
|
||||||
var response = Net.Http.MakeRequest(url,requestData);
|
var response = Net.Http.MakeRequest(url,requestData);
|
||||||
|
|
||||||
if(response.StatusCode < 200 || response.StatusCode > 299) continue;
|
if(response.StatusCode < 200 || response.StatusCode > 299) {
|
||||||
|
if(tries == 4)
|
||||||
|
{
|
||||||
|
const respText = response.ReadAsString();
|
||||||
|
throw new VideoDownloadError(id, $"StatusCode does not indicate success {response.StatusCode}\n{respText}");
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
const respText = response.ReadAsString();
|
const respText = response.ReadAsString();
|
||||||
const jsonResp = Json.Decode(respText);
|
const jsonResp = Json.Decode(respText);
|
||||||
if(!TypeIsDictionary(jsonResp.playerResponse)) continue;
|
if(!TypeIsDictionary(jsonResp.playerResponse)) {
|
||||||
|
if(tries == 4)
|
||||||
|
{
|
||||||
|
throw new VideoDownloadError(id, $"Player response is not defined, StatusCode: {response.StatusCode}");
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if(TypeIsDictionary(jsonResp.playerResponse.playabilityStatus))
|
if(TypeIsDictionary(jsonResp.playerResponse.playabilityStatus))
|
||||||
{
|
{
|
||||||
@@ -2063,6 +2076,7 @@ class TYTD.Downloader {
|
|||||||
this.Mutex.Lock();
|
this.Mutex.Lock();
|
||||||
const db = this.OpenDB();
|
const db = this.OpenDB();
|
||||||
const res = Sqlite.Exec(db, $"SELECT * FROM sso WHERE service_name = {Sqlite.Escape(appname)}");
|
const res = Sqlite.Exec(db, $"SELECT * FROM sso WHERE service_name = {Sqlite.Escape(appname)}");
|
||||||
|
|
||||||
Sqlite.Close(db);
|
Sqlite.Close(db);
|
||||||
this.Mutex.Unlock();
|
this.Mutex.Unlock();
|
||||||
if(TypeIsList(res))
|
if(TypeIsList(res))
|
||||||
|
|||||||
Reference in New Issue
Block a user