rewrite local media scanner (#25)

* spike new scanner

* add existing items to new scanner

* add collection refresh actions

* add tv show metadata and posters

* update metadata and posters when nfo/poster files are updated

* add "remove" action, test for all supported file extensions

* update statistics when primary video file is updated

* reflect that collections are "sourced" from nfo

* implement most scanning actions

* cleanup

* fix startup

* cross-platform scanner tests
This commit is contained in:
Jason Dove
2021-02-15 23:55:19 +00:00
committed by GitHub
parent 1aac2f13c9
commit 8fb23f2edb
24 changed files with 2422 additions and 105 deletions
@@ -45,6 +45,9 @@ namespace ErsatzTV.Infrastructure.Migrations
"ErsatzTV.Core.AggregateModels.MediaItemSummary",
b =>
{
b.Property<int>("MediaItemId")
.HasColumnType("INTEGER");
b.Property<string>("Poster")
.HasColumnType("TEXT");
@@ -221,6 +224,9 @@ namespace ErsatzTV.Infrastructure.Migrations
b.Property<string>("Poster")
.HasColumnType("TEXT");
b.Property<DateTime?>("PosterLastWriteTime")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("MediaSourceId");
@@ -638,6 +644,9 @@ namespace ErsatzTV.Infrastructure.Migrations
b1.Property<int>("Height")
.HasColumnType("INTEGER");
b1.Property<DateTime?>("LastWriteTime")
.HasColumnType("TEXT");
b1.Property<int>("MediaType")
.HasColumnType("INTEGER");
@@ -650,6 +659,9 @@ namespace ErsatzTV.Infrastructure.Migrations
b1.Property<string>("SortTitle")
.HasColumnType("TEXT");
b1.Property<int>("Source")
.HasColumnType("INTEGER");
b1.Property<string>("Subtitle")
.HasColumnType("TEXT");