|
|
|
@ -50,41 +50,29 @@ namespace MediaBrowser.Providers.Studios
|
|
|
|
|
{
|
|
|
|
|
return new List<ImageType>
|
|
|
|
|
{
|
|
|
|
|
ImageType.Primary,
|
|
|
|
|
ImageType.Thumb
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public Task<IEnumerable<RemoteImageInfo>> GetImages(BaseItem item, CancellationToken cancellationToken)
|
|
|
|
|
public async Task<IEnumerable<RemoteImageInfo>> GetImages(BaseItem item, CancellationToken cancellationToken)
|
|
|
|
|
{
|
|
|
|
|
return GetImages(item, true, true, cancellationToken);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private async Task<IEnumerable<RemoteImageInfo>> GetImages(BaseItem item, bool posters, bool thumbs, CancellationToken cancellationToken)
|
|
|
|
|
{
|
|
|
|
|
var list = new List<RemoteImageInfo>();
|
|
|
|
|
|
|
|
|
|
if (posters)
|
|
|
|
|
{
|
|
|
|
|
var posterPath = Path.Combine(_config.ApplicationPaths.CachePath, "imagesbyname", "remotestudioposters.txt");
|
|
|
|
|
|
|
|
|
|
posterPath = await EnsurePosterList(posterPath, cancellationToken).ConfigureAwait(false);
|
|
|
|
|
var thumbsPath = Path.Combine(_config.ApplicationPaths.CachePath, "imagesbyname", "remotestudiothumbs.txt");
|
|
|
|
|
|
|
|
|
|
list.Add(GetImage(item, posterPath, ImageType.Primary, "folder"));
|
|
|
|
|
}
|
|
|
|
|
thumbsPath = await EnsureThumbsList(thumbsPath, cancellationToken).ConfigureAwait(false);
|
|
|
|
|
|
|
|
|
|
cancellationToken.ThrowIfCancellationRequested();
|
|
|
|
|
|
|
|
|
|
if (thumbs)
|
|
|
|
|
{
|
|
|
|
|
var thumbsPath = Path.Combine(_config.ApplicationPaths.CachePath, "imagesbyname", "remotestudiothumbs.txt");
|
|
|
|
|
var imageInfo = GetImage(item, thumbsPath, ImageType.Thumb, "thumb");
|
|
|
|
|
|
|
|
|
|
thumbsPath = await EnsureThumbsList(thumbsPath, cancellationToken).ConfigureAwait(false);
|
|
|
|
|
|
|
|
|
|
list.Add(GetImage(item, thumbsPath, ImageType.Thumb, "thumb"));
|
|
|
|
|
if (imageInfo == null)
|
|
|
|
|
{
|
|
|
|
|
return Enumerable.Empty<RemoteImageInfo>();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return list.Where(i => i != null);
|
|
|
|
|
return new RemoteImageInfo[]
|
|
|
|
|
{
|
|
|
|
|
imageInfo
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private RemoteImageInfo GetImage(BaseItem item, string filename, ImageType type, string remoteFilename)
|
|
|
|
@ -120,13 +108,6 @@ namespace MediaBrowser.Providers.Studios
|
|
|
|
|
return EnsureList(url, file, _fileSystem, cancellationToken);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private Task<string> EnsurePosterList(string file, CancellationToken cancellationToken)
|
|
|
|
|
{
|
|
|
|
|
string url = string.Format(CultureInfo.InvariantCulture, "{0}/posters.txt", repositoryUrl);
|
|
|
|
|
|
|
|
|
|
return EnsureList(url, file, _fileSystem, cancellationToken);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public Task<HttpResponseMessage> GetImageResponse(string url, CancellationToken cancellationToken)
|
|
|
|
|
{
|
|
|
|
|
var httpClient = _httpClientFactory.CreateClient(NamedClient.Default);
|
|
|
|
|