Fix #28 coverimages
This commit is contained in:
parent
c9537a9963
commit
985ac8fc7a
@ -55,12 +55,13 @@ public abstract class Connector
|
|||||||
/// <param name="publication">Publication that contains Chapter</param>
|
/// <param name="publication">Publication that contains Chapter</param>
|
||||||
/// <param name="chapter">Chapter with Images to retrieve</param>
|
/// <param name="chapter">Chapter with Images to retrieve</param>
|
||||||
public abstract void DownloadChapter(Publication publication, Chapter chapter);
|
public abstract void DownloadChapter(Publication publication, Chapter chapter);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Retrieves the Cover from the Website
|
/// Retrieves the Cover from the Website
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="publication">Publication to retrieve Cover for</param>
|
/// <param name="publication">Publication to retrieve Cover for</param>
|
||||||
public abstract void DownloadCover(Publication publication);
|
/// <param name="settings">TrangaSettings</param>
|
||||||
|
public abstract void CloneCoverFromCache(Publication publication, TrangaSettings settings);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Saves the series-info to series.json in the Publication Folder
|
/// Saves the series-info to series.json in the Publication Folder
|
||||||
|
@ -267,11 +267,12 @@ public class MangaDex : Connector
|
|||||||
return author;
|
return author;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void DownloadCover(Publication publication)
|
public override void CloneCoverFromCache(Publication publication, TrangaSettings settings)
|
||||||
{
|
{
|
||||||
logger?.WriteLine(this.GetType().ToString(), $"Download cover {publication.sortName}");
|
logger?.WriteLine(this.GetType().ToString(), $"Cloning cover {publication.sortName}");
|
||||||
//Check if Publication already has a Folder and cover
|
//Check if Publication already has a Folder and cover
|
||||||
string publicationFolder = Path.Join(downloadLocation, publication.folderName);
|
string publicationFolder = Path.Join(downloadLocation, publication.folderName);
|
||||||
|
|
||||||
if(!Directory.Exists(publicationFolder))
|
if(!Directory.Exists(publicationFolder))
|
||||||
Directory.CreateDirectory(publicationFolder);
|
Directory.CreateDirectory(publicationFolder);
|
||||||
DirectoryInfo dirInfo = new (publicationFolder);
|
DirectoryInfo dirInfo = new (publicationFolder);
|
||||||
@ -281,21 +282,11 @@ public class MangaDex : Connector
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (publication.posterUrl is null || publication.posterUrl!.Contains("http"))
|
string fileInCache = Path.Join(settings.coverImageCache, publication.coverFileNameInCache);
|
||||||
{
|
string newFilePath = Path.Join(publicationFolder, Path.GetFileName(fileInCache));
|
||||||
logger?.WriteLine(this.GetType().ToString(), $"No Poster-URL in publication");
|
if(File.Exists(fileInCache))
|
||||||
return;
|
File.Copy(fileInCache, newFilePath);
|
||||||
}
|
|
||||||
|
|
||||||
//Get file-extension (jpg, png)
|
|
||||||
string[] split = publication.posterUrl.Split('.');
|
|
||||||
string extension = split[^1];
|
|
||||||
|
|
||||||
string outFolderPath = Path.Join(downloadLocation, publication.folderName);
|
|
||||||
Directory.CreateDirectory(outFolderPath);
|
|
||||||
|
|
||||||
//Download cover-Image
|
|
||||||
DownloadImage(publication.posterUrl, Path.Join(downloadLocation, publication.folderName, $"cover.{extension}"), this.downloadClient, (byte)RequestType.AtHomeServer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private string SaveImage(string url)
|
private string SaveImage(string url)
|
||||||
|
@ -37,7 +37,7 @@ public static class TaskExecutor
|
|||||||
switch (trangaTask.task)
|
switch (trangaTask.task)
|
||||||
{
|
{
|
||||||
case TrangaTask.Task.DownloadNewChapters:
|
case TrangaTask.Task.DownloadNewChapters:
|
||||||
DownloadNewChapters(connector!, (Publication)trangaTask.publication!, trangaTask.language, ref taskManager._chapterCollection);
|
DownloadNewChapters(connector!, (Publication)trangaTask.publication!, trangaTask.language, ref taskManager._chapterCollection, taskManager.settings);
|
||||||
break;
|
break;
|
||||||
case TrangaTask.Task.UpdateChapters:
|
case TrangaTask.Task.UpdateChapters:
|
||||||
UpdateChapters(connector!, (Publication)trangaTask.publication!, trangaTask.language, ref taskManager._chapterCollection);
|
UpdateChapters(connector!, (Publication)trangaTask.publication!, trangaTask.language, ref taskManager._chapterCollection);
|
||||||
@ -90,7 +90,7 @@ public static class TaskExecutor
|
|||||||
/// <param name="publication">Publication to check</param>
|
/// <param name="publication">Publication to check</param>
|
||||||
/// <param name="language">Language to receive chapters for</param>
|
/// <param name="language">Language to receive chapters for</param>
|
||||||
/// <param name="chapterCollection"></param>
|
/// <param name="chapterCollection"></param>
|
||||||
private static void DownloadNewChapters(Connector connector, Publication publication, string language, ref Dictionary<Publication, List<Chapter>> chapterCollection)
|
private static void DownloadNewChapters(Connector connector, Publication publication, string language, ref Dictionary<Publication, List<Chapter>> chapterCollection, TrangaSettings settings)
|
||||||
{
|
{
|
||||||
//Check if Publication already has a Folder
|
//Check if Publication already has a Folder
|
||||||
string publicationFolder = Path.Join(connector.downloadLocation, publication.folderName);
|
string publicationFolder = Path.Join(connector.downloadLocation, publication.folderName);
|
||||||
@ -98,7 +98,7 @@ public static class TaskExecutor
|
|||||||
Directory.CreateDirectory(publicationFolder);
|
Directory.CreateDirectory(publicationFolder);
|
||||||
List<Chapter> newChapters = UpdateChapters(connector, publication, language, ref chapterCollection);
|
List<Chapter> newChapters = UpdateChapters(connector, publication, language, ref chapterCollection);
|
||||||
|
|
||||||
connector.DownloadCover(publication);
|
connector.CloneCoverFromCache(publication, settings);
|
||||||
|
|
||||||
string seriesInfoPath = Path.Join(publicationFolder, "series.json");
|
string seriesInfoPath = Path.Join(publicationFolder, "series.json");
|
||||||
if(!File.Exists(seriesInfoPath))
|
if(!File.Exists(seriesInfoPath))
|
||||||
|
Loading…
Reference in New Issue
Block a user