Esempio n. 1
0
        public bool ProcessDownload(Anime anime, bool useAltName)
        {
            string usedName = useAltName ? anime.AltName : anime.Name;

            usedName = FolderChecker.GetValidFolderPath(usedName);
            bool result = false;

            Directory.CreateDirectory(settings.DestinationFolder + usedName + @"\watched");
            string filePath = settings.DownloadFolder + GetTorrentFileName(usedName, anime.CurrentEpisode, settings.Quality);

            if (System.Threading.SpinWait.SpinUntil(() => File.Exists(filePath), fileTimeOut))
            {
                ProcessStartInfo startInfo = new ProcessStartInfo();
                startInfo.CreateNoWindow  = true;
                startInfo.UseShellExecute = false;
                startInfo.FileName        = settings.QBitTorrentPath;
                startInfo.WindowStyle     = ProcessWindowStyle.Hidden;
                startInfo.Arguments       = String.Format("\"{0}\" --save-path=\"{1}{2}\" --skip-dialog=true", filePath, settings.DestinationFolder, usedName);
                Process.Start(startInfo).WaitForExit();
                result = true;
            }
            else
            {
                Console.WriteLine("ERROR: could not find file: " + filePath);
            }
            return(result);
        }
Esempio n. 2
0
 /// <summary>
 /// Проверить символ перевода строки в папке.
 /// </summary>
 /// <param name="folderName">Имя папки.</param>
 /// <param name="filter">Фильтр по именам файлов.</param>
 /// <returns>Представление с результатами проверки.</returns>
 public ActionResult CheckFolder(string folderName, string filter)
 {
     try
     {
         var folderChecker = new FolderChecker(folderName, filter);
         var checkResults  = folderChecker.CheckFolder();
         return(this.View(checkResults));
     }
     catch (Exception e)
     {
         return(this.View("CheckFolderError", (object)e.Message));
     }
 }
        public void LoadViewModel_OnSelectClicked_ReceivesStringOfSelectedFile()
        {
            //Arrange
            FolderManager manager       = Substitute.For <FolderManager>();
            DataProvider  dataProvider  = Substitute.For <DataProvider>();
            FolderChecker folderChecker = Substitute.For <FolderChecker>();
            FileIO        fileIO        = Substitute.For <FileIO>();
            LoadViewModel viewModel     = new LoadViewModel(dataProvider, folderChecker, manager, fileIO, Factories.GetMainWindowViewModelStub());

            //Act
            viewModel.SelectClickCommand.Execute(this);

            //Assert
            Assert.AreEqual("return", manager.LastSelected);
        }
        public void LoadViewModel_OnSelectClicked_CallsFolderSelector()
        {
            //Arrange
            FolderManager manager       = Substitute.For <FolderManager>();
            DataProvider  dataProvider  = Substitute.For <DataProvider>();
            FolderChecker folderChecker = Substitute.For <FolderChecker>();
            FileIO        fileIO        = Substitute.For <FileIO>();
            LoadViewModel viewModel     = new LoadViewModel(dataProvider, folderChecker, manager, fileIO, Factories.GetMainWindowViewModelStub());

            //Act
            viewModel.SelectClickCommand.Execute(this);

            //Assert
            manager.Received().SelectFolder();
        }
        public void LoadViewModel_OnSelectClickedError_ReceivesSelectorError()
        {
            //Arrange
            FolderManager manager       = Substitute.For <FolderManager>();
            DataProvider  dataProvider  = Substitute.For <DataProvider>();
            FolderChecker folderChecker = Substitute.For <FolderChecker>();
            FileIO        fileIO        = Substitute.For <FileIO>();
            LoadViewModel viewModel     = new LoadViewModel(dataProvider, folderChecker, manager, fileIO, Factories.GetMainWindowViewModelStub());

            //Act
            viewModel.SelectClickCommand.Execute(this);

            manager.ThrowError = true;

            viewModel.SelectClickCommand.Execute(this);

            //Assert
            Assert.AreEqual("", viewModel.PathText);
        }