LearnGodot/Parsers/ItemFields.cs
2026-01-02 23:35:05 +08:00

60 lines
1.3 KiB
C#

using System;
using System.Collections.Generic;
using System.IO;
using Learn.Models;
namespace Learn.Parsers;
public static class ItemFields
{
public enum ItemType
{
Unknown,
Extra,
Subtitle,
Episode
}
#region
public static string MainKey_Path => "Path";
public static string MainKey_IsDir => "IsDir";
public static string Name(this Item item)
{
var path = item.MainInfo[MainKey_Path];
return Path.GetFileName(path);
}
public static bool IsFolder(this Item item)
{
return item.MainInfo[MainKey_IsDir] == "True";
}
#endregion
#region
public static string Key_Group => "Group";
public static string Key_Title => "Title";
public static string Key_RawTitle => "RawTitle";
public static string Key_Season => "Season";
public static string Key_Type => "Type";
public static string Key_SubtitleLanguage => "SubLang";
public static ItemType Type(this Item item)
{
if (item.Info.TryGetValue(Key_Type, out var typeName))
{
if(Enum.TryParse(typeName, out ItemType type))
{
return type;
}
}
return ItemType.Unknown;
}
#endregion
}