Bug fix: downloading PDFs without also Liberating books -- post-download verification step was failing

This commit is contained in:
Robert McRackan 2020-09-22 15:43:13 -04:00
parent 2b3f67fb99
commit e971d34948
3 changed files with 18 additions and 6 deletions

View File

@ -31,12 +31,18 @@ namespace FileLiberator
private static string getProposedDownloadFilePath(LibraryBook libraryBook) private static string getProposedDownloadFilePath(LibraryBook libraryBook)
{ {
// if audio file exists, get it's dir. else return base Book dir // if audio file exists, get it's dir. else return base Book dir
var destinationDir = var existingPath = Path.GetDirectoryName(AudibleFileStorage.Audio.GetPath(libraryBook.Book.AudibleProductId));
// this is safe b/c GetDirectoryName(null) == null var file = getdownloadUrl(libraryBook);
Path.GetDirectoryName(AudibleFileStorage.Audio.GetPath(libraryBook.Book.AudibleProductId))
?? AudibleFileStorage.PDF.StorageDirectory;
return Path.Combine(destinationDir, Path.GetFileName(getdownloadUrl(libraryBook))); if (existingPath != null)
return Path.Combine(existingPath, Path.GetFileName(file));
var full = FileUtility.GetValidFilename(
AudibleFileStorage.PDF.StorageDirectory,
libraryBook.Book.Title,
Path.GetExtension(file),
libraryBook.Book.AudibleProductId);
return full;
} }
private async Task downloadPdfAsync(LibraryBook libraryBook, string proposedDownloadFilePath) private async Task downloadPdfAsync(LibraryBook libraryBook, string proposedDownloadFilePath)

View File

@ -13,7 +13,7 @@
<!-- <PublishSingleFile>true</PublishSingleFile> --> <!-- <PublishSingleFile>true</PublishSingleFile> -->
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <RuntimeIdentifier>win-x64</RuntimeIdentifier>
<Version>4.0.7.2</Version> <Version>4.0.8.1</Version>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

View File

@ -10,6 +10,8 @@ namespace LibationWinForms.BookLiberation
{ {
public static async Task BackupSingleBookAsync(string productId, EventHandler<LibraryBook> completedAction = null) public static async Task BackupSingleBookAsync(string productId, EventHandler<LibraryBook> completedAction = null)
{ {
Serilog.Log.Information("Begin " + nameof(BackupSingleBookAsync) + " {@DebugInfo}", new { productId });
var backupBook = getWiredUpBackupBook(completedAction); var backupBook = getWiredUpBackupBook(completedAction);
var automatedBackupsForm = attachToBackupsForm(backupBook); var automatedBackupsForm = attachToBackupsForm(backupBook);
@ -20,6 +22,8 @@ namespace LibationWinForms.BookLiberation
public static async Task BackupAllBooksAsync(EventHandler<LibraryBook> completedAction = null) public static async Task BackupAllBooksAsync(EventHandler<LibraryBook> completedAction = null)
{ {
Serilog.Log.Information("Begin " + nameof(BackupAllBooksAsync));
var backupBook = getWiredUpBackupBook(completedAction); var backupBook = getWiredUpBackupBook(completedAction);
var automatedBackupsForm = attachToBackupsForm(backupBook); var automatedBackupsForm = attachToBackupsForm(backupBook);
@ -96,6 +100,8 @@ namespace LibationWinForms.BookLiberation
public static async Task BackupAllPdfsAsync(EventHandler<LibraryBook> completedAction = null) public static async Task BackupAllPdfsAsync(EventHandler<LibraryBook> completedAction = null)
{ {
Serilog.Log.Information("Begin " + nameof(BackupAllPdfsAsync));
var downloadPdf = getWiredUpDownloadPdf(completedAction); var downloadPdf = getWiredUpDownloadPdf(completedAction);
var automatedBackupsForm = attachToBackupsForm(downloadPdf); var automatedBackupsForm = attachToBackupsForm(downloadPdf);