Clicking on red stoplight now only decrypts that book with no conformation.
This commit is contained in:
parent
0be2a17537
commit
f284f53edd
@ -47,13 +47,14 @@ namespace LibationWinForms.BookLiberation
|
|||||||
Serilog.Log.Logger.Information("Begin " + nameof(BackupSingleBookAsync) + " {@DebugInfo}", new { productId });
|
Serilog.Log.Logger.Information("Begin " + nameof(BackupSingleBookAsync) + " {@DebugInfo}", new { productId });
|
||||||
|
|
||||||
var backupBook = getWiredUpBackupBook(completedAction);
|
var backupBook = getWiredUpBackupBook(completedAction);
|
||||||
|
|
||||||
(AutomatedBackupsForm automatedBackupsForm, LogMe logMe) = attachToBackupsForm(backupBook);
|
(Action unsibscribeEvents, LogMe logMe) = attachToBackupsForm(backupBook);
|
||||||
automatedBackupsForm.KeepGoingVisible = false;
|
|
||||||
|
|
||||||
var libraryBook = IProcessableExt.GetSingleLibraryBook(productId);
|
var libraryBook = IProcessableExt.GetSingleLibraryBook(productId);
|
||||||
// continue even if libraryBook is null. we'll display even that in the processing box
|
// continue even if libraryBook is null. we'll display even that in the processing box
|
||||||
await new BackupSingle(logMe, backupBook, automatedBackupsForm, libraryBook).RunBackupAsync();
|
await new BackupSingle(logMe, backupBook, libraryBook).RunBackupAsync();
|
||||||
|
|
||||||
|
unsibscribeEvents();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static async Task BackupAllBooksAsync(EventHandler<LibraryBook> completedAction = null)
|
public static async Task BackupAllBooksAsync(EventHandler<LibraryBook> completedAction = null)
|
||||||
@ -61,8 +62,12 @@ namespace LibationWinForms.BookLiberation
|
|||||||
Serilog.Log.Logger.Information("Begin " + nameof(BackupAllBooksAsync));
|
Serilog.Log.Logger.Information("Begin " + nameof(BackupAllBooksAsync));
|
||||||
|
|
||||||
var backupBook = getWiredUpBackupBook(completedAction);
|
var backupBook = getWiredUpBackupBook(completedAction);
|
||||||
|
var automatedBackupsForm = new AutomatedBackupsForm();
|
||||||
|
|
||||||
|
(Action unsibscribeEvents, LogMe logMe) = attachToBackupsForm(backupBook, automatedBackupsForm);
|
||||||
|
|
||||||
|
automatedBackupsForm.FormClosing += (_, __) => unsibscribeEvents();
|
||||||
|
|
||||||
(AutomatedBackupsForm automatedBackupsForm, LogMe logMe) = attachToBackupsForm(backupBook);
|
|
||||||
await new BackupLoop(logMe, backupBook, automatedBackupsForm).RunBackupAsync();
|
await new BackupLoop(logMe, backupBook, automatedBackupsForm).RunBackupAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -93,11 +98,10 @@ namespace LibationWinForms.BookLiberation
|
|||||||
|
|
||||||
private static void updateIsLiberated(object sender, LibraryBook e) => ApplicationServices.SearchEngineCommands.UpdateIsLiberated(e.Book);
|
private static void updateIsLiberated(object sender, LibraryBook e) => ApplicationServices.SearchEngineCommands.UpdateIsLiberated(e.Book);
|
||||||
|
|
||||||
private static (AutomatedBackupsForm, LogMe) attachToBackupsForm(BackupBook backupBook)
|
private static (Action unsibscribeEvents, LogMe) attachToBackupsForm(BackupBook backupBook, AutomatedBackupsForm automatedBackupsForm = null)
|
||||||
{
|
{
|
||||||
#region create form and logger
|
#region create logger
|
||||||
var automatedBackupsForm = new AutomatedBackupsForm();
|
var logMe = automatedBackupsForm is null? new LogMe() : LogMe.RegisterForm(automatedBackupsForm);
|
||||||
var logMe = LogMe.RegisterForm(automatedBackupsForm);
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region define how model actions will affect form behavior
|
#region define how model actions will affect form behavior
|
||||||
@ -121,7 +125,7 @@ namespace LibationWinForms.BookLiberation
|
|||||||
|
|
||||||
#region when form closes, unsubscribe from model's events
|
#region when form closes, unsubscribe from model's events
|
||||||
// unsubscribe so disposed forms aren't still trying to receive notifications
|
// unsubscribe so disposed forms aren't still trying to receive notifications
|
||||||
automatedBackupsForm.FormClosing += (_, __) =>
|
Action unsibscribe = () =>
|
||||||
{
|
{
|
||||||
backupBook.DecryptBook.Begin -= decryptBookBegin;
|
backupBook.DecryptBook.Begin -= decryptBookBegin;
|
||||||
backupBook.DecryptBook.StatusUpdate -= statusUpdate;
|
backupBook.DecryptBook.StatusUpdate -= statusUpdate;
|
||||||
@ -132,7 +136,7 @@ namespace LibationWinForms.BookLiberation
|
|||||||
};
|
};
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
return (automatedBackupsForm, logMe);
|
return (unsibscribe, logMe);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static async Task BackupAllPdfsAsync(EventHandler<LibraryBook> completedAction = null)
|
public static async Task BackupAllPdfsAsync(EventHandler<LibraryBook> completedAction = null)
|
||||||
@ -367,7 +371,7 @@ namespace LibationWinForms.BookLiberation
|
|||||||
protected IProcessable Processable { get; }
|
protected IProcessable Processable { get; }
|
||||||
protected AutomatedBackupsForm AutomatedBackupsForm { get; }
|
protected AutomatedBackupsForm AutomatedBackupsForm { get; }
|
||||||
|
|
||||||
protected BackupRunner(LogMe logMe, IProcessable processable, AutomatedBackupsForm automatedBackupsForm)
|
protected BackupRunner(LogMe logMe, IProcessable processable, AutomatedBackupsForm automatedBackupsForm = null)
|
||||||
{
|
{
|
||||||
LogMe = logMe;
|
LogMe = logMe;
|
||||||
Processable = processable;
|
Processable = processable;
|
||||||
@ -382,7 +386,7 @@ namespace LibationWinForms.BookLiberation
|
|||||||
|
|
||||||
public async Task RunBackupAsync()
|
public async Task RunBackupAsync()
|
||||||
{
|
{
|
||||||
AutomatedBackupsForm.Show();
|
AutomatedBackupsForm?.Show();
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@ -393,7 +397,7 @@ namespace LibationWinForms.BookLiberation
|
|||||||
LogMe.Error(ex);
|
LogMe.Error(ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
AutomatedBackupsForm.FinalizeUI();
|
AutomatedBackupsForm?.FinalizeUI();
|
||||||
LogMe.Info("DONE");
|
LogMe.Info("DONE");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -454,8 +458,8 @@ An error occurred while trying to process this book. Skip this book permanently?
|
|||||||
protected override MessageBoxButtons SkipDialogButtons => MessageBoxButtons.YesNo;
|
protected override MessageBoxButtons SkipDialogButtons => MessageBoxButtons.YesNo;
|
||||||
protected override DialogResult CreateSkipFileResult => DialogResult.Yes;
|
protected override DialogResult CreateSkipFileResult => DialogResult.Yes;
|
||||||
|
|
||||||
public BackupSingle(LogMe logMe, IProcessable processable, AutomatedBackupsForm automatedBackupsForm, LibraryBook libraryBook)
|
public BackupSingle(LogMe logMe, IProcessable processable, LibraryBook libraryBook)
|
||||||
: base(logMe, processable, automatedBackupsForm)
|
: base(logMe, processable)
|
||||||
{
|
{
|
||||||
_libraryBook = libraryBook;
|
_libraryBook = libraryBook;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -182,15 +182,7 @@ namespace LibationWinForms
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// not liberated: liberate
|
await BookLiberation.ProcessorAutomationController.BackupSingleBookAsync(productId, (_, __) => RefreshRow(productId));
|
||||||
var msg
|
|
||||||
= "Liberate entire library instead?"
|
|
||||||
+ "\r\n\r\nClick Yes to begin liberating your entire library"
|
|
||||||
+ "\r\n\r\nClick No to liberate this book only";
|
|
||||||
if (MessageBox.Show(msg, "Liberate entire library?", MessageBoxButtons.YesNo) == DialogResult.Yes)
|
|
||||||
await BookLiberation.ProcessorAutomationController.BackupAllBooksAsync((_, libraryBook) => RefreshRow(libraryBook.Book.AudibleProductId));
|
|
||||||
else
|
|
||||||
await BookLiberation.ProcessorAutomationController.BackupSingleBookAsync(productId, (_, __) => RefreshRow(productId));
|
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user