Exemplo n.º 1
0
        private async Task ShowPreview(PreviewProviderFactory.PreviewType type, string filePath)
        {
            var previewProvider = _previewProviderFactory.Get(type);

            string selPath;

            if (File.Exists(filePath))
            {
                selPath = filePath;
            }
            else
            {
                selPath = UIFunctions.GetFile($"Open a Kindle {previewProvider.Name} file...", "", "ASC files|*.asc", _settings.outDir);
                if (!selPath.Contains(previewProvider.FilenameValidator))
                {
                    _logger.Log($"Invalid {previewProvider.Name} file.");
                    return;
                }
            }

            try
            {
                var previewForm = previewProvider.GenForm();
                await previewForm.Populate(selPath, _cancelTokens.Token);

                previewForm.ShowDialog();
            }
            catch (Exception ex)
            {
                _logger.Log("Error:\r\n" + ex.Message + "\r\n" + ex.StackTrace);
            }
        }
Exemplo n.º 2
0
        private void btnExtractTerms_Click(object sender, EventArgs e)
        {
            var 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
                    ? _termsService.ExtractTermsNew(new SQLiteConnection($"Data Source={selPath}; Version=3;"), true)
                    : _termsService.ExtractTermsOld(selPath);
                if (!Directory.Exists(Environment.CurrentDirectory + @"\xml\"))
                {
                    Directory.CreateDirectory(Environment.CurrentDirectory + @"\xml\");
                }
                var 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);
            }
        }
Exemplo n.º 3
0
 private void btnBrowseXML_Click(object sender, EventArgs e)
 {
     txtXMLFile.Text = UIFunctions.GetFile(txtXMLFile.Text, "", "XML files (*.xml)|*.xml|TXT files (*.txt)|*.txt");
 }