Skip to content

Commit

Permalink
Added new method for distributing default title modifiers
Browse files Browse the repository at this point in the history
  • Loading branch information
CodesDoWork committed Jan 10, 2022
1 parent b6cf444 commit 2cb348b
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 2 deletions.
26 changes: 24 additions & 2 deletions MediaDownloader/Data/TitleModifier.cs
Original file line number Diff line number Diff line change
@@ -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<TitleModifier> 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; }
Expand All @@ -16,7 +27,18 @@ public class TitleModifier
public static ObservableCollection<TitleModifier> 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;
}
}
}
Binary file modified MediaDownloader/db/db.db
Binary file not shown.

0 comments on commit 2cb348b

Please sign in to comment.