private void btnKindleExtras_Click(object sender, EventArgs e) { //Check current settings if (!File.Exists(txtMobi.Text)) { MessageBox.Show("Specified book was not found.", "Book Not Found"); return; } if (rdoShelfari.Checked && txtShelfari.Text == "") { MessageBox.Show("No Shelfari link was specified.", "Missing Shelfari Link"); return; } if (!File.Exists(settings.mobi_unpack)) { MessageBox.Show("Kindleunpack was not found. Please review the settings page.", "Kindleunpack Not Found"); return; } if (Properties.Settings.Default.realName.Trim().Length == 0 | Properties.Settings.Default.penName.Trim().Length == 0) { MessageBox.Show( "Both Real and Pen names are required for End Action\r\n" + "file creation. This information allows you to rate this\r\n" + "book on Amazon. Please review the settings page.", "Amazon Customer Details Not found"); return; } //Create temp dir and ensure it exists string randomFile = Functions.GetTempDirectory(); if (!Directory.Exists(randomFile)) { MessageBox.Show("Temporary path not accessible for some reason.", "Temporary Directory Error"); return; } //0 = asin, 1 = uniqid, 2 = databasename, 3 = rawML, 4 = author, 5 = title List<string> results; long rawMLSize = 0; if (settings.useKindleUnpack) { Log("Running Kindleunpack to get metadata..."); results = Functions.GetMetaData(txtMobi.Text, settings.outDir, randomFile, settings.mobi_unpack); if (!File.Exists(results[3])) { Log("Error: RawML could not be found, aborting.\r\nPath: " + results[3]); return; } rawMLSize = new FileInfo(results[3]).Length; } else { Log("Extracting metadata..."); try { Unpack.Metadata md = Functions.GetMetaDataInternal(txtMobi.Text, settings.outDir, false); rawMLSize = md.PDH.TextLength; results = md.getResults(); } catch (Exception ex) { Log("Error getting metadata: " + ex.Message); return; } } if (results.Count != 6) { Log(results[0]); return; } if (settings.saverawml && settings.useKindleUnpack) { Log("Saving rawML to dmp directory..."); File.Copy(results[3], Path.Combine(Environment.CurrentDirectory + @"\dmp", Path.GetFileName(results[3])), true); } // Added author name to log output Log(String.Format("Got metadata!\r\nDatabase Name: {0}\r\nASIN: {1}\r\nAuthor: {2}\r\nTitle: {3}\r\nUniqueID: {4}", results[2], results[0], results[4], results[5], results[1])); try { BookInfo bookInfo = new BookInfo(results[5], results[4], results[0], results[1], results[2], randomFile, Path.GetFileNameWithoutExtension(txtMobi.Text), txtShelfari.Text); Log("Attempting to build Author Profile..."); AuthorProfile ap = new AuthorProfile(bookInfo, this); if (!ap.complete) return; Log("Attempting to build Start Actions and End Actions..."); EndActions ea = new EndActions(ap, bookInfo, rawMLSize, this); if (!ea.complete) return; if (settings.useNewVersion) { ea.GenerateNew(); Log("Attempting to build Start Actions..."); ea.GenerateStartActions(); } else ea.GenerateOld(); if (Properties.Settings.Default.playSound) { System.Media.SoundPlayer player = new System.Media.SoundPlayer(Environment.CurrentDirectory + @"\done.wav"); player.Play(); } try { PopulateAPEAPreviews(ap, ea); } catch (Exception ex) { Log("Error populating extras preview windows: " + ex.Message); } } catch (Exception ex) { Log("An error occurred while creating the new Author Profile, Start Actions, and/or End Actions files: " + ex.Message); } }
private void btnKindleExtras_Click(object sender, EventArgs e) { //Check current settings if (!File.Exists(txtMobi.Text)) { MessageBox.Show("Specified book was not found.", "Book Not Found"); return; } if (rdoShelfari.Checked && txtShelfari.Text == "") { MessageBox.Show("No Shelfari link was specified.", "Missing Shelfari Link"); return; } if (!File.Exists(settings.mobi_unpack)) { MessageBox.Show("Kindleunpack was not found. Please review the settings page.", "Kindleunpack Not Found"); return; } if (Properties.Settings.Default.realName.Trim().Length == 0 | Properties.Settings.Default.penName.Trim().Length == 0) { MessageBox.Show( "Both Real and Pen names are required for End Action\r\n" + "file creation. This information allows you to rate this\r\n" + "book on Amazon. Please review the settings page.", "Amazon Customer Details Not found"); return; } //Create temp dir and ensure it exists string randomFile = Functions.GetTempDirectory(); if (!Directory.Exists(randomFile)) { MessageBox.Show("Temporary path not accessible for some reason.", "Temporary Directory Error"); return; } //0 = asin, 1 = uniqid, 2 = databasename, 3 = rawML, 4 = author, 5 = title List <string> results; long rawMLSize = 0; if (settings.useKindleUnpack) { Log("Running Kindleunpack to get metadata..."); results = Functions.GetMetaData(txtMobi.Text, settings.outDir, randomFile, settings.mobi_unpack); if (!File.Exists(results[3])) { Log("Error: RawML could not be found, aborting.\r\nPath: " + results[3]); return; } rawMLSize = new FileInfo(results[3]).Length; } else { Log("Extracting metadata..."); try { Unpack.Metadata md = Functions.GetMetaDataInternal(txtMobi.Text, settings.outDir, false); rawMLSize = md.PDH.TextLength; results = md.getResults(); } catch (Exception ex) { Log("Error getting metadata: " + ex.Message); return; } } if (results.Count != 6) { Log(results[0]); return; } if (settings.saverawml && settings.useKindleUnpack) { Log("Saving rawML to dmp directory..."); File.Copy(results[3], Path.Combine(Environment.CurrentDirectory + @"\dmp", Path.GetFileName(results[3])), true); } // Added author name to log output Log(String.Format("Got metadata!\r\nDatabase Name: {0}\r\nASIN: {1}\r\nAuthor: {2}\r\nTitle: {3}\r\nUniqueID: {4}", results[2], results[0], results[4], results[5], results[1])); try { BookInfo bookInfo = new BookInfo(results[5], results[4], results[0], results[1], results[2], randomFile, Functions.RemoveInvalidFileChars(results[5]), txtShelfari.Text); Log("Attempting to build Author Profile..."); AuthorProfile ap = new AuthorProfile(bookInfo, this); if (!ap.complete) { return; } Log("Attempting to build Start Actions and End Actions..."); EndActions ea = new EndActions(ap, bookInfo, rawMLSize, this); if (!ea.complete) { return; } if (settings.useNewVersion) { ea.GenerateNew(); Log("Attempting to build Start Actions..."); ea.GenerateStartActions(); } else { ea.GenerateOld(); } if (Properties.Settings.Default.playSound) { System.Media.SoundPlayer player = new System.Media.SoundPlayer(Environment.CurrentDirectory + @"\done.wav"); player.Play(); } try { PopulateAPEAPreviews(ap, ea); } catch (Exception ex) { Log("Error populating extras preview windows: " + ex.Message); } } catch (Exception ex) { Log("An error occurred while creating the new Author Profile, Start Actions, and/or End Actions files: " + ex.Message); } }