Pneumatic will set the download client ID for strm files
This commit is contained in:
parent
57448fd29a
commit
bf1547a524
|
@ -70,6 +70,16 @@ namespace NzbDrone.Core.Test.MediaFiles.EpisodeImport
|
||||||
Mocker.GetMock<IVideoFileInfoReader>().Verify(c => c.GetRunTime(It.IsAny<string>()), Times.Never());
|
Mocker.GetMock<IVideoFileInfoReader>().Verify(c => c.GetRunTime(It.IsAny<string>()), Times.Never());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void should_return_false_for_strm()
|
||||||
|
{
|
||||||
|
_localEpisode.Path = @"C:\Test\some.show.s01e01.strm";
|
||||||
|
|
||||||
|
ShouldBeFalse();
|
||||||
|
|
||||||
|
Mocker.GetMock<IVideoFileInfoReader>().Verify(c => c.GetRunTime(It.IsAny<string>()), Times.Never());
|
||||||
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void should_use_runtime()
|
public void should_use_runtime()
|
||||||
{
|
{
|
||||||
|
|
|
@ -56,7 +56,8 @@ namespace NzbDrone.Core.Download.Clients.Pneumatic
|
||||||
|
|
||||||
_logger.Debug("NZB Download succeeded, saved to: {0}", nzbFile);
|
_logger.Debug("NZB Download succeeded, saved to: {0}", nzbFile);
|
||||||
|
|
||||||
WriteStrmFile(title, nzbFile);
|
var strmFile = WriteStrmFile(title, nzbFile);
|
||||||
|
return GetDownloadClientId(strmFile);
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -71,27 +72,27 @@ namespace NzbDrone.Core.Download.Clients.Pneumatic
|
||||||
|
|
||||||
public override IEnumerable<DownloadClientItem> GetItems()
|
public override IEnumerable<DownloadClientItem> GetItems()
|
||||||
{
|
{
|
||||||
foreach (var videoFile in _diskProvider.GetFiles(Settings.StrmFolder, SearchOption.TopDirectoryOnly))
|
foreach (var file in _diskProvider.GetFiles(Settings.StrmFolder, SearchOption.TopDirectoryOnly))
|
||||||
{
|
{
|
||||||
if (Path.GetExtension(videoFile) != ".strm")
|
if (Path.GetExtension(file) != ".strm")
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
var title = FileNameBuilder.CleanFileName(Path.GetFileName(videoFile));
|
var title = FileNameBuilder.CleanFileName(Path.GetFileName(file));
|
||||||
|
|
||||||
var historyItem = new DownloadClientItem
|
var historyItem = new DownloadClientItem
|
||||||
{
|
{
|
||||||
DownloadClient = Definition.Name,
|
DownloadClient = Definition.Name,
|
||||||
DownloadClientId = Definition.Name + "_" + Path.GetFileName(videoFile) + "_" + _diskProvider.FileGetLastWriteUtc(videoFile).Ticks,
|
DownloadClientId = GetDownloadClientId(file),
|
||||||
Title = title,
|
Title = title,
|
||||||
|
|
||||||
TotalSize = _diskProvider.GetFileSize(videoFile),
|
TotalSize = _diskProvider.GetFileSize(file),
|
||||||
|
|
||||||
OutputPath = videoFile
|
OutputPath = file
|
||||||
};
|
};
|
||||||
|
|
||||||
if (_diskProvider.IsFileLocked(videoFile))
|
if (_diskProvider.IsFileLocked(file))
|
||||||
{
|
{
|
||||||
historyItem.Status = DownloadItemStatus.Downloading;
|
historyItem.Status = DownloadItemStatus.Downloading;
|
||||||
}
|
}
|
||||||
|
@ -155,7 +156,7 @@ namespace NzbDrone.Core.Download.Clients.Pneumatic
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void WriteStrmFile(String title, String nzbFile)
|
private String WriteStrmFile(String title, String nzbFile)
|
||||||
{
|
{
|
||||||
String folder;
|
String folder;
|
||||||
|
|
||||||
|
@ -175,7 +176,16 @@ namespace NzbDrone.Core.Download.Clients.Pneumatic
|
||||||
}
|
}
|
||||||
|
|
||||||
var contents = String.Format("plugin://plugin.program.pneumatic/?mode=strm&type=add_file&nzb={0}&nzbname={1}", nzbFile, title);
|
var contents = String.Format("plugin://plugin.program.pneumatic/?mode=strm&type=add_file&nzb={0}&nzbname={1}", nzbFile, title);
|
||||||
_diskProvider.WriteAllText(Path.Combine(folder, title + ".strm"), contents);
|
var filename = Path.Combine(folder, title + ".strm");
|
||||||
|
|
||||||
|
_diskProvider.WriteAllText(filename, contents);
|
||||||
|
|
||||||
|
return filename;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String GetDownloadClientId(String filename)
|
||||||
|
{
|
||||||
|
return Definition.Name + "_" + Path.GetFileName(filename) + "_" + _diskProvider.FileGetLastWriteUtc(filename).Ticks;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,6 +50,12 @@ namespace NzbDrone.Core.MediaFiles.EpisodeImport
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (extension != null && extension.Equals(".strm", StringComparison.InvariantCultureIgnoreCase))
|
||||||
|
{
|
||||||
|
_logger.Debug("Skipping sample check for .strm file");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var runTime = _videoFileInfoReader.GetRunTime(path);
|
var runTime = _videoFileInfoReader.GetRunTime(path);
|
||||||
|
|
Loading…
Reference in New Issue