Fix browser startup

This commit is contained in:
glax 2023-06-05 21:38:32 +02:00
parent 437136804d
commit f73997e563

View File

@ -31,12 +31,10 @@ public class Mangasee : Connector
private async void DownloadBrowser() private async void DownloadBrowser()
{ {
BrowserFetcher browserFetcher = new BrowserFetcher(); BrowserFetcher browserFetcher = new BrowserFetcher();
if (browserFetcher.LocalRevisions().Contains(ChromiumVersion)) foreach(string rev in browserFetcher.LocalRevisions().Where(rev => rev != ChromiumVersion))
return;
else
foreach(string rev in browserFetcher.LocalRevisions())
browserFetcher.Remove(rev); browserFetcher.Remove(rev);
if (!browserFetcher.LocalRevisions().Contains(ChromiumVersion))
{
logger?.WriteLine(this.GetType().ToString(), "Downloading headless browser"); logger?.WriteLine(this.GetType().ToString(), "Downloading headless browser");
DateTime last = DateTime.Now.Subtract(TimeSpan.FromSeconds(5)); DateTime last = DateTime.Now.Subtract(TimeSpan.FromSeconds(5));
browserFetcher.DownloadProgressChanged += async (sender, args) => browserFetcher.DownloadProgressChanged += async (sender, args) =>
@ -44,11 +42,11 @@ public class Mangasee : Connector
double currentBytes = Convert.ToDouble(args.BytesReceived) / Convert.ToDouble(args.TotalBytesToReceive); double currentBytes = Convert.ToDouble(args.BytesReceived) / Convert.ToDouble(args.TotalBytesToReceive);
if (args.TotalBytesToReceive == args.BytesReceived) if (args.TotalBytesToReceive == args.BytesReceived)
{ {
logger?.WriteLine(this.GetType().ToString(), "Browser downloaded. Launching..."); logger?.WriteLine(this.GetType().ToString(), "Browser downloaded.");
} }
else if (DateTime.Now > last.AddSeconds(5)) else if (DateTime.Now > last.AddSeconds(5))
{ {
logger?.WriteLine(this.GetType().ToString(), $"Browser progress: {currentBytes:P2}"); logger?.WriteLine(this.GetType().ToString(), $"Browser download progress: {currentBytes:P2}");
last = DateTime.Now; last = DateTime.Now;
} }
@ -59,6 +57,9 @@ public class Mangasee : Connector
return; return;
} }
await browserFetcher.DownloadAsync(ChromiumVersion); await browserFetcher.DownloadAsync(ChromiumVersion);
}
logger?.WriteLine(this.GetType().ToString(), "Starting browser.");
this._browser = await Puppeteer.LaunchAsync(new LaunchOptions this._browser = await Puppeteer.LaunchAsync(new LaunchOptions
{ {
Headless = true, Headless = true,
@ -208,6 +209,7 @@ public class Mangasee : Connector
Thread.Sleep(1000); Thread.Sleep(1000);
} }
logger?.WriteLine(this.GetType().ToString(), $"Downloading Chapter-Info {publication.sortName} {publication.internalId} {chapter.volumeNumber}-{chapter.chapterNumber}");
IPage page = _browser.NewPageAsync().Result; IPage page = _browser.NewPageAsync().Result;
IResponse response = page.GoToAsync(chapter.url).Result; IResponse response = page.GoToAsync(chapter.url).Result;
if (response.Ok) if (response.Ok)