private void Button_Click(object sender, RoutedEventArgs e) { DialogInput dialogInput = new DialogInput(this, "输入数据库名称"); if (dialogInput.ShowDialog() == true) { string name = dialogInput.Text.ToLower(); if (vieModel_DBManagement.DataBases.Contains(name)) { new Msgbox(this, "已存在").ShowDialog(); return; } MySqlite db = new MySqlite("DataBase\\" + name); db.CreateTable(DataBase.SQLITETABLE_MOVIE); db.CreateTable(DataBase.SQLITETABLE_ACTRESS); db.CreateTable(DataBase.SQLITETABLE_LIBRARY); db.CreateTable(DataBase.SQLITETABLE_JAVDB); vieModel_DBManagement.DataBases.Add(name); //刷新主界面 RefreshMain(); } }
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { ComboBox comboBox = (ComboBox)sender; StackPanel sp = comboBox.Parent as StackPanel; TextBlock tb = sp.Children.OfType <TextBlock>().First(); StackPanel topsp = sp.Parent as StackPanel; TextBlock textBlock = topsp.Children.OfType <TextBlock>().First(); string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "DataBase", e.AddedItems[0].ToString() + ".sqlite"); double count = 0; long length = 0; if (File.Exists(path)) { using (MySqlite sqlite = new MySqlite(path, true)) { count = sqlite.SelectCountByTable("movie"); } length = new FileInfo(path).Length; } textBlock.Text = $"{Jvedio.Language.Resources.Number}:{count}\n{Jvedio.Language.Resources.FileSize}:{length.ToProperFileSize()}"; if (tb.Text == Jvedio.Language.Resources.Source) { src = path; } else { dst = path; } }
private void NewLibrary(object sender, RoutedEventArgs e) { DialogInput dialogInput = new DialogInput(this, Jvedio.Language.Resources.PleaseEnter); if (dialogInput.ShowDialog() == true) { string name = dialogInput.Text.ToLower(); if (vieModel_DBManagement.DataBases.Contains(name)) { new Msgbox(this, Jvedio.Language.Resources.Message_AlreadyExist).ShowDialog(); return; } MySqlite db = new MySqlite("DataBase\\" + name); db.CreateTable(DataBase.SQLITETABLE_MOVIE); db.CreateTable(DataBase.SQLITETABLE_ACTRESS); db.CreateTable(DataBase.SQLITETABLE_LIBRARY); db.CreateTable(DataBase.SQLITETABLE_JAVDB); vieModel_DBManagement.DataBases.Add(name); //刷新主界面 RefreshMain(); } }
private void Init() { Sqlite = new MySqlite(SqliteConfigPath); foreach (string key in tables.Keys) { if (!Sqlite.IsTableExist(key)) { Sqlite.CreateTable(tables[key]); } } }
private void InitDataBase() { //GlobalConnection.Init(); if (!File.Exists(AIDataBasePath)) { MySqlite db = new MySqlite(AIDataBasePath); db.CreateTable(DataBase.SQLITETABLE_BAIDUAI); db.CloseDB(); } else { //是否具有表结构 MySqlite db = new MySqlite(AIDataBasePath); if (!db.IsTableExist("baidu")) { db.CreateTable(DataBase.SQLITETABLE_BAIDUAI); } db.CloseDB(); } if (!File.Exists(TranslateDataBasePath)) { MySqlite db = new MySqlite(TranslateDataBasePath); db.CreateTable(DataBase.SQLITETABLE_YOUDAO); db.CreateTable(DataBase.SQLITETABLE_BAIDUTRANSLATE); db.CloseDB(); } else { //是否具有表结构 MySqlite db = new MySqlite(TranslateDataBasePath); if (!db.IsTableExist("youdao")) { db.CreateTable(DataBase.SQLITETABLE_YOUDAO); } if (!db.IsTableExist("baidu")) { db.CreateTable(DataBase.SQLITETABLE_BAIDUTRANSLATE); } db.CloseDB(); } if (!File.Exists(MagnetsDataBasePath)) { MySqlite db = new MySqlite(MagnetsDataBasePath); db.CreateTable(DataBase.SQLITETABLE_MAGNETS); db.CloseDB(); } }
public Movie SelectMovie(string ID) { string table = ((Main)Jvedio.GetWindow.Get("Main")).GetCurrentList(); if (string.IsNullOrEmpty(table)) { return(DataBase.SelectMovieByID(ID));; } else { using (MySqlite mySqlite = new MySqlite("mylist")) { return(mySqlite.SelectMovieBySql($"select * from {table} where id='{ID}'")); } } }
private void Button_Click(object sender, RoutedEventArgs e) { string url = ""; foreach (Server server in Servers) { if (server != null && !string.IsNullOrEmpty(server.Url) && !string.IsNullOrEmpty(server.ServerTitle)) { if (server.ServerTitle == ComboBox.Text) { url = server.Url; break; } } } string actor = ActorTextBlock.Text.Replace("当前演员 ", ""); if (string.IsNullOrEmpty(url) || string.IsNullOrEmpty(actor)) { return; } //检索影片 string id = ""; using (MySqlite mySqlite = new MySqlite("BusActress")) { id = mySqlite.SelectByField("id", "censored", actor, "name"); } if (string.IsNullOrEmpty(id)) { } else { //访问网址 if (!url.EndsWith("/")) { url += "/"; } url += $"star/{id}"; //(string html,int sc)= await Net.Http(url); //System.Console.WriteLine(html); } }
public void BeginDownLoad() { if (ActorList.Count == 0) { this.State = DownLoadState.Completed; return; } //先根据 BusActress.sqlite 获得 id List <Actress> actresslist = new List <Actress>(); foreach (Actress item in ActorList) { if (item != null && (item.smallimage == null || string.IsNullOrEmpty(item.birthday))) { Actress actress = item; MySqlite db = new MySqlite("BusActress"); if (item.id == "") { actress.id = db.GetInfoBySql($"select id from censored where name='{item.name}'"); if (item.imageurl == null) { actress.imageurl = db.GetInfoBySql($"select smallpicurl from censored where id='{actress.id}'"); } } else { if (item.imageurl == null) { actress.imageurl = db.GetInfoBySql($"select smallpicurl from censored where id='{actress.id}'"); } } db.CloseDB(); actresslist.Add(actress); } } ProgressBarUpdate.maximum = actresslist.Count; //TODO for (int i = 0; i < actresslist.Count; i++) { Console.WriteLine("开始进程 " + i); Thread threadObject = new Thread(DownLoad); threadObject.Start(actresslist[i]); } }
public void BeginDownLoad() { if (ActorList.Count == 0) { this.State = DownLoadState.Completed; return; } //先根据 BusActress.sqlite 获得 id List <Actress> actresslist = new List <Actress>(); foreach (Actress item in ActorList) { if (item != null && (item.smallimage == null || string.IsNullOrEmpty(item.birthday))) { Actress actress = item; MySqlite db = new MySqlite("BusActress"); if (string.IsNullOrEmpty(item.id)) { actress.id = db.GetInfoBySql($"select id from censored where name='{item.name}'"); } db.CloseDB(); if (string.IsNullOrEmpty(item.imageurl)) { //TODO 没法解决演员头像骑兵和步兵的问题 //默认骑兵吧,反正拍过步兵的肯定也拍过骑兵 //拼接网址 actress.imageurl = $"{JvedioServers.Bus.Url}pics/actress/{item.id}_a.jpg"; } actresslist.Add(actress); } } ProgressBarUpdate.maximum = actresslist.Count; for (int i = 0; i < actresslist.Count; i++) { Console.WriteLine("开始进程 " + i); Thread threadObject = new Thread(DownLoad); threadObject.Start(actresslist[i]); } }
private void InitDataBase() { if (!File.Exists(AIDataBasePath)) { MySqlite db = new MySqlite("AI"); db.CreateTable(DataBase.SQLITETABLE_BAIDUAI); db.CloseDB(); } else { //是否具有表结构 MySqlite db = new MySqlite("AI"); if (!db.IsTableExist("baidu")) { db.CreateTable(DataBase.SQLITETABLE_BAIDUAI); } db.CloseDB(); } if (!File.Exists(TranslateDataBasePath)) { MySqlite db = new MySqlite("Translate"); db.CreateTable(DataBase.SQLITETABLE_YOUDAO); db.CreateTable(DataBase.SQLITETABLE_BAIDUTRANSLATE); db.CloseDB(); } else { //是否具有表结构 MySqlite db = new MySqlite("Translate"); if (!db.IsTableExist("youdao")) { db.CreateTable(DataBase.SQLITETABLE_YOUDAO); } if (!db.IsTableExist("baidu")) { db.CreateTable(DataBase.SQLITETABLE_BAIDUTRANSLATE); } db.CloseDB(); } }
public static Task <Int32Rect> GetAIResult(Movie movie, string path) { return(Task.Run(() => { System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(path); string token = AccessToken.getAccessToken(); string FaceJson = FaceDetect.faceDetect(token, bitmap); Dictionary <string, string> result; Int32Rect int32Rect; (result, int32Rect) = FaceParse.Parse(FaceJson); if (result != null && int32Rect != Int32Rect.Empty) { MySqlite dataBase = new MySqlite("AI"); dataBase.SaveBaiduAIByID(movie.id, result); dataBase.CloseDB(); return int32Rect; } else { return Int32Rect.Empty; } })); }
private async void Button_Click_2(object sender, RoutedEventArgs e) { cts = new CancellationTokenSource(); cts.Token.Register(() => { HandyControl.Controls.Growl.Info("取消当前任务!", "DBManageGrowl"); }); ct = cts.Token; //数据库管理 var cb = CheckBoxWrapPanel.Children.OfType <CheckBox>().ToList(); string path = ""; if (vieModel_DBManagement.CurrentDataBase.ToLower() == "info") { path = $"{vieModel_DBManagement.CurrentDataBase}"; } else { path = $"DataBase\\{vieModel_DBManagement.CurrentDataBase}"; } MySqlite db = new MySqlite(path); if ((bool)cb[1].IsChecked || (bool)cb[2].IsChecked) { WaitingPanel.Visibility = Visibility.Visible; } if ((bool)cb[0].IsChecked) { //重置信息 db.DeleteTable("movie"); db.CreateTable(DataBase.SQLITETABLE_MOVIE); HandyControl.Controls.Growl.Success("成功重置信息", "DBManageGrowl"); } if ((bool)cb[1].IsChecked) { //删除不存在影片 long num = 0; await Task.Run(() => { var movies = db.SelectMoviesBySql("select * from movie"); try { movies.ForEach(movie => { ct.ThrowIfCancellationRequested(); if (!File.Exists(movie.filepath)) { db.DeleteByField("movie", "id", movie.id); num++; } }); } catch (OperationCanceledException ex) { Console.WriteLine($"{nameof(OperationCanceledException)} thrown with message: {ex.Message}"); return(false); } return(true); }, ct); HandyControl.Controls.Growl.Success($"成功删除 {num} 个不存在的影片", "DBManageGrowl"); } if ((bool)cb[2].IsChecked) { var movies = db.SelectMoviesBySql("select * from movie"); StringCollection ScanPath = ReadScanPathFromConfig(vieModel_DBManagement.CurrentDataBase); long num = 0; await Task.Run(() => { try { movies.ForEach(movie => { ct.ThrowIfCancellationRequested(); if (!IsPathIn(movie.filepath, ScanPath)) { db.DeleteByField("movie", "id", movie.id); num++; } }); } catch (OperationCanceledException ex) { Console.WriteLine($"{nameof(OperationCanceledException)} thrown with message: {ex.Message}"); return(false); } return(true); }, ct); HandyControl.Controls.Growl.Success($"成功删除 {num} 个不位于指定目录的影片", "DBManageGrowl"); } db.Vacuum(); db.CloseDB(); cts.Dispose(); WaitingPanel.Visibility = Visibility.Hidden; await Task.Run(() => { Task.Delay(500).Wait(); }); Main main = null; Window window = Jvedio.GetWindow.Get("Main"); if (window != null) { main = (Main)window; } main?.vieModel.Reset(); }
private void Rename(TextBox textBox) { Console.WriteLine("Rename"); string name = textBox.Text.ToLower(); if (name == beforeRename) { textBox.IsEnabled = false; textBox.IsReadOnly = true; textBox.Cursor = Cursors.Hand; beforeRename = ""; return; } if (beforeRename == "") { if (!string.IsNullOrWhiteSpace(name) && !string.IsNullOrEmpty(name) && !vieModel_StartUp.DataBases.Contains(name) && name.IndexOfAny(Path.GetInvalidFileNameChars()) == -1) { //新建 MySqlite db = new MySqlite("DataBase\\" + name); db.CreateTable(DataBase.SQLITETABLE_MOVIE); db.CreateTable(DataBase.SQLITETABLE_ACTRESS); db.CreateTable(DataBase.SQLITETABLE_LIBRARY); db.CreateTable(DataBase.SQLITETABLE_JAVDB); if (vieModel_StartUp.DataBases.Contains("新建视频库")) { vieModel_StartUp.DataBases.Remove("新建视频库"); } textBox.IsEnabled = false; textBox.IsReadOnly = true; textBox.Cursor = Cursors.Hand; vieModel_StartUp.DataBases.Add(name); vieModel_StartUp.DataBases.Add("新建视频库"); } else { textBox.Text = "新建视频库"; } } else { //重命名 if (vieModel_StartUp.DataBases.Contains(name)) { textBox.Text = beforeRename; //重复的 } else { //重命名 if (name.IndexOfAny(System.IO.Path.GetInvalidFileNameChars()) == -1) { try { File.Move(AppDomain.CurrentDomain.BaseDirectory + $"DataBase\\{beforeRename}.sqlite", AppDomain.CurrentDomain.BaseDirectory + $"DataBase\\{name}.sqlite"); } catch (Exception ex) { Console.WriteLine(ex.Message); Logger.LogE(ex); } } else { textBox.Text = beforeRename; } } beforeRename = ""; } textBox.IsEnabled = false; textBox.IsReadOnly = true; textBox.Cursor = Cursors.Hand; }
private void InitDataBase() { if (!File.Exists(InfoDataBasePath)) { MySqlite db = new MySqlite("Info"); db.CreateTable(DataBase.SQLITETABLE_MOVIE); db.CreateTable(DataBase.SQLITETABLE_ACTRESS); db.CreateTable(DataBase.SQLITETABLE_LIBRARY); db.CreateTable(DataBase.SQLITETABLE_JAVDB); db.CloseDB(); } else { //是否具有表结构 MySqlite db = new MySqlite("Info"); if (!db.IsTableExist("movie") || !db.IsTableExist("actress") || !db.IsTableExist("library") || !db.IsTableExist("javdb")) { db.CreateTable(DataBase.SQLITETABLE_MOVIE); db.CreateTable(DataBase.SQLITETABLE_ACTRESS); db.CreateTable(DataBase.SQLITETABLE_LIBRARY); db.CreateTable(DataBase.SQLITETABLE_JAVDB); } db.CloseDB(); } if (!File.Exists(AIDataBasePath)) { MySqlite db = new MySqlite("AI"); db.CreateTable(DataBase.SQLITETABLE_BAIDUAI); db.CloseDB(); } else { //是否具有表结构 MySqlite db = new MySqlite("AI"); if (!db.IsTableExist("baidu")) { db.CreateTable(DataBase.SQLITETABLE_BAIDUAI); } db.CloseDB(); } if (!File.Exists(TranslateDataBasePath)) { MySqlite db = new MySqlite("Translate"); db.CreateTable(DataBase.SQLITETABLE_YOUDAO); db.CreateTable(DataBase.SQLITETABLE_BAIDUTRANSLATE); db.CloseDB(); } else { //是否具有表结构 MySqlite db = new MySqlite("Translate"); if (!db.IsTableExist("youdao")) { db.CreateTable(DataBase.SQLITETABLE_YOUDAO); } if (!db.IsTableExist("baidu")) { db.CreateTable(DataBase.SQLITETABLE_BAIDUTRANSLATE); } db.CloseDB(); } }
private void Rename(TextBox textBox) { string name = textBox.Text; //不修改 if (name == beforeRename) { textBox.IsReadOnly = true; textBox.Cursor = Cursors.Hand; beforeRename = ""; return; } //新建一个数据库 if (beforeRename == "") { if (!string.IsNullOrWhiteSpace(name) && !string.IsNullOrEmpty(name) && !IsItemInList(name, vieModel_StartUp.DataBases) && name.IndexOfAny(Path.GetInvalidFileNameChars()) == -1) { //新建 MySqlite db = new MySqlite("DataBase\\" + name); db.CreateTable(DataBase.SQLITETABLE_MOVIE); db.CreateTable(DataBase.SQLITETABLE_ACTRESS); db.CreateTable(DataBase.SQLITETABLE_LIBRARY); db.CreateTable(DataBase.SQLITETABLE_JAVDB); db.CloseDB(); if (vieModel_StartUp.DataBases.Contains(Jvedio.Language.Resources.NewLibrary)) { vieModel_StartUp.DataBases.Remove(Jvedio.Language.Resources.NewLibrary); } textBox.IsReadOnly = true; textBox.Cursor = Cursors.Hand; vieModel_StartUp.DataBases.Add(name); vieModel_StartUp.DataBases.Add(Jvedio.Language.Resources.NewLibrary); } else { textBox.Text = Jvedio.Language.Resources.NewLibrary; } } else { //重命名 if (IsItemInList(name, vieModel_StartUp.DataBases)) { textBox.Text = beforeRename; //重复的 } else { //重命名 if (name.IndexOfAny(System.IO.Path.GetInvalidFileNameChars()) == -1) { try { File.Move(AppDomain.CurrentDomain.BaseDirectory + $"DataBase\\{beforeRename}.sqlite", AppDomain.CurrentDomain.BaseDirectory + $"DataBase\\{name}.sqlite"); } catch (Exception ex) { Console.WriteLine(ex.Message); Logger.LogE(ex); } } else { textBox.Text = beforeRename; } } beforeRename = ""; } textBox.IsReadOnly = true; textBox.Cursor = Cursors.Hand; textBox.TextAlignment = TextAlignment.Left; }
private async void Button_Click_2(object sender, RoutedEventArgs e) { Button button = (Button)sender; button.IsEnabled = false; cts = new CancellationTokenSource(); cts.Token.Register(() => { HandyControl.Controls.Growl.Info(Jvedio.Language.Resources.Cancel, GrowlToken); }); ct = cts.Token; //数据库管理 var cb = CheckBoxWrapPanel.Children.OfType <CheckBox>().ToList(); string path = $"DataBase\\{vieModel_DBManagement.CurrentDataBase}"; MySqlite db = new MySqlite(path); if ((bool)cb[0].IsChecked) { //重置信息 db.DeleteTable("movie"); db.CreateTable(DataBase.SQLITETABLE_MOVIE); //清空最近播放和最近创建 ClearDateBefore(DateTime.Now); db.Vacuum(); HandyControl.Controls.Growl.Success(Jvedio.Language.Resources.Message_Success, GrowlToken); } if ((bool)cb[1].IsChecked) { //删除不存在影片 long num = 0; await Task.Run(() => { var movies = db.SelectMoviesBySql("select * from movie"); try { vieModel_DBManagement.ProgressBarValue = 0; for (int i = 0; i < movies.Count; i++) { ct.ThrowIfCancellationRequested(); if (!File.Exists(movies[i].filepath)) { db.DeleteByField("movie", "id", movies[i].id); num++; } if (movies.Count > 0) { vieModel_DBManagement.ProgressBarValue = (int)((double)(i + 1) / (double)movies.Count * 100); } } db.Vacuum(); } catch (OperationCanceledException ex) { Console.WriteLine($"{nameof(OperationCanceledException)} thrown with message: {ex.Message}"); } }, ct); HandyControl.Controls.Growl.Success($"{ Jvedio.Language.Resources.SuccessDelete} {num}", GrowlToken); } if ((bool)cb[2].IsChecked) { var movies = db.SelectMoviesBySql("select * from movie"); StringCollection ScanPath = ReadScanPathFromConfig(vieModel_DBManagement.CurrentDataBase); long num = 0; await Task.Run(() => { try { vieModel_DBManagement.ProgressBarValue = 0; for (int i = 0; i < movies.Count; i++) { ct.ThrowIfCancellationRequested(); if (!IsPathIn(movies[i].filepath, ScanPath)) { db.DeleteByField("movie", "id", movies[i].id); num++; } if (movies.Count > 0) { vieModel_DBManagement.ProgressBarValue = (int)((double)(i + 1) / (double)movies.Count * 100); } } db.Vacuum(); } catch (OperationCanceledException ex) { Console.WriteLine($"{nameof(OperationCanceledException)} thrown with message: {ex.Message}"); } }, ct); HandyControl.Controls.Growl.Success($"{Jvedio.Language.Resources.SuccessDelete} {num}", GrowlToken); } if ((bool)cb[3].IsChecked) { if (Properties.Settings.Default.SaveInfoToNFO) { var detailMovies = db.SelectDetailMoviesBySql("select * from movie"); await Task.Run(() => { try { vieModel_DBManagement.ProgressBarValue = 0; for (int i = 0; i < detailMovies.Count; i++) { ct.ThrowIfCancellationRequested(); FileProcess.SaveNfo(detailMovies[i]); if (detailMovies.Count > 0) { vieModel_DBManagement.ProgressBarValue = (int)((double)(i + 1) / (double)detailMovies.Count * 100); } } } catch (OperationCanceledException ex) { Console.WriteLine($"{nameof(OperationCanceledException)} thrown with message: {ex.Message}"); } }, ct); HandyControl.Controls.Growl.Success($"{Jvedio.Language.Resources.Message_Success}", GrowlToken); } else { HandyControl.Controls.Growl.Success($"{Jvedio.Language.Resources.setnfo}", GrowlToken); } } db.CloseDB(); cts.Dispose(); await Task.Run(() => { Task.Delay(500).Wait(); }); Main main = (Main)GetWindowByName("Main"); main?.vieModel.Reset(); button.IsEnabled = true; }