allow users to override the URL (#360)

This commit is contained in:
Kilian von Pflugk 2024-10-27 22:38:46 +01:00
parent 97840f2a7d
commit f32408109d
2 changed files with 16 additions and 13 deletions

View File

@ -248,12 +248,17 @@ public class PluginConfiguration : BasePluginConfiguration
public string AutoSkipCreditsNotificationText { get; set; } = "Credits skipped"; public string AutoSkipCreditsNotificationText { get; set; } = "Credits skipped";
/// <summary> /// <summary>
/// Gets or sets the number of threads for an ffmpeg process. /// Gets or sets the number of threads for a ffmpeg process.
/// </summary> /// </summary>
public int ProcessThreads { get; set; } public int ProcessThreads { get; set; }
/// <summary> /// <summary>
/// Gets or sets the relative priority for an ffmpeg process. /// Gets or sets the relative priority for a ffmpeg process.
/// </summary> /// </summary>
public ProcessPriorityClass ProcessPriority { get; set; } = ProcessPriorityClass.BelowNormal; public ProcessPriorityClass ProcessPriority { get; set; } = ProcessPriorityClass.BelowNormal;
/// <summary>
/// Gets or sets a value indicating whether the ManifestUrl is self-managed, e.g. for mainland China.
/// </summary>
public bool OverrideManifestUrl { get; set; }
} }

View File

@ -91,8 +91,6 @@ public class Plugin : BasePlugin<PluginConfiguration>, IHasWebPages
XmlSerializationHelper.MigrateXML(_introPath); XmlSerializationHelper.MigrateXML(_introPath);
XmlSerializationHelper.MigrateXML(_creditsPath); XmlSerializationHelper.MigrateXML(_creditsPath);
MigrateRepoUrl(serverConfiguration);
var oldConfigFile = Path.Join(applicationPaths.PluginConfigurationsPath, "ConfusedPolarBear.Plugin.IntroSkipper.xml"); var oldConfigFile = Path.Join(applicationPaths.PluginConfigurationsPath, "ConfusedPolarBear.Plugin.IntroSkipper.xml");
if (File.Exists(oldConfigFile)) if (File.Exists(oldConfigFile))
@ -123,6 +121,8 @@ public class Plugin : BasePlugin<PluginConfiguration>, IHasWebPages
} }
} }
MigrateRepoUrl(serverConfiguration);
// TODO: remove when https://github.com/jellyfin/jellyfin-meta/discussions/30 is complete // TODO: remove when https://github.com/jellyfin/jellyfin-meta/discussions/30 is complete
try try
{ {
@ -457,16 +457,16 @@ public class Plugin : BasePlugin<PluginConfiguration>, IHasWebPages
var config = serverConfiguration.Configuration; var config = serverConfiguration.Configuration;
// Get the list of current plugin repositories // Get the list of current plugin repositories
var pluginRepositories = config.PluginRepositories?.ToList() ?? []; var pluginRepositories = config.PluginRepositories.ToList();
// check if old plugins exits // check if old plugins exits
if (pluginRepositories.Exists(repo => repo != null && repo.Url != null && oldRepos.Contains(repo.Url))) if (pluginRepositories.Exists(repo => repo.Url != null && oldRepos.Contains(repo.Url)))
{ {
// remove all old plugins // remove all old plugins
pluginRepositories.RemoveAll(repo => repo != null && repo.Url != null && oldRepos.Contains(repo.Url)); pluginRepositories.RemoveAll(repo => repo.Url != null && oldRepos.Contains(repo.Url));
// Add repository only if it does not exit // Add repository only if it does not exit and the OverideManifestUrl Option is activated
if (!pluginRepositories.Exists(repo => repo.Url == "https://manifest.intro-skipper.org/manifest.json")) if (!pluginRepositories.Exists(repo => repo.Url == "https://manifest.intro-skipper.org/manifest.json") && Instance!.Configuration.OverrideManifestUrl)
{ {
// Add the new repository to the list // Add the new repository to the list
pluginRepositories.Add(new RepositoryInfo pluginRepositories.Add(new RepositoryInfo
@ -499,8 +499,7 @@ public class Plugin : BasePlugin<PluginConfiguration>, IHasWebPages
string searchPattern = "dashboard-dashboard.*.chunk.js"; string searchPattern = "dashboard-dashboard.*.chunk.js";
string[] filePaths = Directory.GetFiles(webPath, searchPattern, SearchOption.TopDirectoryOnly); string[] filePaths = Directory.GetFiles(webPath, searchPattern, SearchOption.TopDirectoryOnly);
string pattern = @"buildVersion""\)\.innerText=""(?<buildVersion>\d+\.\d+\.\d+)"",.*?webVersion""\)\.innerText=""(?<webVersion>\d+\.\d+\.\d+)"; string pattern = @"buildVersion""\)\.innerText=""(?<buildVersion>\d+\.\d+\.\d+)"",.*?webVersion""\)\.innerText=""(?<webVersion>\d+\.\d+\.\d+)";
string buildVersionString = "unknow"; string webVersionString = "unknown";
string webVersionString = "unknow";
// Create a Regex object // Create a Regex object
Regex regex = new Regex(pattern); Regex regex = new Regex(pattern);
@ -513,14 +512,13 @@ public class Plugin : BasePlugin<PluginConfiguration>, IHasWebPages
// search for buildVersion and webVersion // search for buildVersion and webVersion
if (match.Success) if (match.Success)
{ {
buildVersionString = match.Groups["buildVersion"].Value;
webVersionString = match.Groups["webVersion"].Value; webVersionString = match.Groups["webVersion"].Value;
_logger.LogInformation("Found jellyfin-web <{WebVersion}>", webVersionString); _logger.LogInformation("Found jellyfin-web <{WebVersion}>", webVersionString);
break; break;
} }
} }
if (webVersionString != "unknow") if (webVersionString != "unknown")
{ {
// append Revision // append Revision
webVersionString += ".0"; webVersionString += ".0";