├── .editorconfig ├── .github ├── release-drafter.yml ├── renovate.json └── workflows │ ├── build.yaml │ ├── changelog.yaml │ ├── command-dispatch.yaml │ ├── command-rebase.yaml │ ├── publish-unstable.yaml │ ├── publish.yaml │ ├── scan-codeql.yaml │ ├── sync-labels.yaml │ └── test.yaml ├── .gitignore ├── .vscode ├── extensions.json ├── launch.json ├── settings.json └── tasks.json ├── Directory.Build.props ├── Jellyfin.Plugin.Bookshelf.sln ├── Jellyfin.Plugin.Bookshelf ├── Common │ ├── BookFileNameParser.cs │ └── BookFileNameParserResult.cs ├── Configuration │ ├── PluginConfiguration.cs │ └── configPage.html ├── Jellyfin.Plugin.Bookshelf.csproj ├── Plugin.cs ├── PluginServiceRegistrator.cs ├── Properties │ └── AssemblyInfo.cs └── Providers │ ├── BookProviderFromOpf.cs │ ├── ComicBookImageProvider.cs │ ├── ComicBookInfo │ ├── ComicBookInfoCredit.cs │ ├── ComicBookInfoFormat.cs │ ├── ComicBookInfoMetadata.cs │ ├── ComicBookInfoProvider.cs │ └── IComicBookInfoUtilities.cs │ ├── ComicFileProvider.cs │ ├── ComicInfo │ ├── ComicInfoXmlUtilities.cs │ ├── ExternalComicInfoProvider.cs │ ├── IComicInfoXmlUtilities.cs │ └── InternalComicInfoProvider.cs │ ├── ComicVine │ ├── BaseComicVineProvider.cs │ ├── Books │ │ ├── ComicVineExternalId.cs │ │ ├── ComicVineExternalUrlProvider.cs │ │ ├── ComicVineImageProvider.cs │ │ └── ComicVineMetadataProvider.cs │ ├── Cache │ │ ├── ComicVineMetadataCacheManager.cs │ │ └── IComicVineMetadataCacheManager.cs │ ├── ComicVineApiKeyProvider.cs │ ├── ComicVineApiUrls.cs │ ├── ComicVineConstants.cs │ ├── IComicVineApiKeyProvider.cs │ ├── JsonSnakeCaseNamingPolicy.cs │ ├── Models │ │ ├── BaseApiResponse.cs │ │ ├── ImageList.cs │ │ ├── IssueDetails.cs │ │ ├── IssueSearch.cs │ │ ├── ItemApiResponse.cs │ │ ├── PersonCredit.cs │ │ ├── PersonCreditRole.cs │ │ ├── PersonDetails.cs │ │ ├── PublisherOverview.cs │ │ ├── SearchApiResponse.cs │ │ ├── VolumeDetails.cs │ │ └── VolumeOverview.cs │ └── Persons │ │ ├── ComicVinePersonExternalId.cs │ │ ├── ComicVinePersonImageProvider.cs │ │ └── ComicVinePersonProvider.cs │ ├── Epub │ ├── EpubMetadataImageProvider.cs │ ├── EpubMetadataProvider.cs │ └── EpubUtils.cs │ ├── GoogleBooks │ ├── BaseGoogleBooksProvider.cs │ ├── BookResult.cs │ ├── Error.cs │ ├── ErrorDetails.cs │ ├── ErrorResponse.cs │ ├── GoogleApiUrls.cs │ ├── GoogleBooksConstants.cs │ ├── GoogleBooksExternalId.cs │ ├── GoogleBooksExternalUrlProvider.cs │ ├── GoogleBooksImageProvider.cs │ ├── GoogleBooksProvider.cs │ ├── ImageLinks.cs │ ├── SearchResult.cs │ └── VolumeInfo.cs │ ├── IComicFileProvider.cs │ ├── ISBNExternalId.cs │ ├── ISBNExternalUrlProvider.cs │ └── OpfReader.cs ├── LICENSE ├── README.md ├── jellyfin.ruleset └── tests └── Jellyfin.Plugin.Bookshelf.Tests ├── BookFileNameParserTests.cs ├── ComicBookInfoProviderTest.cs ├── ComicInfoXmlUtilitiesTest.cs ├── ComicVineImageProviderTests.cs ├── ComicVinePersonImageProviderTests.cs ├── ComicVinePersonProviderTests.cs ├── ComicVineProviderTests.cs ├── Fixtures ├── comic-vine-issue-search-named-issues.json ├── comic-vine-issue-search-numbered-issues.json ├── comic-vine-person-search.json ├── comic-vine-person-with-description.json ├── comic-vine-person.json ├── comic-vine-single-issue.json ├── comic-vine-single-numbered-issue.json ├── comic-vine-single-volume.json ├── google-books-single-volume-en.json ├── google-books-single-volume-fr.json └── google-books-volume-search.json ├── GoogleBooksImageProviderTests.cs ├── GoogleBooksProviderTests.cs ├── Http ├── MockHttpMessageHandler.cs └── MockHttpResponse.cs ├── Jellyfin.Plugin.Bookshelf.Tests.csproj ├── TestHelpers.cs └── Usings.cs /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/.editorconfig -------------------------------------------------------------------------------- /.github/release-drafter.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/.github/release-drafter.yml -------------------------------------------------------------------------------- /.github/renovate.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/.github/renovate.json -------------------------------------------------------------------------------- /.github/workflows/build.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/.github/workflows/build.yaml -------------------------------------------------------------------------------- /.github/workflows/changelog.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/.github/workflows/changelog.yaml -------------------------------------------------------------------------------- /.github/workflows/command-dispatch.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/.github/workflows/command-dispatch.yaml -------------------------------------------------------------------------------- /.github/workflows/command-rebase.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/.github/workflows/command-rebase.yaml -------------------------------------------------------------------------------- /.github/workflows/publish-unstable.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/.github/workflows/publish-unstable.yaml -------------------------------------------------------------------------------- /.github/workflows/publish.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/.github/workflows/publish.yaml -------------------------------------------------------------------------------- /.github/workflows/scan-codeql.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/.github/workflows/scan-codeql.yaml -------------------------------------------------------------------------------- /.github/workflows/sync-labels.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/.github/workflows/sync-labels.yaml -------------------------------------------------------------------------------- /.github/workflows/test.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/.github/workflows/test.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/.gitignore -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/.vscode/extensions.json -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/.vscode/tasks.json -------------------------------------------------------------------------------- /Directory.Build.props: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Directory.Build.props -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf.sln -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Common/BookFileNameParser.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Common/BookFileNameParser.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Common/BookFileNameParserResult.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Common/BookFileNameParserResult.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Configuration/PluginConfiguration.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Configuration/PluginConfiguration.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Configuration/configPage.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Configuration/configPage.html -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Jellyfin.Plugin.Bookshelf.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Jellyfin.Plugin.Bookshelf.csproj -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Plugin.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Plugin.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/PluginServiceRegistrator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/PluginServiceRegistrator.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | 3 | [assembly: InternalsVisibleTo("Jellyfin.Plugin.Bookshelf.Tests")] 4 | -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/BookProviderFromOpf.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/BookProviderFromOpf.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicBookImageProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicBookImageProvider.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicBookInfo/ComicBookInfoCredit.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicBookInfo/ComicBookInfoCredit.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicBookInfo/ComicBookInfoFormat.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicBookInfo/ComicBookInfoFormat.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicBookInfo/ComicBookInfoMetadata.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicBookInfo/ComicBookInfoMetadata.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicBookInfo/ComicBookInfoProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicBookInfo/ComicBookInfoProvider.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicBookInfo/IComicBookInfoUtilities.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicBookInfo/IComicBookInfoUtilities.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicFileProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicFileProvider.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicInfo/ComicInfoXmlUtilities.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicInfo/ComicInfoXmlUtilities.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicInfo/ExternalComicInfoProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicInfo/ExternalComicInfoProvider.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicInfo/IComicInfoXmlUtilities.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicInfo/IComicInfoXmlUtilities.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicInfo/InternalComicInfoProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicInfo/InternalComicInfoProvider.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicVine/BaseComicVineProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicVine/BaseComicVineProvider.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Books/ComicVineExternalId.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Books/ComicVineExternalId.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Books/ComicVineExternalUrlProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Books/ComicVineExternalUrlProvider.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Books/ComicVineImageProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Books/ComicVineImageProvider.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Books/ComicVineMetadataProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Books/ComicVineMetadataProvider.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Cache/ComicVineMetadataCacheManager.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Cache/ComicVineMetadataCacheManager.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Cache/IComicVineMetadataCacheManager.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Cache/IComicVineMetadataCacheManager.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicVine/ComicVineApiKeyProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicVine/ComicVineApiKeyProvider.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicVine/ComicVineApiUrls.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicVine/ComicVineApiUrls.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicVine/ComicVineConstants.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicVine/ComicVineConstants.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicVine/IComicVineApiKeyProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicVine/IComicVineApiKeyProvider.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicVine/JsonSnakeCaseNamingPolicy.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicVine/JsonSnakeCaseNamingPolicy.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Models/BaseApiResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Models/BaseApiResponse.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Models/ImageList.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Models/ImageList.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Models/IssueDetails.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Models/IssueDetails.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Models/IssueSearch.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Models/IssueSearch.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Models/ItemApiResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Models/ItemApiResponse.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Models/PersonCredit.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Models/PersonCredit.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Models/PersonCreditRole.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Models/PersonCreditRole.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Models/PersonDetails.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Models/PersonDetails.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Models/PublisherOverview.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Models/PublisherOverview.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Models/SearchApiResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Models/SearchApiResponse.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Models/VolumeDetails.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Models/VolumeDetails.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Models/VolumeOverview.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Models/VolumeOverview.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Persons/ComicVinePersonExternalId.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Persons/ComicVinePersonExternalId.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Persons/ComicVinePersonImageProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Persons/ComicVinePersonImageProvider.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Persons/ComicVinePersonProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ComicVine/Persons/ComicVinePersonProvider.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/Epub/EpubMetadataImageProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/Epub/EpubMetadataImageProvider.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/Epub/EpubMetadataProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/Epub/EpubMetadataProvider.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/Epub/EpubUtils.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/Epub/EpubUtils.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/BaseGoogleBooksProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/BaseGoogleBooksProvider.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/BookResult.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/BookResult.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/Error.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/Error.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/ErrorDetails.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/ErrorDetails.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/ErrorResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/ErrorResponse.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/GoogleApiUrls.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/GoogleApiUrls.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/GoogleBooksConstants.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/GoogleBooksConstants.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/GoogleBooksExternalId.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/GoogleBooksExternalId.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/GoogleBooksExternalUrlProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/GoogleBooksExternalUrlProvider.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/GoogleBooksImageProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/GoogleBooksImageProvider.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/GoogleBooksProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/GoogleBooksProvider.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/ImageLinks.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/ImageLinks.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/SearchResult.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/SearchResult.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/VolumeInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/GoogleBooks/VolumeInfo.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/IComicFileProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/IComicFileProvider.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ISBNExternalId.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ISBNExternalId.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/ISBNExternalUrlProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/ISBNExternalUrlProvider.cs -------------------------------------------------------------------------------- /Jellyfin.Plugin.Bookshelf/Providers/OpfReader.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/Jellyfin.Plugin.Bookshelf/Providers/OpfReader.cs -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/README.md -------------------------------------------------------------------------------- /jellyfin.ruleset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/jellyfin.ruleset -------------------------------------------------------------------------------- /tests/Jellyfin.Plugin.Bookshelf.Tests/BookFileNameParserTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/tests/Jellyfin.Plugin.Bookshelf.Tests/BookFileNameParserTests.cs -------------------------------------------------------------------------------- /tests/Jellyfin.Plugin.Bookshelf.Tests/ComicBookInfoProviderTest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/tests/Jellyfin.Plugin.Bookshelf.Tests/ComicBookInfoProviderTest.cs -------------------------------------------------------------------------------- /tests/Jellyfin.Plugin.Bookshelf.Tests/ComicInfoXmlUtilitiesTest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/tests/Jellyfin.Plugin.Bookshelf.Tests/ComicInfoXmlUtilitiesTest.cs -------------------------------------------------------------------------------- /tests/Jellyfin.Plugin.Bookshelf.Tests/ComicVineImageProviderTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/tests/Jellyfin.Plugin.Bookshelf.Tests/ComicVineImageProviderTests.cs -------------------------------------------------------------------------------- /tests/Jellyfin.Plugin.Bookshelf.Tests/ComicVinePersonImageProviderTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/tests/Jellyfin.Plugin.Bookshelf.Tests/ComicVinePersonImageProviderTests.cs -------------------------------------------------------------------------------- /tests/Jellyfin.Plugin.Bookshelf.Tests/ComicVinePersonProviderTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/tests/Jellyfin.Plugin.Bookshelf.Tests/ComicVinePersonProviderTests.cs -------------------------------------------------------------------------------- /tests/Jellyfin.Plugin.Bookshelf.Tests/ComicVineProviderTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/tests/Jellyfin.Plugin.Bookshelf.Tests/ComicVineProviderTests.cs -------------------------------------------------------------------------------- /tests/Jellyfin.Plugin.Bookshelf.Tests/Fixtures/comic-vine-issue-search-named-issues.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/tests/Jellyfin.Plugin.Bookshelf.Tests/Fixtures/comic-vine-issue-search-named-issues.json -------------------------------------------------------------------------------- /tests/Jellyfin.Plugin.Bookshelf.Tests/Fixtures/comic-vine-issue-search-numbered-issues.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/tests/Jellyfin.Plugin.Bookshelf.Tests/Fixtures/comic-vine-issue-search-numbered-issues.json -------------------------------------------------------------------------------- /tests/Jellyfin.Plugin.Bookshelf.Tests/Fixtures/comic-vine-person-search.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/tests/Jellyfin.Plugin.Bookshelf.Tests/Fixtures/comic-vine-person-search.json -------------------------------------------------------------------------------- /tests/Jellyfin.Plugin.Bookshelf.Tests/Fixtures/comic-vine-person-with-description.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/tests/Jellyfin.Plugin.Bookshelf.Tests/Fixtures/comic-vine-person-with-description.json -------------------------------------------------------------------------------- /tests/Jellyfin.Plugin.Bookshelf.Tests/Fixtures/comic-vine-person.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/tests/Jellyfin.Plugin.Bookshelf.Tests/Fixtures/comic-vine-person.json -------------------------------------------------------------------------------- /tests/Jellyfin.Plugin.Bookshelf.Tests/Fixtures/comic-vine-single-issue.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/tests/Jellyfin.Plugin.Bookshelf.Tests/Fixtures/comic-vine-single-issue.json -------------------------------------------------------------------------------- /tests/Jellyfin.Plugin.Bookshelf.Tests/Fixtures/comic-vine-single-numbered-issue.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/tests/Jellyfin.Plugin.Bookshelf.Tests/Fixtures/comic-vine-single-numbered-issue.json -------------------------------------------------------------------------------- /tests/Jellyfin.Plugin.Bookshelf.Tests/Fixtures/comic-vine-single-volume.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/tests/Jellyfin.Plugin.Bookshelf.Tests/Fixtures/comic-vine-single-volume.json -------------------------------------------------------------------------------- /tests/Jellyfin.Plugin.Bookshelf.Tests/Fixtures/google-books-single-volume-en.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/tests/Jellyfin.Plugin.Bookshelf.Tests/Fixtures/google-books-single-volume-en.json -------------------------------------------------------------------------------- /tests/Jellyfin.Plugin.Bookshelf.Tests/Fixtures/google-books-single-volume-fr.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/tests/Jellyfin.Plugin.Bookshelf.Tests/Fixtures/google-books-single-volume-fr.json -------------------------------------------------------------------------------- /tests/Jellyfin.Plugin.Bookshelf.Tests/Fixtures/google-books-volume-search.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/tests/Jellyfin.Plugin.Bookshelf.Tests/Fixtures/google-books-volume-search.json -------------------------------------------------------------------------------- /tests/Jellyfin.Plugin.Bookshelf.Tests/GoogleBooksImageProviderTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/tests/Jellyfin.Plugin.Bookshelf.Tests/GoogleBooksImageProviderTests.cs -------------------------------------------------------------------------------- /tests/Jellyfin.Plugin.Bookshelf.Tests/GoogleBooksProviderTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/tests/Jellyfin.Plugin.Bookshelf.Tests/GoogleBooksProviderTests.cs -------------------------------------------------------------------------------- /tests/Jellyfin.Plugin.Bookshelf.Tests/Http/MockHttpMessageHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/tests/Jellyfin.Plugin.Bookshelf.Tests/Http/MockHttpMessageHandler.cs -------------------------------------------------------------------------------- /tests/Jellyfin.Plugin.Bookshelf.Tests/Http/MockHttpResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/tests/Jellyfin.Plugin.Bookshelf.Tests/Http/MockHttpResponse.cs -------------------------------------------------------------------------------- /tests/Jellyfin.Plugin.Bookshelf.Tests/Jellyfin.Plugin.Bookshelf.Tests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/tests/Jellyfin.Plugin.Bookshelf.Tests/Jellyfin.Plugin.Bookshelf.Tests.csproj -------------------------------------------------------------------------------- /tests/Jellyfin.Plugin.Bookshelf.Tests/TestHelpers.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jellyfin/jellyfin-plugin-bookshelf/HEAD/tests/Jellyfin.Plugin.Bookshelf.Tests/TestHelpers.cs -------------------------------------------------------------------------------- /tests/Jellyfin.Plugin.Bookshelf.Tests/Usings.cs: -------------------------------------------------------------------------------- 1 | global using Xunit; 2 | --------------------------------------------------------------------------------