Expose internal to Test projects
This commit is contained in:
parent
8e358d8f04
commit
68da9779da
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net5.0</TargetFramework>
|
<TargetFramework>net5.0</TargetFramework>
|
||||||
<Version>6.2.8.1</Version>
|
<Version>6.2.8.2</Version>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
1
AudibleUtilities/_InternalsVisible.cs
Normal file
1
AudibleUtilities/_InternalsVisible.cs
Normal file
@ -0,0 +1 @@
|
|||||||
|
[assembly: System.Runtime.CompilerServices.InternalsVisibleTo(nameof(AudibleUtilities) + ".Tests")]
|
||||||
@ -9,15 +9,18 @@ using LibationFileManager;
|
|||||||
|
|
||||||
namespace FileLiberator
|
namespace FileLiberator
|
||||||
{
|
{
|
||||||
public class MultipartRenamer
|
public static class AudioFileStorageExt
|
||||||
{
|
{
|
||||||
LibraryBook libraryBook;
|
private class MultipartRenamer
|
||||||
|
{
|
||||||
public MultipartRenamer(LibraryBook libraryBook) => this.libraryBook = libraryBook;
|
public LibraryBook LibraryBook { get; init; }
|
||||||
|
|
||||||
public string MultipartFilename(string outputFileName, int partsPosition, int partsTotal, AAXClean.NewSplitCallback newSplitCallback)
|
public string MultipartFilename(string outputFileName, int partsPosition, int partsTotal, AAXClean.NewSplitCallback newSplitCallback)
|
||||||
{
|
{
|
||||||
var template = Path.ChangeExtension(outputFileName, null) + " - <chapter> - <title>" + Path.GetExtension(outputFileName);
|
var extension = Path.GetExtension(outputFileName);
|
||||||
|
var baseFileName = AudioFileStorageExt.GetValidFilename(AudibleFileStorage.DecryptInProgressDirectory, LibraryBook.Book.Title, extension, LibraryBook);
|
||||||
|
|
||||||
|
var template = Path.ChangeExtension(baseFileName, null) + " - <chapter> - <title>" + extension;
|
||||||
|
|
||||||
var fileTemplate = new FileTemplate(template) { IllegalCharacterReplacements = " " };
|
var fileTemplate = new FileTemplate(template) { IllegalCharacterReplacements = " " };
|
||||||
fileTemplate.AddParameterReplacement("chapter", FileUtility.GetSequenceFormatted(partsPosition, partsTotal));
|
fileTemplate.AddParameterReplacement("chapter", FileUtility.GetSequenceFormatted(partsPosition, partsTotal));
|
||||||
@ -27,24 +30,24 @@ namespace FileLiberator
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class AudioFileStorageExt
|
public static Func<string, int, int, AAXClean.NewSplitCallback, string> CreateMultipartRenamerFunc(this AudioFileStorage _, LibraryBook libraryBook)
|
||||||
{
|
=> CreateMultipartRenamerFunc(libraryBook);
|
||||||
public static MultipartRenamer CreateMultipartRenamer(this AudioFileStorage _, LibraryBook libraryBook) => CreateMultipartRenamer(libraryBook);
|
private static Func<string, int, int, AAXClean.NewSplitCallback, string> CreateMultipartRenamerFunc(LibraryBook libraryBook)
|
||||||
public static MultipartRenamer CreateMultipartRenamer(LibraryBook libraryBook) => new(libraryBook);
|
=> new MultipartRenamer { LibraryBook = libraryBook }.MultipartFilename;
|
||||||
|
|
||||||
public static string GetInProgressFilename(this AudioFileStorage _, LibraryBook libraryBook, string extension)
|
public static string GetInProgressFilename(this AudioFileStorage _, LibraryBook libraryBook, string extension)
|
||||||
=> GetInProgressFilename(libraryBook, extension);
|
=> GetInProgressFilename(libraryBook, extension);
|
||||||
public static string GetInProgressFilename(LibraryBook libraryBook, string extension)
|
private static string GetInProgressFilename(LibraryBook libraryBook, string extension)
|
||||||
=> GetValidFilename(AudibleFileStorage.DecryptInProgressDirectory, libraryBook.Book.Title, extension, libraryBook);
|
=> GetValidFilename(AudibleFileStorage.DecryptInProgressDirectory, libraryBook.Book.Title, extension, libraryBook);
|
||||||
|
|
||||||
public static string GetBooksDirectoryFilename(this AudioFileStorage _, LibraryBook libraryBook, string extension)
|
public static string GetBooksDirectoryFilename(this AudioFileStorage _, LibraryBook libraryBook, string extension)
|
||||||
=> GetBooksDirectoryFilename(libraryBook, extension);
|
=> GetBooksDirectoryFilename(libraryBook, extension);
|
||||||
public static string GetBooksDirectoryFilename(LibraryBook libraryBook, string extension)
|
private static string GetBooksDirectoryFilename(LibraryBook libraryBook, string extension)
|
||||||
=> GetValidFilename(AudibleFileStorage.BooksDirectory, libraryBook.Book.Title, extension, libraryBook);
|
=> GetValidFilename(AudibleFileStorage.BooksDirectory, libraryBook.Book.Title, extension, libraryBook);
|
||||||
|
|
||||||
public static string CreateDestinationDirectory(this AudioFileStorage _, LibraryBook libraryBook)
|
public static string CreateDestinationDirectory(this AudioFileStorage _, LibraryBook libraryBook)
|
||||||
=> CreateDestinationDirectory(libraryBook);
|
=> CreateDestinationDirectory(libraryBook);
|
||||||
public static string CreateDestinationDirectory(LibraryBook libraryBook)
|
private static string CreateDestinationDirectory(LibraryBook libraryBook)
|
||||||
{
|
{
|
||||||
var title = libraryBook.Book.Title;
|
var title = libraryBook.Book.Title;
|
||||||
|
|
||||||
@ -59,7 +62,7 @@ namespace FileLiberator
|
|||||||
return destinationDir;
|
return destinationDir;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string GetValidFilename(string dirFullPath, string filename, string extension, LibraryBook libraryBook)
|
internal static string GetValidFilename(string dirFullPath, string filename, string extension, LibraryBook libraryBook)
|
||||||
{
|
{
|
||||||
ArgumentValidator.EnsureNotNullOrWhiteSpace(dirFullPath, nameof(dirFullPath));
|
ArgumentValidator.EnsureNotNullOrWhiteSpace(dirFullPath, nameof(dirFullPath));
|
||||||
ArgumentValidator.EnsureNotNullOrWhiteSpace(filename, nameof(filename));
|
ArgumentValidator.EnsureNotNullOrWhiteSpace(filename, nameof(filename));
|
||||||
|
|||||||
@ -123,7 +123,7 @@ namespace FileLiberator
|
|||||||
= contentLic.DrmType != AudibleApi.Common.DrmType.Adrm ? new UnencryptedAudiobookDownloader(outFileName, cacheDir, audiobookDlLic)
|
= contentLic.DrmType != AudibleApi.Common.DrmType.Adrm ? new UnencryptedAudiobookDownloader(outFileName, cacheDir, audiobookDlLic)
|
||||||
: Configuration.Instance.SplitFilesByChapter ? new AaxcDownloadMultiConverter(
|
: Configuration.Instance.SplitFilesByChapter ? new AaxcDownloadMultiConverter(
|
||||||
outFileName, cacheDir, audiobookDlLic, outputFormat,
|
outFileName, cacheDir, audiobookDlLic, outputFormat,
|
||||||
AudibleFileStorage.Audio.CreateMultipartRenamer(libraryBook).MultipartFilename
|
AudibleFileStorage.Audio.CreateMultipartRenamerFunc(libraryBook)
|
||||||
)
|
)
|
||||||
: new AaxcDownloadSingleConverter(outFileName, cacheDir, audiobookDlLic, outputFormat);
|
: new AaxcDownloadSingleConverter(outFileName, cacheDir, audiobookDlLic, outputFormat);
|
||||||
abDownloader.DecryptProgressUpdate += (_, progress) => OnStreamingProgressChanged(progress);
|
abDownloader.DecryptProgressUpdate += (_, progress) => OnStreamingProgressChanged(progress);
|
||||||
|
|||||||
1
FileLiberator/_InternalsVisible.cs
Normal file
1
FileLiberator/_InternalsVisible.cs
Normal file
@ -0,0 +1 @@
|
|||||||
|
[assembly: System.Runtime.CompilerServices.InternalsVisibleTo(nameof(FileLiberator) + ".Tests")]
|
||||||
1
FileManager/_InternalsVisible.cs
Normal file
1
FileManager/_InternalsVisible.cs
Normal file
@ -0,0 +1 @@
|
|||||||
|
[assembly: System.Runtime.CompilerServices.InternalsVisibleTo(nameof(FileManager) + ".Tests")]
|
||||||
1
LibationSearchEngine/_InternalsVisible.cs
Normal file
1
LibationSearchEngine/_InternalsVisible.cs
Normal file
@ -0,0 +1 @@
|
|||||||
|
[assembly: System.Runtime.CompilerServices.InternalsVisibleTo(nameof(LibationSearchEngine) + ".Tests")]
|
||||||
Loading…
x
Reference in New Issue
Block a user