New: Add MediaInfo to Episode Files returned from the API
This commit is contained in:
parent
d0acbe992e
commit
ecb0438b16
|
@ -1,4 +1,4 @@
|
||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using NzbDrone.Api.REST;
|
using NzbDrone.Api.REST;
|
||||||
using NzbDrone.Core.Qualities;
|
using NzbDrone.Core.Qualities;
|
||||||
|
@ -15,6 +15,7 @@ namespace NzbDrone.Api.EpisodeFiles
|
||||||
public DateTime DateAdded { get; set; }
|
public DateTime DateAdded { get; set; }
|
||||||
public string SceneName { get; set; }
|
public string SceneName { get; set; }
|
||||||
public QualityModel Quality { get; set; }
|
public QualityModel Quality { get; set; }
|
||||||
|
public MediaInfoResource MediaInfo { get; set; }
|
||||||
|
|
||||||
public bool QualityCutoffNotMet { get; set; }
|
public bool QualityCutoffNotMet { get; set; }
|
||||||
}
|
}
|
||||||
|
@ -37,6 +38,7 @@ namespace NzbDrone.Api.EpisodeFiles
|
||||||
DateAdded = model.DateAdded,
|
DateAdded = model.DateAdded,
|
||||||
SceneName = model.SceneName,
|
SceneName = model.SceneName,
|
||||||
Quality = model.Quality,
|
Quality = model.Quality,
|
||||||
|
MediaInfo = model.MediaInfo.ToResource(model.SceneName)
|
||||||
//QualityCutoffNotMet
|
//QualityCutoffNotMet
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -57,7 +59,8 @@ namespace NzbDrone.Api.EpisodeFiles
|
||||||
DateAdded = model.DateAdded,
|
DateAdded = model.DateAdded,
|
||||||
SceneName = model.SceneName,
|
SceneName = model.SceneName,
|
||||||
Quality = model.Quality,
|
Quality = model.Quality,
|
||||||
QualityCutoffNotMet = qualityUpgradableSpecification.CutoffNotMet(series.Profile.Value, model.Quality)
|
QualityCutoffNotMet = qualityUpgradableSpecification.CutoffNotMet(series.Profile.Value, model.Quality),
|
||||||
|
MediaInfo = model.MediaInfo.ToResource(model.SceneName),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
using NzbDrone.Api.REST;
|
||||||
|
using NzbDrone.Core.MediaFiles.MediaInfo;
|
||||||
|
|
||||||
|
namespace NzbDrone.Api.EpisodeFiles
|
||||||
|
{
|
||||||
|
public class MediaInfoResource : RestResource
|
||||||
|
{
|
||||||
|
public decimal AudioChannels { get; set; }
|
||||||
|
public string AudioCodec { get; set; }
|
||||||
|
public string VideoCodec { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class MediaInfoResourceMapper
|
||||||
|
{
|
||||||
|
public static MediaInfoResource ToResource(this MediaInfoModel model, string sceneName)
|
||||||
|
{
|
||||||
|
if (model == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return new MediaInfoResource
|
||||||
|
{
|
||||||
|
AudioChannels = MediaInfoFormatter.FormatAudioChannels(model),
|
||||||
|
AudioCodec = MediaInfoFormatter.FormatAudioCodec(model, sceneName),
|
||||||
|
VideoCodec = MediaInfoFormatter.FormatVideoCodec(model, sceneName)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -104,6 +104,7 @@
|
||||||
<Compile Include="ClientSchema\SelectOption.cs" />
|
<Compile Include="ClientSchema\SelectOption.cs" />
|
||||||
<Compile Include="Commands\CommandModule.cs" />
|
<Compile Include="Commands\CommandModule.cs" />
|
||||||
<Compile Include="Commands\CommandResource.cs" />
|
<Compile Include="Commands\CommandResource.cs" />
|
||||||
|
<Compile Include="EpisodeFiles\MediaInfoResource.cs" />
|
||||||
<Compile Include="Extensions\AccessControlHeaders.cs" />
|
<Compile Include="Extensions\AccessControlHeaders.cs" />
|
||||||
<Compile Include="Extensions\Pipelines\CorsPipeline.cs" />
|
<Compile Include="Extensions\Pipelines\CorsPipeline.cs" />
|
||||||
<Compile Include="Extensions\Pipelines\UrlBasePipeline.cs" />
|
<Compile Include="Extensions\Pipelines\UrlBasePipeline.cs" />
|
||||||
|
|
Loading…
Reference in New Issue