Fixed: Return remote image links for RemotePoster and RemoteCover

(cherry picked from commit 4219cdb3644f96e1e8f3178fe0a50430c1004506)

Fixes #4101
Closes #212
This commit is contained in:
Taloth Saldono
2020-03-22 11:59:26 +01:00
committed by Bogdan
parent 7a629ed044
commit 525e855038
5 changed files with 15 additions and 13 deletions

View File

@@ -30,13 +30,11 @@ namespace NzbDrone.Core.MediaCover
private string _url; private string _url;
public string Url public string Url
{ {
get get => _url;
{
return _url;
}
set set
{ {
_url = value; _url = value;
if (Extension.IsNullOrWhiteSpace()) if (Extension.IsNullOrWhiteSpace())
{ {
Extension = Path.GetExtension(value); Extension = Path.GetExtension(value);
@@ -46,6 +44,7 @@ namespace NzbDrone.Core.MediaCover
public MediaCoverTypes CoverType { get; set; } public MediaCoverTypes CoverType { get; set; }
public string Extension { get; private set; } public string Extension { get; private set; }
public string RemoteUrl { get; set; }
public MediaCover() public MediaCover()
{ {

View File

@@ -90,7 +90,8 @@ namespace NzbDrone.Core.MediaCover
// Author isn't in Readarr yet, map via a proxy to circument referrer issues // Author isn't in Readarr yet, map via a proxy to circument referrer issues
foreach (var mediaCover in covers) foreach (var mediaCover in covers)
{ {
mediaCover.Url = _mediaCoverProxy.RegisterUrl(mediaCover.Url); mediaCover.RemoteUrl = mediaCover.Url;
mediaCover.Url = _mediaCoverProxy.RegisterUrl(mediaCover.RemoteUrl);
} }
} }
else else
@@ -104,6 +105,8 @@ namespace NzbDrone.Core.MediaCover
var filePath = GetCoverPath(entityId, coverEntity, mediaCover.CoverType, mediaCover.Extension, null); var filePath = GetCoverPath(entityId, coverEntity, mediaCover.CoverType, mediaCover.Extension, null);
mediaCover.RemoteUrl = mediaCover.Url;
if (coverEntity == MediaCoverEntity.Book) if (coverEntity == MediaCoverEntity.Book)
{ {
mediaCover.Url = _configFileProvider.UrlBase + @"/MediaCover/Books/" + entityId + "/" + mediaCover.CoverType.ToString().ToLower() + GetExtension(mediaCover.CoverType, mediaCover.Extension); mediaCover.Url = _configFileProvider.UrlBase + @"/MediaCover/Books/" + entityId + "/" + mediaCover.CoverType.ToString().ToLower() + GetExtension(mediaCover.CoverType, mediaCover.Extension);

View File

@@ -37,11 +37,11 @@ namespace Readarr.Api.V1.Author
_coverMapper.ConvertToLocalUrls(resource.Id, MediaCoverEntity.Author, resource.Images); _coverMapper.ConvertToLocalUrls(resource.Id, MediaCoverEntity.Author, resource.Images);
var poster = currentAuthor.Metadata.Value.Images.FirstOrDefault(c => c.CoverType == MediaCoverTypes.Poster); var poster = resource.Images.FirstOrDefault(c => c.CoverType == MediaCoverTypes.Poster);
if (poster != null) if (poster != null)
{ {
resource.RemotePoster = poster.Url; resource.RemotePoster = poster.RemoteUrl;
} }
resource.Folder = _fileNameBuilder.GetAuthorFolder(currentAuthor); resource.Folder = _fileNameBuilder.GetAuthorFolder(currentAuthor);

View File

@@ -34,11 +34,11 @@ namespace Readarr.Api.V1.Books
_coverMapper.ConvertToLocalUrls(resource.Id, MediaCoverEntity.Book, resource.Images); _coverMapper.ConvertToLocalUrls(resource.Id, MediaCoverEntity.Book, resource.Images);
var cover = currentBook.Editions.Value.Single(x => x.Monitored).Images.FirstOrDefault(c => c.CoverType == MediaCoverTypes.Cover); var cover = resource.Images.FirstOrDefault(c => c.CoverType == MediaCoverTypes.Cover);
if (cover != null) if (cover != null)
{ {
resource.RemoteCover = cover.Url; resource.RemoteCover = cover.RemoteUrl;
} }
yield return resource; yield return resource;

View File

@@ -47,11 +47,11 @@ namespace Readarr.Api.V1.Search
_coverMapper.ConvertToLocalUrls(resource.Author.Id, MediaCoverEntity.Author, resource.Author.Images); _coverMapper.ConvertToLocalUrls(resource.Author.Id, MediaCoverEntity.Author, resource.Author.Images);
var poster = author.Metadata.Value.Images.FirstOrDefault(c => c.CoverType == MediaCoverTypes.Poster); var poster = resource.Author.Images.FirstOrDefault(c => c.CoverType == MediaCoverTypes.Poster);
if (poster != null) if (poster != null)
{ {
resource.Author.RemotePoster = poster.Url; resource.Author.RemotePoster = poster.RemoteUrl;
} }
resource.Author.Folder = _fileNameBuilder.GetAuthorFolder(author); resource.Author.Folder = _fileNameBuilder.GetAuthorFolder(author);
@@ -66,11 +66,11 @@ namespace Readarr.Api.V1.Search
_coverMapper.ConvertToLocalUrls(resource.Book.Id, MediaCoverEntity.Book, resource.Book.Images); _coverMapper.ConvertToLocalUrls(resource.Book.Id, MediaCoverEntity.Book, resource.Book.Images);
var cover = book.Editions.Value.Single(x => x.Monitored).Images.FirstOrDefault(c => c.CoverType == MediaCoverTypes.Cover); var cover = resource.Book.Images.FirstOrDefault(c => c.CoverType == MediaCoverTypes.Cover);
if (cover != null) if (cover != null)
{ {
resource.Book.RemoteCover = cover.Url; resource.Book.RemoteCover = cover.RemoteUrl;
} }
resource.Book.Author.Folder = _fileNameBuilder.GetAuthorFolder(book.Author); resource.Book.Author.Folder = _fileNameBuilder.GetAuthorFolder(book.Author);