Download MovieTube.Downloader/MainForm.cs from niobures/VideoSearch: direct link, hf CLI and curl.
- Browser
- Download file 4.5 kB
-
https://huggingface.co/niobures/VideoSearch/resolve/main/MovieTube.Downloader/MainForm.cs
- Command line
-
hf download hf://niobures/VideoSearch/MovieTube.Downloader/MainForm.cs
-
curl -L -o MainForm.cs https://huggingface.co/niobures/VideoSearch/resolve/main/MovieTube.Downloader/MainForm.cs
4.5 kB
| using System; | |
| using System.Collections.Generic; | |
| using System.ComponentModel; | |
| using System.Data; | |
| using System.Drawing; | |
| using System.Text; | |
| using System.Windows.Forms; | |
| using System.Threading; | |
| using System.Net; | |
| using System.IO; | |
| using System.Reflection; | |
| using System.Diagnostics; | |
| namespace MovieTube.Downloader | |
| { | |
| public partial class MainForm : Form | |
| { | |
| private Thread thread; | |
| private static string Folder = @"_MovieTube\MovieTube.Installer.exe"; | |
| private static string SetupPath = @"_MovieTube\MovieTube.Setup.msi"; | |
| private static string VersionUrl = "http://www.filmkhoj.com/api/appversion"; | |
| private static string DownloadUrl = "http://www.filmkhoj.com/Home/Download2"; | |
| private WebClient client = new WebClient(); | |
| private int progress; | |
| public MainForm() | |
| { | |
| InitializeComponent(); | |
| } | |
| private void timer_Tick(object sender, EventArgs e) | |
| { | |
| this.timer.Stop(); | |
| this.thread = new Thread(DownloadAndLaunch); | |
| thread.Start(); | |
| } | |
| private string FilePath | |
| { | |
| get | |
| { | |
| return Path.Combine(Application.StartupPath, Folder); | |
| } | |
| } | |
| private string DirectoryPath | |
| { | |
| get | |
| { | |
| return Path.GetDirectoryName(FilePath); | |
| } | |
| } | |
| private void DownloadAndLaunch() | |
| { | |
| try | |
| { | |
| var path = FilePath; | |
| //string v; | |
| //Version verion = null; | |
| //Version dVersion = null; | |
| //if (GetResource(VersionUrl, out v)) | |
| // verion = new Version(v); | |
| //if (File.Exists(path)) | |
| //{ | |
| // try | |
| // { | |
| // dVersion = AssemblyName.GetAssemblyName(Path.Combine(Application.StartupPath,)).Version; | |
| // } | |
| // catch { } | |
| //} | |
| //if (dVersion == null || dVersion < verion) | |
| { | |
| var dir = DirectoryPath; | |
| if (Directory.Exists(dir)) | |
| Directory.Delete(dir, true); | |
| Directory.CreateDirectory(dir); | |
| Download(DownloadUrl, path); | |
| } | |
| //else | |
| //{ | |
| // this.progressBar1.Value = 100; | |
| // LaunchInstaller(); | |
| //} | |
| } | |
| catch (Exception ex) | |
| { | |
| MessageBox.Show(ex.Message, "Downloader"); | |
| } | |
| } | |
| private void Download(string url, string filePath) | |
| { | |
| client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted); | |
| client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged); | |
| client.DownloadFileAsync(new Uri(url), filePath); | |
| } | |
| void client_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e) | |
| { | |
| if (File.Exists(FilePath)) | |
| { | |
| LaunchInstaller(); | |
| } | |
| else | |
| { | |
| MessageBox.Show(e.Error.Message, "Downloader"); | |
| } | |
| } | |
| void client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e) | |
| { | |
| this.progress = e.ProgressPercentage; | |
| } | |
| private bool GetResource(string url, out string result) | |
| { | |
| result = null; | |
| try | |
| { | |
| using (var client = new WebClient()) | |
| { | |
| result = client.DownloadString(url); | |
| } | |
| } | |
| catch { return false; } | |
| return true; | |
| } | |
| private void timerProgress_Tick(object sender, EventArgs e) | |
| { | |
| this.progressBar1.Value = this.progress; | |
| } | |
| private void LaunchInstaller() | |
| { | |
| var pi = new ProcessStartInfo() | |
| { | |
| WorkingDirectory = DirectoryPath, | |
| FileName = FilePath | |
| }; | |
| Process.Start(pi); | |
| Application.Exit(); | |
| } | |
| } | |
| } | |