Skip to content

Commit

Permalink
Improve: add template switch
Browse files Browse the repository at this point in the history
  • Loading branch information
xjasonlyu committed Dec 18, 2022
1 parent e525881 commit ac1b425
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 5 deletions.
10 changes: 8 additions & 2 deletions Jellyfin.Plugin.MetaTube/Configuration/PluginConfiguration.cs
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,15 @@ public class PluginConfiguration : BasePluginConfiguration

#region Template

public string NameTemplate { get; set; } = "{number} {title}";
public bool EnableTemplate { get; set; } = false;

public string TaglineTemplate { get; set; } = "配信開始日 {date}";
public string NameTemplate { get; set; } = DefaultNameTemplate;

public string TaglineTemplate { get; set; } = DefaultTaglineTemplate;

public static string DefaultNameTemplate => "{number} {title}";

public static string DefaultTaglineTemplate => "配信開始日 {date}";

#endregion

Expand Down
12 changes: 11 additions & 1 deletion Jellyfin.Plugin.MetaTube/Configuration/configPage.html
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,14 @@ <h2 class="sectionTitle">Provider</h2>
<div class="verticalSection">
<h2 class="sectionTitle">Template</h2>

<div class="checkboxContainer checkboxContainer-withDescription">
<label class="emby-checkbox-label">
<input id="chkEnableTemplate" is="emby-checkbox" name="chkEnableTemplate" type="checkbox"/>
<span>Enable template</span>
</label>
<div class="fieldDescription checkboxFieldDescription">Predefined template variables can be found <a class="button-link emby-button" href="https://metatube-community.github.io/wiki/text-template/" is="emby-linkbutton" target="_blank">here</a>.</div>
</div>

<div class="inputContainer">
<label class="inputLabel inputLabelUnfocused" for="txtNameTemplate">Name template:</label>
<input id="txtNameTemplate" is="emby-input" name="txtNameTemplate" type="text"/>
Expand All @@ -139,7 +147,7 @@ <h2 class="sectionTitle">Template</h2>
<div class="inputContainer">
<label class="inputLabel inputLabelUnfocused" for="txtTaglineTemplate">Tagline template:</label>
<input id="txtTaglineTemplate" is="emby-input" name="txtTaglineTemplate" type="text"/>
<div class="fieldDescription">Predefined template variables can be found <a class="button-link emby-button" href="https://metatube-community.github.io/wiki/text-template/" is="emby-linkbutton" target="_blank">here</a>.</div>
<div class="fieldDescription"></div>
</div>
</div>

Expand Down Expand Up @@ -307,6 +315,7 @@ <h2 class="sectionTitle">Substitution</h2>
$('#txtDefaultImageQuality', page).val(config.DefaultImageQuality).change();
page.querySelector('#chkEnableMovieProviderFilter').checked = config.EnableMovieProviderFilter;
$('#txtRawMovieProviderFilter', page).val(config.RawMovieProviderFilter).change();
page.querySelector('#chkEnableTemplate').checked = config.EnableTemplate;
$('#txtNameTemplate', page).val(config.NameTemplate).change();
$('#txtTaglineTemplate', page).val(config.TaglineTemplate).change();
$('#selectTranslationMode', page).val(config.TranslationMode).change();
Expand Down Expand Up @@ -342,6 +351,7 @@ <h2 class="sectionTitle">Substitution</h2>
config.DefaultImageQuality = $('#txtDefaultImageQuality', form).val();
config.EnableMovieProviderFilter = $('#chkEnableMovieProviderFilter', form).prop('checked');
config.RawMovieProviderFilter = $('#txtRawMovieProviderFilter', form).val();
config.EnableTemplate = $('#chkEnableTemplate', form).prop('checked');
config.NameTemplate = $('#txtNameTemplate', form).val();
config.TaglineTemplate = $('#txtTaglineTemplate', form).val();
config.TranslationMode = $('#selectTranslationMode', form).val();
Expand Down
11 changes: 9 additions & 2 deletions Jellyfin.Plugin.MetaTube/Providers/MovieProvider.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System.Text;
using Jellyfin.Plugin.MetaTube.Configuration;
using Jellyfin.Plugin.MetaTube.Extensions;
using Jellyfin.Plugin.MetaTube.Metadata;
using Jellyfin.Plugin.MetaTube.Translation;
Expand Down Expand Up @@ -93,8 +94,14 @@ public async Task<MetadataResult<Movie>> GetMetadata(MovieInfo info,
{
Item = new Movie
{
Name = RenderTemplate(Configuration.NameTemplate, parameters),
Tagline = RenderTemplate(Configuration.TaglineTemplate, parameters),
Name = RenderTemplate(
Configuration.EnableTemplate
? Configuration.NameTemplate
: PluginConfiguration.DefaultNameTemplate, parameters),
Tagline = RenderTemplate(
Configuration.EnableTemplate
? Configuration.TaglineTemplate
: PluginConfiguration.DefaultTaglineTemplate, parameters),
OriginalTitle = originalTitle,
Overview = m.Summary,
OfficialRating = Rating,
Expand Down

0 comments on commit ac1b425

Please sign in to comment.