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; }
|
2023-08-13 10:11:22 +02:00
|
|
|
|
public string PluginName => "Hisense (channel.db, servicelist.db, his_*.bin)";
|
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();
|
|
|
|
|
|
|
2023-06-01 11:11:33 +02:00
|
|
|
|
if (name.Contains("channel") && name.EndsWith(".db")) // UHD models 2015-2016
|
2021-01-23 14:22:18 +01:00
|
|
|
|
return new ChannelDb.ChannelDbSerializer(inputFile);
|
|
|
|
|
|
|
2023-06-01 11:11:33 +02:00
|
|
|
|
if (name.Contains("servicelist") && name.EndsWith(".db")) // models 2017 and later
|
2021-01-23 14:22:18 +01:00
|
|
|
|
return new ServicelistDb.ServicelistDbSerializer(inputFile);
|
|
|
|
|
|
|
2023-01-23 00:28:49 +01:00
|
|
|
|
if (name.StartsWith("his_dvb") && name.EndsWith(".bin")) // HIS_DVB.BIN
|
|
|
|
|
|
return new HisBin.HisDvbBinSerializer(inputFile);
|
|
|
|
|
|
|
|
|
|
|
|
if (name.StartsWith("his_") && name.EndsWith(".bin")) // HIS_SVL.BIN, HIS_TSL.BIN, HIS_FAV.BIN
|
|
|
|
|
|
return new HisBin.HisSvlBinSerializer(inputFile);
|
2021-01-23 14:22:18 +01:00
|
|
|
|
return null;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|