mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2025-09-17 17:14:18 +02:00
New: Add TMDB/IMDB url in Kodi metadata
This commit is contained in:
@@ -102,16 +102,11 @@ namespace NzbDrone.Core.Extras.Metadata.Consumers.Xbmc
|
|||||||
|
|
||||||
public override MetadataFileResult MovieMetadata(Movie movie, MovieFile movieFile)
|
public override MetadataFileResult MovieMetadata(Movie movie, MovieFile movieFile)
|
||||||
{
|
{
|
||||||
if (!Settings.MovieMetadata)
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
_logger.Debug("Generating Movie Metadata for: {0}", Path.Combine(movie.Path, movieFile.RelativePath));
|
|
||||||
|
|
||||||
var watched = GetExistingWatchedStatus(movie, movieFile.RelativePath);
|
|
||||||
|
|
||||||
var xmlResult = string.Empty;
|
var xmlResult = string.Empty;
|
||||||
|
if (Settings.MovieMetadata)
|
||||||
|
{
|
||||||
|
_logger.Debug("Generating Movie Metadata for: {0}", Path.Combine(movie.Path, movieFile.RelativePath));
|
||||||
|
var watched = GetExistingWatchedStatus(movie, movieFile.RelativePath);
|
||||||
|
|
||||||
var sb = new StringBuilder();
|
var sb = new StringBuilder();
|
||||||
var xws = new XmlWriterSettings();
|
var xws = new XmlWriterSettings();
|
||||||
@@ -243,17 +238,20 @@ namespace NzbDrone.Core.Extras.Metadata.Consumers.Xbmc
|
|||||||
|
|
||||||
xmlResult += doc.ToString();
|
xmlResult += doc.ToString();
|
||||||
xmlResult += Environment.NewLine;
|
xmlResult += Environment.NewLine;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (Settings.MovieMetadataURL)
|
||||||
|
{
|
||||||
|
xmlResult += "https://www.themoviedb.org/movie/" + movie.TmdbId;
|
||||||
|
xmlResult += Environment.NewLine;
|
||||||
|
|
||||||
|
xmlResult += "https://www.imdb.com/title/" + movie.ImdbId;
|
||||||
|
xmlResult += Environment.NewLine;
|
||||||
}
|
}
|
||||||
|
|
||||||
var metadataFileName = GetMovieMetadataFilename(movieFile.RelativePath);
|
var metadataFileName = GetMovieMetadataFilename(movieFile.RelativePath);
|
||||||
|
|
||||||
if (Settings.UseMovieNfo)
|
return xmlResult == string.Empty ? null : new MetadataFileResult(metadataFileName, xmlResult.Trim(Environment.NewLine.ToCharArray()));
|
||||||
{
|
|
||||||
metadataFileName = "movie.nfo";
|
|
||||||
}
|
|
||||||
|
|
||||||
return new MetadataFileResult(metadataFileName, xmlResult.Trim(Environment.NewLine.ToCharArray()));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override List<ImageFileResult> MovieImages(Movie movie)
|
public override List<ImageFileResult> MovieImages(Movie movie)
|
||||||
@@ -278,9 +276,16 @@ namespace NzbDrone.Core.Extras.Metadata.Consumers.Xbmc
|
|||||||
}
|
}
|
||||||
|
|
||||||
private string GetMovieMetadataFilename(string movieFilePath)
|
private string GetMovieMetadataFilename(string movieFilePath)
|
||||||
|
{
|
||||||
|
if (Settings.UseMovieNfo)
|
||||||
|
{
|
||||||
|
return Path.Combine(Path.GetDirectoryName(movieFilePath), "movie.nfo");
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
return Path.ChangeExtension(movieFilePath, "nfo");
|
return Path.ChangeExtension(movieFilePath, "nfo");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private bool GetExistingWatchedStatus(Movie movie, string movieFilePath)
|
private bool GetExistingWatchedStatus(Movie movie, string movieFilePath)
|
||||||
{
|
{
|
||||||
|
@@ -19,6 +19,7 @@ namespace NzbDrone.Core.Extras.Metadata.Consumers.Xbmc
|
|||||||
public XbmcMetadataSettings()
|
public XbmcMetadataSettings()
|
||||||
{
|
{
|
||||||
MovieMetadata = true;
|
MovieMetadata = true;
|
||||||
|
MovieMetadataURL = true;
|
||||||
MovieImages = true;
|
MovieImages = true;
|
||||||
UseMovieNfo = false;
|
UseMovieNfo = false;
|
||||||
}
|
}
|
||||||
@@ -26,10 +27,13 @@ namespace NzbDrone.Core.Extras.Metadata.Consumers.Xbmc
|
|||||||
[FieldDefinition(0, Label = "Movie Metadata", Type = FieldType.Checkbox)]
|
[FieldDefinition(0, Label = "Movie Metadata", Type = FieldType.Checkbox)]
|
||||||
public bool MovieMetadata { get; set; }
|
public bool MovieMetadata { get; set; }
|
||||||
|
|
||||||
[FieldDefinition(1, Label = "Movie Images", Type = FieldType.Checkbox)]
|
[FieldDefinition(1, Label = "Movie Metadata URL", Type = FieldType.Checkbox, HelpText = "Radarr will write the tmdb/imdb url in the .nfo file", Advanced = true)]
|
||||||
|
public bool MovieMetadataURL { get; set; }
|
||||||
|
|
||||||
|
[FieldDefinition(2, Label = "Movie Images", Type = FieldType.Checkbox)]
|
||||||
public bool MovieImages { get; set; }
|
public bool MovieImages { get; set; }
|
||||||
|
|
||||||
[FieldDefinition(2, Label = "Use Movie.nfo", Type = FieldType.Checkbox, HelpText = "Radarr will write metadata to movie.nfo instead of the default <movie-filename>.nfo")]
|
[FieldDefinition(3, Label = "Use Movie.nfo", Type = FieldType.Checkbox, HelpText = "Radarr will write metadata to movie.nfo instead of the default <movie-filename>.nfo")]
|
||||||
public bool UseMovieNfo { get; set; }
|
public bool UseMovieNfo { get; set; }
|
||||||
|
|
||||||
public bool IsValid => true;
|
public bool IsValid => true;
|
||||||
|
Reference in New Issue
Block a user