mirror of
https://github.com/PredatH0r/ChanSort.git
synced 2026-01-19 22:02:04 +01:00
initial work on LG GlobalClone 2.00 JSON file format
This commit is contained in:
@@ -71,7 +71,8 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="GcChannel.cs" />
|
||||
<Compile Include="GcSerializer.cs" />
|
||||
<Compile Include="GcJsonSerializer.cs" />
|
||||
<Compile Include="GcXmlSerializer.cs" />
|
||||
<Compile Include="GcSerializerPlugin.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Resources.de.Designer.cs">
|
||||
|
||||
35
source/ChanSort.Loader.GlobalClone/GcJsonSerializer.cs
Normal file
35
source/ChanSort.Loader.GlobalClone/GcJsonSerializer.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using ChanSort.Api;
|
||||
//using System.Text.Json;
|
||||
|
||||
namespace ChanSort.Loader.GlobalClone
|
||||
{
|
||||
internal class GcJsonSerializer : SerializerBase
|
||||
{
|
||||
private string content;
|
||||
|
||||
public GcJsonSerializer(string filename, string jsonContent) : base(filename)
|
||||
{
|
||||
this.content = jsonContent;
|
||||
}
|
||||
|
||||
|
||||
public override void Load()
|
||||
{
|
||||
//var doc = new JsonDocument();
|
||||
}
|
||||
|
||||
|
||||
|
||||
public override void Save(string tvOutputFile)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,4 +1,6 @@
|
||||
using ChanSort.Api;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using ChanSort.Api;
|
||||
|
||||
namespace ChanSort.Loader.GlobalClone
|
||||
{
|
||||
@@ -10,7 +12,18 @@ namespace ChanSort.Loader.GlobalClone
|
||||
|
||||
public SerializerBase CreateSerializer(string inputFile)
|
||||
{
|
||||
return new GcSerializer(inputFile);
|
||||
// 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);
|
||||
var startTag = "<legacybroadcast>";
|
||||
var start = content.IndexOf(startTag);
|
||||
if (start >= 0)
|
||||
{
|
||||
var end = content.IndexOf("</legacybroadcast>", start);
|
||||
var json = content.Substring(start + startTag.Length, end - start - startTag.Length);
|
||||
return new GcJsonSerializer(inputFile, content);
|
||||
}
|
||||
|
||||
return new GcXmlSerializer(inputFile);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ using ChanSort.Api;
|
||||
|
||||
namespace ChanSort.Loader.GlobalClone
|
||||
{
|
||||
class GcSerializer : SerializerBase
|
||||
class GcXmlSerializer : SerializerBase
|
||||
{
|
||||
private readonly ChannelList atvChannels = new ChannelList(SignalSource.AnalogCT, "Analog");
|
||||
private readonly ChannelList dtvTvChannels = new ChannelList(SignalSource.DvbCT | SignalSource.TvAndData, "DTV");
|
||||
@@ -22,7 +22,7 @@ namespace ChanSort.Loader.GlobalClone
|
||||
private bool usesBinaryDataInUtf8Envelope = false;
|
||||
|
||||
#region ctor()
|
||||
public GcSerializer(string inputFile) : base(inputFile)
|
||||
public GcXmlSerializer(string inputFile) : base(inputFile)
|
||||
{
|
||||
this.Features.ChannelNameEdit = ChannelNameEditMode.All;
|
||||
this.Features.DeleteMode = DeleteMode.FlagWithoutPrNr;
|
||||
Reference in New Issue
Block a user