diff --git a/source/ChanSort.Loader.GlobalClone/ChanSort.Loader.GlobalClone.csproj b/source/ChanSort.Loader.GlobalClone/ChanSort.Loader.GlobalClone.csproj index 48cbc29..9fe995f 100644 --- a/source/ChanSort.Loader.GlobalClone/ChanSort.Loader.GlobalClone.csproj +++ b/source/ChanSort.Loader.GlobalClone/ChanSort.Loader.GlobalClone.csproj @@ -71,7 +71,8 @@ - + + diff --git a/source/ChanSort.Loader.GlobalClone/GcJsonSerializer.cs b/source/ChanSort.Loader.GlobalClone/GcJsonSerializer.cs new file mode 100644 index 0000000..7d41d98 --- /dev/null +++ b/source/ChanSort.Loader.GlobalClone/GcJsonSerializer.cs @@ -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) + { + + } + } + +} diff --git a/source/ChanSort.Loader.GlobalClone/GcSerializerPlugin.cs b/source/ChanSort.Loader.GlobalClone/GcSerializerPlugin.cs index f4ddab5..62eedf5 100644 --- a/source/ChanSort.Loader.GlobalClone/GcSerializerPlugin.cs +++ b/source/ChanSort.Loader.GlobalClone/GcSerializerPlugin.cs @@ -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 200 .... contain all the actual channel data in JSON format inside a element + var content = File.ReadAllText(inputFile, Encoding.UTF8); + var startTag = ""; + var start = content.IndexOf(startTag); + if (start >= 0) + { + var end = content.IndexOf("", start); + var json = content.Substring(start + startTag.Length, end - start - startTag.Length); + return new GcJsonSerializer(inputFile, content); + } + + return new GcXmlSerializer(inputFile); } } } diff --git a/source/ChanSort.Loader.GlobalClone/GcSerializer.cs b/source/ChanSort.Loader.GlobalClone/GcXmlSerializer.cs similarity index 99% rename from source/ChanSort.Loader.GlobalClone/GcSerializer.cs rename to source/ChanSort.Loader.GlobalClone/GcXmlSerializer.cs index e9f0fad..8c9432c 100644 --- a/source/ChanSort.Loader.GlobalClone/GcSerializer.cs +++ b/source/ChanSort.Loader.GlobalClone/GcXmlSerializer.cs @@ -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;