2021-01-23 14:22:18 +01:00
|
|
|
|
using System.IO;
|
|
|
|
|
|
using ChanSort.Api;
|
|
|
|
|
|
|
|
|
|
|
|
namespace ChanSort.Loader.Hisense
|
|
|
|
|
|
{
|
|
|
|
|
|
public class HisensePlugin : ISerializerPlugin
|
|
|
|
|
|
{
|
|
|
|
|
|
public string DllName { get; set; }
|
|
|
|
|
|
public string PluginName => "Hisense (channel.db, servicelist.db)";
|
2023-01-18 15:27:59 +01:00
|
|
|
|
public string FileFilter => "*.db;*.bin";
|
2021-01-23 14:22:18 +01:00
|
|
|
|
|
|
|
|
|
|
public SerializerBase CreateSerializer(string inputFile)
|
|
|
|
|
|
{
|
|
|
|
|
|
var name = Path.GetFileName(inputFile).ToLowerInvariant();
|
|
|
|
|
|
|
|
|
|
|
|
if (name.Contains("channel")) // UHD models 2015-2016
|
|
|
|
|
|
return new ChannelDb.ChannelDbSerializer(inputFile);
|
|
|
|
|
|
|
|
|
|
|
|
if (name.Contains("servicelist")) // models 2017 and later
|
|
|
|
|
|
return new ServicelistDb.ServicelistDbSerializer(inputFile);
|
|
|
|
|
|
|
2023-01-18 15:27:59 +01:00
|
|
|
|
if (name.StartsWith("his_") && name.EndsWith(".bin"))
|
|
|
|
|
|
return new HisBin.HisBinSerializer(inputFile);
|
2021-01-23 14:22:18 +01:00
|
|
|
|
return null;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|