diff --git a/source/ChanSort.Loader.SamsungJ/DbSerializer.cs b/source/ChanSort.Loader.SamsungJ/DbSerializer.cs index b87c5e8..7f7b795 100644 --- a/source/ChanSort.Loader.SamsungJ/DbSerializer.cs +++ b/source/ChanSort.Loader.SamsungJ/DbSerializer.cs @@ -107,8 +107,13 @@ namespace ChanSort.Loader.SamsungJ using (ZipFile zip = new ZipFile(this.FileName)) { - foreach(ZipEntry entry in zip) - this.Expand(zip, entry.Name); + foreach (ZipEntry entry in zip) + { + // only expand files from the root folder to avoid pit-falls with incorrectly rezipped lists + // that contain the data files in a subfolder + if (Path.GetDirectoryName(entry.Name) == "") + this.Expand(zip, entry.Name); + } } } #endregion diff --git a/source/ChanSort.Loader.VDR/Serializer.cs b/source/ChanSort.Loader.VDR/Serializer.cs index 5c32733..8a94e84 100644 --- a/source/ChanSort.Loader.VDR/Serializer.cs +++ b/source/ChanSort.Loader.VDR/Serializer.cs @@ -59,9 +59,11 @@ namespace ChanSort.Loader.VDR using (StreamWriter file = new StreamWriter(tvOutputFile)) { - foreach (Channels channelInfo in this.allChannels.GetChannelsByNewOrder()) + foreach (ChannelInfo channel in this.allChannels.GetChannelsByNewOrder()) { - file.WriteLine(channelInfo.confLine); + // when a reference list was applied, the list may contain proxy entries for deleted channels, which must be ignored + if (channel is Channels vdrChannel) + file.WriteLine(vdrChannel.confLine); } } }