public void Action(TagOptions options) { if (Wrappers.WrapIOs.Exists(FilePath)) { var _file = TagLib.File.Create(new FileAbstraction(FilePath)); if (_file.Tag.Performers != null) { Console.WriteLine($"Performers for the song: {System.IO.Path.GetFileName(_file.Name)}, are ..."); Console.WriteLine($"{ (".".Repeat(75)) }{Environment.NewLine}"); foreach (var arts in _file.Tag.Performers) { arts.SplitEx(',').Select(a => a.Trim()).ToList().ForEach(a => { Console.Write($"[{a}] "); }); } Console.WriteLine($"{Environment.NewLine}{Environment.NewLine}Other Information-{Environment.NewLine}{ (".".Repeat(30)) }"); Console.WriteLine($"Beats Per Minute: {_file.Tag.BeatsPerMinute}"); Console.WriteLine($"Albumb : {_file.Tag.Album}"); Console.WriteLine($"Year : {_file.Tag.Year}"); Console.WriteLine($"Track Number : {_file.Tag.Track}"); Console.WriteLine($"Title : {_file.Tag.Title}"); Console.WriteLine($"{Environment.NewLine}{ ("=".Repeat(100)) }{Environment.NewLine}"); } } }
private static void Observe <T>(TagUtility.Entities.TagOptions options, Action <T> subscriber, string pattern = null, Func <string, bool> where = null) { if (where == null) { where = ((f) => { return(true); }); } FindAll(options, pattern) .Where(where) .Cast <T>() .ToObservable <T>(NewThreadScheduler.Default) .Subscribe <T>(subscriber); }
private static void Observe <T>(TagUtility.Entities.TagOptions options, string pattern = null, Func <string, bool> where = null) where T : ITagResult, new() { if (where == null) { where = ((f) => { return(true); }); } FindAll(options, pattern) .Where(where) .Select(f => new T { FilePath = f }) .ToObservable <T>(NewThreadScheduler.Default) .Do <T>((tag) => { Console.WriteLine($"Proessing - { System.IO.Path.GetFileName(((ITagResult)tag).FilePath) }"); }) .Subscribe((tag) => { ((ITagResult)tag).Action(options); }); }
public void Action(TagOptions options) { Console.WriteLine($"Unziping the file : [ {FilePath} ]"); WrapIOs.UnZip(FilePath, deleteAfterExtraction: options.DeleteAfterExtraction); Console.WriteLine("Done.!"); Console.WriteLine(); }
public static void Search <T>(TagUtility.Entities.TagOptions options) where T : ITagResult, new() { Observe <T>(options, where : (f) => { return(options.SearchPhraseFromName.Any(s => f.Contains(s))); }); }
public static void Zipper <T>(TagUtility.Entities.TagOptions options) where T : ITagResult, new() { Observe <T>(options, "*.zip"); }
public static void Informer <T>(TagUtility.Entities.TagOptions options) where T : ITagResult, new() { Observe <T>(options); }
public static void All(TagUtility.Entities.TagOptions options, Action <string> subscriber) { Observe(options, subscriber); }
public static void Search(TagUtility.Entities.TagOptions options, Action <string> subscriber) { Observe(options, subscriber, where : (f) => { return(options.SearchPhraseFromName.Any(s => f.Contains(s))); }); }
public static void Zips(TagUtility.Entities.TagOptions options, Action <string> subscriber) { Observe(options, subscriber, "*.zip"); }
private static string[] FindAll(TagUtility.Entities.TagOptions options, string pattern = null) { return(WrapIOs.FindFiles(options.Folder ?? options.File, options.IncludeSubfolders, pattern ?? options.SearchPattern ?? "*.*")); }