private void btnExtractTerms_Click(object sender, EventArgs e) { string selPath = UIFunctions.GetFile("Open a Kindle X-Ray file...", "", "ASC files|*.asc", _settings.outDir); if (selPath == "" || !selPath.Contains("XRAY.entities")) { Logger.Log("Invalid or no file selected."); return; } var newVer = XRayUtil.CheckXRayVersion(selPath); if (newVer == XRayUtil.XRayVersion.Invalid) { Logger.Log("Invalid X-Ray file."); return; } try { var terms = newVer == XRayUtil.XRayVersion.New ? XRayUtil.ExtractTermsNew(new SQLiteConnection($"Data Source={selPath}; Version=3;"), true) : XRayUtil.ExtractTermsOld(selPath); if (!Directory.Exists(Environment.CurrentDirectory + @"\xml\")) { Directory.CreateDirectory(Environment.CurrentDirectory + @"\xml\"); } string outfile = Environment.CurrentDirectory + @"\xml\" + Path.GetFileNameWithoutExtension(selPath) + ".xml"; Functions.Save(terms.ToList(), outfile); Logger.Log("Character data has been successfully extracted and saved to: " + outfile); } catch (Exception ex) { Logger.Log("Error:\r\n" + ex.Message + "\r\n" + ex.StackTrace); } }
private void btnBrowseXML_Click(object sender, EventArgs e) { txtXMLFile.Text = UIFunctions.GetFile(txtXMLFile.Text, "XML files (*.xml)|*.xml|TXT files (*.txt)|*.txt"); }