media source scan interval (#28)

* scan media sources once every six hours

* cleanup

* force scan from ui
This commit is contained in:
Jason Dove
2021-02-22 19:01:58 +00:00
committed by GitHub
parent 871a031467
commit 38ab6c00ab
16 changed files with 1431 additions and 35 deletions
+4 -1
View File
@@ -1,9 +1,12 @@
namespace ErsatzTV.Core.Domain
using System;
namespace ErsatzTV.Core.Domain
{
public abstract class MediaSource
{
public int Id { get; set; }
public MediaSourceType SourceType { get; set; }
public string Name { get; set; }
public DateTimeOffset? LastScan { get; set; }
}
}
@@ -0,0 +1,10 @@
namespace ErsatzTV.Core.Errors
{
public class MediaSourceRecentlyScanned : BaseError
{
public MediaSourceRecentlyScanned(string folder) :
base($"Media source {folder} was already scanned recently; skipping scan.")
{
}
}
}
@@ -14,6 +14,7 @@ namespace ErsatzTV.Core.Interfaces.Repositories
Task<Option<MediaSource>> Get(int id);
Task<Option<PlexMediaSource>> GetPlex(int id);
Task<int> CountMediaItems(int id);
Task Update(LocalMediaSource localMediaSource);
Task Update(PlexMediaSource plexMediaSource);
Task Delete(int id);
}
@@ -197,7 +197,9 @@ namespace ErsatzTV.Core.Metadata
}
}
private async Task<Option<TelevisionEpisodeMetadata>> LoadEpisodeMetadata(TelevisionEpisodeMediaItem mediaItem, string nfoFileName)
private async Task<Option<TelevisionEpisodeMetadata>> LoadEpisodeMetadata(
TelevisionEpisodeMediaItem mediaItem,
string nfoFileName)
{
try
{