mirror of
https://github.com/PredatH0r/ChanSort.git
synced 2026-01-13 10:52:05 +01:00
30 lines
1.1 KiB
C#
30 lines
1.1 KiB
C#
using System.IO;
|
|
using System.Text;
|
|
using ChanSort.Api;
|
|
|
|
namespace ChanSort.Loader.LG
|
|
{
|
|
public class LgPlugin : ISerializerPlugin
|
|
{
|
|
public string DllName { get; set; }
|
|
public string PluginName => "LG (*.tll, xx*.xml)";
|
|
public string FileFilter => "*.tll;*.xml"; // can be GlobalClone00001.tll, xx*.tll with GlobalClone XML content, xx*.dll with binary data content, xx*.xml with GlobalClone XML content
|
|
|
|
public SerializerBase CreateSerializer(string inputFile)
|
|
{
|
|
|
|
// webOS 5 files with <TLLDATA><ModelInfo><CloneVersion><MajorVersion>200</MajorVersion> .... contain all the actual channel data in JSON format inside a <legacybroadcast> element
|
|
var content = File.ReadAllText(inputFile, Encoding.UTF8);
|
|
if (content.Contains("<legacybroadcast>"))
|
|
return new GlobalClone.GcJsonSerializer(inputFile, content);
|
|
|
|
if (content.Contains("<TLLDATA>"))
|
|
return new GlobalClone.GcXmlSerializer(inputFile);
|
|
|
|
return new Binary.TllFileSerializer(inputFile) { IsTesting = this.IsTesting };
|
|
}
|
|
|
|
internal bool IsTesting { get; set; }
|
|
}
|
|
}
|