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
+
+
+
+
+
+
+