public static void DownloadReleasesOld(int[] ids) { if (ids == null || ids.Length == 0) { return; } ProgressDialog progressDialog = new ProgressDialog { InfoText = "downloading releases" }; Task.Run(() => { for (int i = 0; i < ids.Length; i++) { DiscogsRelease release = DiscogsService.GetRelease(ids[i]); if (release.videos == null) { continue; } Task.WaitAll(release.videos.Select(v => Task.Run(() => { MediaService.GetVideoFilePath(v.uri, out _, null); MediaService.GetAudioFilePath(v.uri, out _); })).ToArray()); progressDialog?.SetProgress(ProgressHelper.GetProgressPercentage(i + 1, ids.Length)); } }); progressDialog.Show(); }
public static void DeleteFiles(Action <int> progressPercentageCallback = null) { try { string[] files = Directory.GetFiles(VideoFolder) .Concat(Directory.GetFiles(ImageFolder)) .Concat(Directory.GetFiles(AudioFolder)).ToArray(); for (int i = 0; i < files.Length; i++) { try { File.Delete(files[i]); progressPercentageCallback?.Invoke(ProgressHelper.GetProgressPercentage(i + 1, files.Length)); } catch { //ignore } } progressPercentageCallback?.Invoke(100); } catch { //ignore } }
public static void ExportReleasesOld(int[] ids) { if (ids == null || ids.Length == 0) { return; } using (FolderBrowserDialog dialog = new FolderBrowserDialog()) { if (dialog.ShowDialog() != DialogResult.OK) { return; } string folder = dialog.SelectedPath; ProgressDialog progressDialog = new ProgressDialog { InfoText = $"exporting releases to {dialog.SelectedPath}" }; Task.Run(() => { for (int i = 0; i < ids.Length; i++) { DiscogsRelease release = DiscogsService.GetRelease(ids[i]); MediaService.ExportRelease(release, folder); progressDialog?.SetProgress(ProgressHelper.GetProgressPercentage(i + 1, ids.Length)); } }); progressDialog.Show(); } }
public static void ReleasesHelp(int[] ids, Help help) { string folder = null; if (help == Help.Export) { using (FolderBrowserDialog dialog = new FolderBrowserDialog()) { if (dialog.ShowDialog() != DialogResult.OK) { return; } folder = dialog.SelectedPath; } } ProgressDialog progressDialog = new ProgressDialog { InfoText = help.ToString() }; Task.Run(() => { for (int i = 0; i < ids.Length; i++) { DiscogsRelease release = DiscogsService.GetRelease(ids[i]); if (release.videos == null || release.videos.Length == 0) { continue; } switch (help) { case Help.Download: Task.WaitAll(release.videos.Select(v => Task.Run(() => { MediaService.GetVideoFilePath(v.uri, out _, null); MediaService.GetAudioFilePath(v.uri, out _); })).ToArray()); break; case Help.Export: MediaService.ExportRelease(release, folder); break; default: return; } progressDialog?.SetProgress(ProgressHelper.GetProgressPercentage(i + 1, ids.Length)); } }); progressDialog.Show(); }
private async Task RunProcessAsync() { string serverDirectory = Path.GetDirectoryName(_server.SRCDSPath); Directory.CreateDirectory(serverDirectory); _steamCMDProcess?.Dispose(); _steamCMDProcess = new Process() { StartInfo = new ProcessStartInfo() { FileName = _server.SteamCMDPath, Arguments = @"+login anonymous +force_install_dir ..\Server +app_update 232250 +quit", UseShellExecute = false, RedirectStandardOutput = true, CreateNoWindow = true }, EnableRaisingEvents = true }; _steamCMDProcess.Exited += OnProcessExited; _steamCMDProcess.Start(); string line; while ((line = await _steamCMDProcess.StandardOutput.ReadLineAsync()) != null) { if (IsDisposed) { break; } WriteMessage(line); _steamCMDParser.ParseLine(line); lblStatus.Text = "Status : " + _steamCMDParser.UpdateState; if (_steamCMDParser.Processed <= _steamCMDParser.Total) { lblProgress.Text = ProgressHelper.FormatProgressLine(_steamCMDParser.Processed, _steamCMDParser.Total); prgProgress.Value = ProgressHelper.GetProgressPercentage(_steamCMDParser.Processed, _steamCMDParser.Total); } } }
private void OnProgressChanged(object sender, EventArgs e) { lblProgress.Text = ProgressHelper.FormatProgressLine(_downloader.BytesDownloaded, _downloader.ContentLength); prgProgress.Value = ProgressHelper.GetProgressPercentage(_downloader.BytesDownloaded, _downloader.ContentLength); }