Exemplo n.º 1
0
        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); });
        }
Exemplo n.º 4
0
 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 ?? "*.*"));
 }