LearnGodot/Config/RawParserConfig.cs
2026-01-02 23:35:05 +08:00

58 lines
1.2 KiB
C#

using System.Collections.Generic;
using Learn.Utils;
namespace Learn.Config;
public class MatchGroupsRules
{
public List<string> Full { get; set; }
public List<string> Partial { get; set; }
}
public class MatchTypeExtra
{
public List<string> IfDirNameIs { get; set; }
public List<string> IfFileExtensionIs { get; set; }
}
public class MatchTypeSubtitle
{
public List<string> IfFileExtensionIs { get; set; }
}
public class MatchTypeEpisode
{
public List<string> IfFileExtensionIs { get; set; }
}
public class MatchTypeRules
{
public MatchTypeExtra Extra { get; set; }
public MatchTypeSubtitle Subtitle { get; set; }
public MatchTypeEpisode Episode { get; set; }
}
public class MatchSeasonRules
{
public List<string> Regexes { get; set; }
}
public class FilterTokenRules
{
public List<string> Regexes { get; set; }
}
[ConfigItem("RawParser")]
public class RawParserConfig : IConfigItem
{
public string SplitRegex { get; set; } = "";
public MatchTypeRules TypeMatchRules { get; set; }
public MatchGroupsRules GroupsMatchRules { get; set; }
public MatchSeasonRules SeasonMatchRules { get; set; }
public FilterTokenRules TokenFilterRules { get; set; }
}