media source scan interval (#28)
* scan media sources once every six hours * cleanup * force scan from ui
This commit is contained in:
@@ -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
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user