diff --git a/MediaDownloader/Data/TitleModifier.cs b/MediaDownloader/Data/TitleModifier.cs index ccba158..efe65c0 100644 --- a/MediaDownloader/Data/TitleModifier.cs +++ b/MediaDownloader/Data/TitleModifier.cs @@ -1,12 +1,23 @@ -using System.Collections.ObjectModel; +using System.Collections.Generic; +using System.Collections.ObjectModel; using System.ComponentModel.DataAnnotations; using System.Data.Entity; +using System.Linq; using static MediaDownloader.Data.DatabaseContext; namespace MediaDownloader.Data { public class TitleModifier { + public static readonly List DefaultModifiers = new() + { + new TitleModifier {Target = "[\\[\\(][Oo]fficial[Aa]udio[\\]\\)]"}, + new TitleModifier {Target = "[\\[\\(][Oo]riginal [Aa]udio[\\]\\)]"}, + new TitleModifier {Target = "[\\[\\(][Oo]fficial [Vv]ideo[^\\]\\)]*[\\]\\)]"}, + new TitleModifier {Target = "[\\[\\(][Oo]fficial [Mm]usic [Vv]ideo[^\\]\\)]*[\\]\\)]"}, + new TitleModifier {Target = "[\\[\\(][Ll]yrics? [Vv]ideo[^\\]\\)]*[\\]\\)]"} + }; + [Key] public int Id { get; set; } public string Target { get; set; } @@ -16,7 +27,18 @@ public class TitleModifier public static ObservableCollection GetLocalSavedDownloads() { DBConnection.TitleModifiers.Load(); - return DBConnection.TitleModifiers.Local; + var result = DBConnection.TitleModifiers.Local; + + foreach (var defaultModifier in DefaultModifiers) + { + if (result.All(modifier => modifier.Target != defaultModifier.Target)) + { + DBConnection.TitleModifiers.Add(defaultModifier); + } + } + + DBConnection.SaveChanges(); + return result; } } } diff --git a/MediaDownloader/db/db.db b/MediaDownloader/db/db.db index 53b206f..56b0f1c 100644 Binary files a/MediaDownloader/db/db.db and b/MediaDownloader/db/db.db differ