Exemple #1
0
        public override void Call()
        {
            if (IsCanceled)
            {
                rename.Redo();
                return;
            }

            var tager = new Tager(new FileLoader());

            // _tager.Load(@"C:\Users\Alexandr\Desktop\TEST\песня.mp3");
            if (!tager.Load(Menu.GetUserInput("path:")))
            {
                throw new FileNotFoundException("File does not exist");
            }



            Menu.PrintHelp();



            rename = new Rename();
            rename.Call(new Mask(Menu.GetUserInput("mask:")), tager, tager.CurrentFile);
            rename.Save();



            Menu.PrintSuccessMessage();
        }
Exemple #2
0
        public override void Call()
        {
            if (IsCanceled)
            {
                retag.Redo();
                return;
            }

            var tager = new Tager(new FileLoader());


            if (!tager.Load(Menu.GetUserInput("path:")))
            {
                throw new FileNotFoundException("File does not exist");
            }



            Menu.PrintHelp();
            Menu.PrintCurrentFile(tager.CurrentFile);



            var tags = GetTagsFromFileName(tager.CurrentFile);



            retag = new Retag();
            retag.Call(tags, tager);
            retag.Save();


            Menu.PrintSuccessMessage();
        }
Exemple #3
0
        public override void Call()
        {
            if (IsCanceled)
            {
                _synchronizer.Redo();
                return;
            }

            var path       = Menu.GetUserInput("Load your plan\npath:");
            var planLoader = new PlanProvider();
            var tager      = new Tager(new FileLoader());


            _synchronizer = new Synchronizer(tager);
            _synchronizer.Sync(planLoader.Load(path));


            Menu.PrintChanges(_synchronizer.ModifiedFiles);


            if (Menu.GetYesNoAnswer("Save changes?\nY/N:"))
            {
                _synchronizer.Save();


                Menu.PrintMessage("Successfully");
                Menu.PrintCollection(string.Format("with {0} errors", _synchronizer.ErrorFiles.Count), _synchronizer.ErrorFiles, ConsoleColor.Red);
                Menu.GetUserInput("Press enter...");
            }
        }
 public void Init()
 {
     _testMask        = new Mask("{artist} {title}");
     _testTager       = new Tager(new TestFileLoader());
     _synchronizer    = new Synchronizer(_testTager);
     _fileWithBadName = new TestMp3File()
     {
         Path = "Artist", Tags = new Mp3Tags()
         {
             Artist = "Artist", Title = "Title"
         }
     };
     _fileWithBadTags = new TestMp3File()
     {
         Path = "Artist Title", Tags = new Mp3Tags()
         {
             Artist = "Artist", Title = ""
         }
     };
     _fileWithBadTagsAndBadName = new TestMp3File()
     {
         Path = "Artist", Tags = new Mp3Tags()
         {
             Artist = "Artist", Title = ""
         }
     };
 }
Exemple #5
0
        public override void Call()
        {
            if (IsCanceled)
            {
                synchronizer.Redo();
                return;
            }

            var path     = Menu.GetUserInput("path:");  //@"C:\Users\Alexandr\Desktop\TEST\New folder";
            var tager    = new Tager(new FileLoader());
            var analyzer = new Analyzer(tager, s => Path.GetExtension(s).ToLower() == ".mp3");


            Menu.PrintHelp();



            var mask = new Mask(Menu.GetUserInput("mask:"));



            analyzer.Analyze(Directory.GetFiles(path), mask);



            synchronizer = new Synchronizer(tager);

            foreach (var notSynchronizedFile in analyzer.NotSynchronizedFiles)
            {
                Console.Clear();
                Menu.PrintMessage(notSynchronizedFile.Key.Name + " with " + notSynchronizedFile.Value);



                synchronizer.Sync(notSynchronizedFile.Key, mask, Menu.SelectSyncRule());
                Menu.PrintChanges(notSynchronizedFile.Key);



                if (Menu.GetYesNoAnswer("Save changes?\nY/N:"))
                {
                    try
                    {
                        synchronizer.SaveLast();
                        Menu.PrintMessage("Successfully");
                        Menu.GetUserInput("Press enter...");
                    }
                    catch
                    {
                        Menu.PrintError("Can't save file");
                    }
                }
                else
                {
                    synchronizer.RestoreLast();
                }
            }
        }
Exemple #6
0
 public void Init()
 {
     _fileLoader = new TestFileLoader();
     _testTager  = new Tager(_fileLoader);
     _tesTags    = new Mp3Tags()
     {
         Album = "Album", Artist = "Artist", Comment = "Comment", Genre = "Genre", Title = "Title", Year = 2015, Track = 1
     };
 }
Exemple #7
0
        public Synchronizer(Tager tager, ISyncRule rule)
        {
            _tager = tager;

            ModifiedFiles = new List <IMp3File>();
            ErrorFiles    = new Dictionary <string, string>();
            OperationList = new List <SyncOperation>();

            _syncRule = rule;
        }
Exemple #8
0
        public Synchronizer(Tager tager, ISyncRule rule)
        {
            _tager = tager;

            ModifiedFiles = new List<IMp3File>();
            ErrorFiles = new Dictionary<string, string>();
            OperationList = new List<SyncOperation>();

            _syncRule = rule;
        }
Exemple #9
0
        public bool Call(Mp3Tags tags, Tager tager)
        {
            _isCanceled = false;
            _file       = tager.CurrentFile;

            try
            {
                _memento = _file.GetMemento();
                tager.ChangeTags(tags);

                return(true);
            }
            catch
            {
                return(false);
            }
        }
Exemple #10
0
        public bool Call(Mp3Tags tags, Tager tager)
        {
            _isCanceled = false;
            _file = tager.CurrentFile;

            try
            {
                _memento = _file.GetMemento();
                tager.ChangeTags(tags);

                return true;
            }
            catch
            {
                return false;
            }
        }
Exemple #11
0
        public override void Call()
        {
            if (IsCanceled)
            {
                _synchronizer.Redo();
                return;
            }



            var path     = Menu.GetUserInput("path:"); //@"C:\Users\Alexandr\Desktop\TEST";
            var tager    = new Tager(new FileLoader());
            var analyzer = new Analyzer(tager, s => Path.GetExtension(s).ToLower() == ".mp3");



            Menu.PrintHelp();



            var mask = new Mask(Menu.GetUserInput("mask:"));



            analyzer.Analyze(Directory.GetFiles(path), mask);


            _synchronizer = new Synchronizer(tager, Menu.SelectSyncRule());
            _synchronizer.Sync(analyzer.NotSynchronizedFiles.Keys, mask);



            Menu.PrintChanges(_synchronizer.ModifiedFiles);
            if (Menu.GetYesNoAnswer("Save changes?\nY/N:"))
            {
                _synchronizer.Save();
                Menu.PrintMessage("Successfully");
                Menu.PrintCollection(string.Format("with {0} errors", _synchronizer.ErrorFiles.Count), _synchronizer.ErrorFiles, ConsoleColor.Red);
                Menu.GetUserInput("Press enter...");
            }
        }
Exemple #12
0
        public override bool Call(Mask mask, Tager tager, IMp3File file)
        {
            if (_isCanceled)
            {
                RestoreFile();
                return true;
            }

            _file = file;

            try
            {
                _memento = _file.GetMemento();
                tager.ChangeTags(tager.GetTagsFromName(mask));

                return true;
            }
            catch
            {
                return false;
            }
        }
Exemple #13
0
        public override bool Call(Mask mask, Tager tager, IMp3File file)
        {
            if (_isCanceled)
            {
                RestoreFile();
                return(true);
            }

            _file = file;

            try
            {
                _memento = _file.GetMemento();
                tager.ChangeTags(tager.GetTagsFromName(mask));

                return(true);
            }
            catch
            {
                return(false);
            }
        }
Exemple #14
0
 public PlanBuilder(Tager tager, Mask mask)
 {
     _tager     = tager;
     _mask      = mask;
     ErrorFiles = new Dictionary <string, string>();
 }
Exemple #15
0
 public abstract bool Call(Mask mask, Tager tager, IMp3File file);
Exemple #16
0
 public abstract bool Call(Mask mask,Tager tager, IMp3File file);
Exemple #17
0
 public Synchronizer(Tager tager)
     : this(tager, new DefaultSyncRule())
 {
 }
Exemple #18
0
 public Synchronizer(Tager tager) : this(tager, new DefaultSyncRule())
 {
 }
Exemple #19
0
 public PlanBuilder(Tager tager, Mask mask)
 {
     _tager = tager;
     _mask = mask;
     ErrorFiles = new Dictionary<string, string>();
 }