mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-05-24 02:02:36 -04:00
Starting to rework the app to expose the API for plugins.
This commit is contained in:
parent
d0527625d0
commit
77bf623611
12
Kyoo.Common/Kyoo.Common.csproj
Normal file
12
Kyoo.Common/Kyoo.Common.csproj
Normal file
@ -0,0 +1,12 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
|
||||
<PackageReference Include="System.Data.SQLite.Core" Version="1.0.112" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
4
Kyoo.Common/Models/ImageTypes.cs
Normal file
4
Kyoo.Common/Models/ImageTypes.cs
Normal file
@ -0,0 +1,4 @@
|
||||
namespace Kyoo.Models
|
||||
{
|
||||
public enum ImageType { Poster, Background, Thumbnail, Logo }
|
||||
}
|
@ -5,9 +5,6 @@ namespace Kyoo.InternalAPI.MetadataProvider
|
||||
[AttributeUsage(AttributeTargets.Class)]
|
||||
public class MetaProvider : Attribute
|
||||
{
|
||||
public MetaProvider()
|
||||
{
|
||||
|
||||
}
|
||||
public MetaProvider() { }
|
||||
}
|
||||
}
|
28
Kyoo.Common/Utility/ImageHelper.cs
Normal file
28
Kyoo.Common/Utility/ImageHelper.cs
Normal file
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
6
Kyoo.sln
6
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
|
||||
|
@ -4,4 +4,8 @@
|
||||
<s:String x:Key="/Default/CodeStyle/CSharpVarKeywordUsage/ForOtherTypes/@EntryValue">UseExplicitType</s:String>
|
||||
<s:String x:Key="/Default/CodeStyle/CSharpVarKeywordUsage/ForSimpleTypes/@EntryValue">UseExplicitType</s:String>
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=API/@EntryIndexedValue">API</s:String>
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=DB/@EntryIndexedValue">DB</s:String></wpf:ResourceDictionary>
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=DB/@EntryIndexedValue">DB</s:String>
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpKeepExistingMigration/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpPlaceEmbeddedOnSameLineMigration/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpUseContinuousIndentInsideBracesMigration/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateBlankLinesAroundFieldToBlankLinesAroundProperty/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
|
@ -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<Genre> GetGenres(string[] input)
|
||||
{
|
||||
List<Genre> genres = new List<Genre>();
|
||||
|
||||
foreach (string genre in input)
|
||||
genres.Add(new Genre(ToSlug(genre), genre));
|
||||
|
||||
return genres;
|
||||
}
|
||||
}
|
||||
}
|
@ -45,6 +45,10 @@
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Kyoo.Common\Kyoo.Common.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="DebugEnsureNodeEnv" BeforeTargets="Build" Condition=" '$(Configuration)' == 'Debug' And !Exists('$(SpaRoot)node_modules') ">
|
||||
<!-- Ensure Node.js is installed -->
|
||||
|
@ -1,4 +1,7 @@
|
||||
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=controllers_005Cmetadataprovider_005Cimplementations/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=controllers_005Cmetadataprovider_005Cimplementations_005Cthetvdb/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=controllers_005Ctranscoder/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=internalapi_005Ccrawler/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=internalapi_005Clibrarymanager/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=internalapi_005Cmetadataprovider_005Cimplementations/@EntryIndexedValue">True</s:Boolean>
|
||||
|
11
MetadataProvider/MetadataProvider.csproj
Normal file
11
MetadataProvider/MetadataProvider.csproj
Normal file
@ -0,0 +1,11 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Kyoo.Common\Kyoo.Common.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
Loading…
x
Reference in New Issue
Block a user