diff --git a/Kyoo/InternalAPI/Crawler/ICrawler.cs b/Kyoo.Common/Controllers/ICrawler.cs similarity index 100% rename from Kyoo/InternalAPI/Crawler/ICrawler.cs rename to Kyoo.Common/Controllers/ICrawler.cs diff --git a/Kyoo/InternalAPI/LibraryManager/ILibraryManager.cs b/Kyoo.Common/Controllers/ILibraryManager.cs similarity index 100% rename from Kyoo/InternalAPI/LibraryManager/ILibraryManager.cs rename to Kyoo.Common/Controllers/ILibraryManager.cs diff --git a/Kyoo/InternalAPI/MetadataProvider/IMetadataProvider.cs b/Kyoo.Common/Controllers/IMetadataProvider.cs similarity index 100% rename from Kyoo/InternalAPI/MetadataProvider/IMetadataProvider.cs rename to Kyoo.Common/Controllers/IMetadataProvider.cs diff --git a/Kyoo/InternalAPI/ThumbnailsManager/IThumbnailsManager.cs b/Kyoo.Common/Controllers/IThumbnailsManager.cs similarity index 100% rename from Kyoo/InternalAPI/ThumbnailsManager/IThumbnailsManager.cs rename to Kyoo.Common/Controllers/IThumbnailsManager.cs diff --git a/Kyoo/InternalAPI/Transcoder/ITranscoder.cs b/Kyoo.Common/Controllers/ITranscoder.cs similarity index 100% rename from Kyoo/InternalAPI/Transcoder/ITranscoder.cs rename to Kyoo.Common/Controllers/ITranscoder.cs diff --git a/Kyoo.Common/Kyoo.Common.csproj b/Kyoo.Common/Kyoo.Common.csproj new file mode 100644 index 00000000..e87868c0 --- /dev/null +++ b/Kyoo.Common/Kyoo.Common.csproj @@ -0,0 +1,12 @@ + + + + netcoreapp3.0 + + + + + + + + diff --git a/Kyoo/Models/Collection.cs b/Kyoo.Common/Models/Collection.cs similarity index 100% rename from Kyoo/Models/Collection.cs rename to Kyoo.Common/Models/Collection.cs diff --git a/Kyoo/Models/Episode.cs b/Kyoo.Common/Models/Episode.cs similarity index 100% rename from Kyoo/Models/Episode.cs rename to Kyoo.Common/Models/Episode.cs diff --git a/Kyoo/Models/Genre.cs b/Kyoo.Common/Models/Genre.cs similarity index 100% rename from Kyoo/Models/Genre.cs rename to Kyoo.Common/Models/Genre.cs diff --git a/Kyoo.Common/Models/ImageTypes.cs b/Kyoo.Common/Models/ImageTypes.cs new file mode 100644 index 00000000..fc643362 --- /dev/null +++ b/Kyoo.Common/Models/ImageTypes.cs @@ -0,0 +1,4 @@ +namespace Kyoo.Models +{ + public enum ImageType { Poster, Background, Thumbnail, Logo } +} \ No newline at end of file diff --git a/Kyoo/Models/Library.cs b/Kyoo.Common/Models/Library.cs similarity index 100% rename from Kyoo/Models/Library.cs rename to Kyoo.Common/Models/Library.cs diff --git a/Kyoo/Models/People.cs b/Kyoo.Common/Models/People.cs similarity index 100% rename from Kyoo/Models/People.cs rename to Kyoo.Common/Models/People.cs diff --git a/Kyoo/Models/SearchResult.cs b/Kyoo.Common/Models/SearchResult.cs similarity index 100% rename from Kyoo/Models/SearchResult.cs rename to Kyoo.Common/Models/SearchResult.cs diff --git a/Kyoo/Models/Season.cs b/Kyoo.Common/Models/Season.cs similarity index 100% rename from Kyoo/Models/Season.cs rename to Kyoo.Common/Models/Season.cs diff --git a/Kyoo/Models/Show.cs b/Kyoo.Common/Models/Show.cs similarity index 100% rename from Kyoo/Models/Show.cs rename to Kyoo.Common/Models/Show.cs diff --git a/Kyoo/Models/Studio.cs b/Kyoo.Common/Models/Studio.cs similarity index 100% rename from Kyoo/Models/Studio.cs rename to Kyoo.Common/Models/Studio.cs diff --git a/Kyoo/Models/Track.cs b/Kyoo.Common/Models/Track.cs similarity index 100% rename from Kyoo/Models/Track.cs rename to Kyoo.Common/Models/Track.cs diff --git a/Kyoo/Models/WatchItem.cs b/Kyoo.Common/Models/WatchItem.cs similarity index 100% rename from Kyoo/Models/WatchItem.cs rename to Kyoo.Common/Models/WatchItem.cs diff --git a/Kyoo/InternalAPI/MetadataProvider/MetadataAttribute.cs b/Kyoo.Common/Plugins/MetadataAttribute.cs similarity index 76% rename from Kyoo/InternalAPI/MetadataProvider/MetadataAttribute.cs rename to Kyoo.Common/Plugins/MetadataAttribute.cs index cd72a719..35199691 100644 --- a/Kyoo/InternalAPI/MetadataProvider/MetadataAttribute.cs +++ b/Kyoo.Common/Plugins/MetadataAttribute.cs @@ -5,9 +5,6 @@ namespace Kyoo.InternalAPI.MetadataProvider [AttributeUsage(AttributeTargets.Class)] public class MetaProvider : Attribute { - public MetaProvider() - { - - } + public MetaProvider() { } } } diff --git a/Kyoo.Common/Utility/ImageHelper.cs b/Kyoo.Common/Utility/ImageHelper.cs new file mode 100644 index 00000000..c9b075e7 --- /dev/null +++ b/Kyoo.Common/Utility/ImageHelper.cs @@ -0,0 +1,28 @@ +using Kyoo.Models; + +namespace Kyoo.InternalAPI.Utility +{ + public static class ImageHelper + { + public static void SetImage(Show show, string imgUrl, ImageType type) + { + switch(type) + { + case ImageType.Poster: + show.ImgPrimary = imgUrl; + break; + case ImageType.Thumbnail: + show.ImgThumb = imgUrl; + break; + case ImageType.Logo: + show.ImgLogo = imgUrl; + break; + case ImageType.Background: + show.ImgBackdrop = imgUrl; + break; + default: + break; + } + } + } +} \ No newline at end of file diff --git a/Kyoo/InternalAPI/Utility/Slugifier.cs b/Kyoo.Common/Utility/Slugifier.cs similarity index 100% rename from Kyoo/InternalAPI/Utility/Slugifier.cs rename to Kyoo.Common/Utility/Slugifier.cs diff --git a/Kyoo.sln b/Kyoo.sln index d11b3041..12f6f2ad 100644 --- a/Kyoo.sln +++ b/Kyoo.sln @@ -1,6 +1,8 @@ Microsoft Visual Studio Solution File, Format Version 12.00 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kyoo", "Kyoo\Kyoo.csproj", "{0F8275B6-C7DD-42DF-A168-755C81B1C329}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.Common", "Kyoo.Common\Kyoo.Common.csproj", "{BAB2CAE1-AC28-4509-AA3E-8DC75BD59220}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -11,5 +13,9 @@ Global {0F8275B6-C7DD-42DF-A168-755C81B1C329}.Debug|Any CPU.Build.0 = Debug|Any CPU {0F8275B6-C7DD-42DF-A168-755C81B1C329}.Release|Any CPU.ActiveCfg = Release|Any CPU {0F8275B6-C7DD-42DF-A168-755C81B1C329}.Release|Any CPU.Build.0 = Release|Any CPU + {BAB2CAE1-AC28-4509-AA3E-8DC75BD59220}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BAB2CAE1-AC28-4509-AA3E-8DC75BD59220}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BAB2CAE1-AC28-4509-AA3E-8DC75BD59220}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BAB2CAE1-AC28-4509-AA3E-8DC75BD59220}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection EndGlobal diff --git a/Kyoo.sln.DotSettings b/Kyoo.sln.DotSettings index c1483371..f0549f01 100644 --- a/Kyoo.sln.DotSettings +++ b/Kyoo.sln.DotSettings @@ -4,4 +4,8 @@ UseExplicitType UseExplicitType API - DB \ No newline at end of file + DB + True + True + True + True \ No newline at end of file diff --git a/Kyoo/InternalAPI/Crawler/Crawler.cs b/Kyoo/Controllers/Crawler.cs similarity index 100% rename from Kyoo/InternalAPI/Crawler/Crawler.cs rename to Kyoo/Controllers/Crawler.cs diff --git a/Kyoo/InternalAPI/LibraryManager/LibraryManager.cs b/Kyoo/Controllers/LibraryManager.cs similarity index 100% rename from Kyoo/InternalAPI/LibraryManager/LibraryManager.cs rename to Kyoo/Controllers/LibraryManager.cs diff --git a/Kyoo/InternalAPI/MetadataProvider/Implementations/TheTvDB/HelperTvDB.cs b/Kyoo/Controllers/MetadataProvider/Implementations/TheTvDB/HelperTvDB.cs similarity index 100% rename from Kyoo/InternalAPI/MetadataProvider/Implementations/TheTvDB/HelperTvDB.cs rename to Kyoo/Controllers/MetadataProvider/Implementations/TheTvDB/HelperTvDB.cs diff --git a/Kyoo/InternalAPI/MetadataProvider/Implementations/TheTvDB/ProviderTheTvDB.cs b/Kyoo/Controllers/MetadataProvider/Implementations/TheTvDB/ProviderTheTvDB.cs similarity index 100% rename from Kyoo/InternalAPI/MetadataProvider/Implementations/TheTvDB/ProviderTheTvDB.cs rename to Kyoo/Controllers/MetadataProvider/Implementations/TheTvDB/ProviderTheTvDB.cs diff --git a/Kyoo/InternalAPI/MetadataProvider/ProviderManager.cs b/Kyoo/Controllers/MetadataProvider/ProviderManager.cs similarity index 100% rename from Kyoo/InternalAPI/MetadataProvider/ProviderManager.cs rename to Kyoo/Controllers/MetadataProvider/ProviderManager.cs diff --git a/Kyoo/InternalAPI/ThumbnailsManager/ThumbnailsManager.cs b/Kyoo/Controllers/ThumbnailsManager.cs similarity index 100% rename from Kyoo/InternalAPI/ThumbnailsManager/ThumbnailsManager.cs rename to Kyoo/Controllers/ThumbnailsManager.cs diff --git a/Kyoo/InternalAPI/Transcoder/Transcoder.cs b/Kyoo/Controllers/Transcoder/Transcoder.cs similarity index 100% rename from Kyoo/InternalAPI/Transcoder/Transcoder.cs rename to Kyoo/Controllers/Transcoder/Transcoder.cs diff --git a/Kyoo/InternalAPI/Transcoder/TranscoderAPI.cs b/Kyoo/Controllers/Transcoder/TranscoderAPI.cs similarity index 100% rename from Kyoo/InternalAPI/Transcoder/TranscoderAPI.cs rename to Kyoo/Controllers/Transcoder/TranscoderAPI.cs diff --git a/Kyoo/Controllers/AdminController.cs b/Kyoo/HTML_API/AdminController.cs similarity index 100% rename from Kyoo/Controllers/AdminController.cs rename to Kyoo/HTML_API/AdminController.cs diff --git a/Kyoo/Controllers/CollectionController.cs b/Kyoo/HTML_API/CollectionController.cs similarity index 100% rename from Kyoo/Controllers/CollectionController.cs rename to Kyoo/HTML_API/CollectionController.cs diff --git a/Kyoo/Controllers/EpisodesController.cs b/Kyoo/HTML_API/EpisodesController.cs similarity index 100% rename from Kyoo/Controllers/EpisodesController.cs rename to Kyoo/HTML_API/EpisodesController.cs diff --git a/Kyoo/Controllers/LibrariesController.cs b/Kyoo/HTML_API/LibrariesController.cs similarity index 100% rename from Kyoo/Controllers/LibrariesController.cs rename to Kyoo/HTML_API/LibrariesController.cs diff --git a/Kyoo/Controllers/PeopleController.cs b/Kyoo/HTML_API/PeopleController.cs similarity index 100% rename from Kyoo/Controllers/PeopleController.cs rename to Kyoo/HTML_API/PeopleController.cs diff --git a/Kyoo/Controllers/SearchController.cs b/Kyoo/HTML_API/SearchController.cs similarity index 100% rename from Kyoo/Controllers/SearchController.cs rename to Kyoo/HTML_API/SearchController.cs diff --git a/Kyoo/Controllers/ShowsController.cs b/Kyoo/HTML_API/ShowsController.cs similarity index 100% rename from Kyoo/Controllers/ShowsController.cs rename to Kyoo/HTML_API/ShowsController.cs diff --git a/Kyoo/Controllers/SubtitleController.cs b/Kyoo/HTML_API/SubtitleController.cs similarity index 100% rename from Kyoo/Controllers/SubtitleController.cs rename to Kyoo/HTML_API/SubtitleController.cs diff --git a/Kyoo/Controllers/ThumbnailController.cs b/Kyoo/HTML_API/ThumbnailController.cs similarity index 100% rename from Kyoo/Controllers/ThumbnailController.cs rename to Kyoo/HTML_API/ThumbnailController.cs diff --git a/Kyoo/Controllers/VideoController.cs b/Kyoo/HTML_API/VideoController.cs similarity index 100% rename from Kyoo/Controllers/VideoController.cs rename to Kyoo/HTML_API/VideoController.cs diff --git a/Kyoo/Controllers/WatchController.cs b/Kyoo/HTML_API/WatchController.cs similarity index 100% rename from Kyoo/Controllers/WatchController.cs rename to Kyoo/HTML_API/WatchController.cs diff --git a/Kyoo/InternalAPI/MetadataProvider/ProviderHelper.cs b/Kyoo/InternalAPI/MetadataProvider/ProviderHelper.cs deleted file mode 100644 index 82e5220e..00000000 --- a/Kyoo/InternalAPI/MetadataProvider/ProviderHelper.cs +++ /dev/null @@ -1,60 +0,0 @@ -using Kyoo.InternalAPI.Utility; -using Kyoo.Models; -using System.Collections.Generic; - -namespace Kyoo.InternalAPI.MetadataProvider -{ - public abstract class ProviderHelper - { - public abstract string Provider { get; } - - public string GetID(string externalIDs) - { - if (externalIDs?.Contains(Provider) == true) - { - int startIndex = externalIDs.IndexOf(Provider) + Provider.Length + 1; //The + 1 is for the '=' - return externalIDs.Substring(startIndex, externalIDs.IndexOf('|', startIndex) - startIndex); - } - else - return null; - } - - public string ToSlug(string showTitle) - { - return Slugifier.ToSlug(showTitle); - } - - public enum ImageType { Poster, Background, Thumbnail, Logo } - - public void SetImage(Show show, string imgUrl, ImageType type) - { - switch(type) - { - case ImageType.Poster: - show.ImgPrimary = imgUrl; - break; - case ImageType.Thumbnail: - show.ImgThumb = imgUrl; - break; - case ImageType.Logo: - show.ImgLogo = imgUrl; - break; - case ImageType.Background: - show.ImgBackdrop = imgUrl; - break; - default: - break; - } - } - - public IEnumerable GetGenres(string[] input) - { - List genres = new List(); - - foreach (string genre in input) - genres.Add(new Genre(ToSlug(genre), genre)); - - return genres; - } - } -} diff --git a/Kyoo/Kyoo.csproj b/Kyoo/Kyoo.csproj index 795b09a7..ac60fce7 100644 --- a/Kyoo/Kyoo.csproj +++ b/Kyoo/Kyoo.csproj @@ -45,6 +45,10 @@ Always + + + + diff --git a/Kyoo/Kyoo.csproj.DotSettings b/Kyoo/Kyoo.csproj.DotSettings index 74a9e4de..bc646adf 100644 --- a/Kyoo/Kyoo.csproj.DotSettings +++ b/Kyoo/Kyoo.csproj.DotSettings @@ -1,4 +1,7 @@  + True + True + True True True True diff --git a/MetadataProvider/MetadataProvider.csproj b/MetadataProvider/MetadataProvider.csproj new file mode 100644 index 00000000..4342747a --- /dev/null +++ b/MetadataProvider/MetadataProvider.csproj @@ -0,0 +1,11 @@ + + + + netcoreapp3.0 + + + + + + +