public void GetBeams() { var beams = dataFile.Channels[SelectedChannelIndex + 1].Beams; for (int i = 1; i <= beams.Count; i++) { var beam = beams[i]; BeamList.Add(beam.Name); } // set first beam by default SelectedBeamIndex = 0; // Beam index starts from 1 GetBeamInfo(SelectedBeamIndex + 1); }
public override void Parse(int I, bool TypeByPID) { File.Delete(TransFileName(I)); File.Delete(ChanFileName(I)); if (!File.Exists(DataFileName(I))) { return; } FileStream FS1 = new FileStream(TransFileName(I), FileMode.CreateNew, FileAccess.Write); StreamWriter FS1W = new StreamWriter(FS1); FS1W.WriteLine("Satellite\tFrequence\tPol\tTxp\tBeam\tStandard\tModulation\tSR/FEC\tNetwork, bitrate\tNID\tTID\tRow"); FileStream FS2 = new FileStream(ChanFileName(I), FileMode.CreateNew, FileAccess.Write); StreamWriter FS2W = new StreamWriter(FS2); FS2W.WriteLine("Freq\tPol\tSR\tBeam\tType\tName\tCountry\tCategory\tPackages\tEncryption\tSID\tVPID\tAudio\tPMT\tPCR\tTXT\tLast updated\tFTA\tRow"); BeamList.Clear(); HtmlAgilityPack.HtmlDocument HTMLDoc = new HtmlAgilityPack.HtmlDocument(); FileStream HFS = new FileStream(DataFileName(I), FileMode.Open, FileAccess.Read); StreamReader HFSR = new StreamReader(HFS); string RAW = HFSR.ReadToEnd(); HFSR.Close(); HFS.Close(); HTMLDoc.LoadHtml(RAW); for (int ii = 0; ii < HTMLDoc.DocumentNode.ChildNodes.Count; ii++) { if (HTMLDoc.DocumentNode.ChildNodes[ii].Name == "html") { for (int iii = 0; iii < HTMLDoc.DocumentNode.ChildNodes[ii].ChildNodes.Count; iii++) { if (HTMLDoc.DocumentNode.ChildNodes[ii].ChildNodes[iii].Name == "body") { for (int iiii = 0; iiii < HTMLDoc.DocumentNode.ChildNodes[ii].ChildNodes[iii].ChildNodes.Count; iiii++) { HtmlAgilityPack.HtmlNode N = HTMLDoc.DocumentNode.ChildNodes[ii].ChildNodes[iii].ChildNodes[iiii]; if (N.Name == "div") { bool WasHeader = false; if (N.Attributes["class"] == null) { throw new Exception("DIV"); } if (N.Attributes["class"].Value == "w3-main") { string[] SatTrans = null; for (int _i = 0; _i < N.ChildNodes.Count; _i++) { if (N.ChildNodes[_i].Name == "center") { WasHeader = true; } if (WasHeader) { if (N.ChildNodes[_i].Name == "table") { SatTrans = ParseTable(N.ChildNodes[_i], _i, FS1W); } if (N.ChildNodes[_i].Name == "div") { ParseDiv(N.ChildNodes[_i], _i, FS2W, TypeByPID, SatTrans); } } } } } } } } } } FS1W.Close(); FS1.Close(); FS2W.Close(); FS2.Close(); BeamListWriteFile(I); }
public override void Parse(int I, bool TypeByPID) { File.Delete(TransFileName(I)); File.Delete(ChanFileName(I)); if (!File.Exists(DataFileName(I))) { return; } FileStream FS1 = new FileStream(TransFileName(I), FileMode.CreateNew, FileAccess.Write); StreamWriter FS1W = new StreamWriter(FS1); FS1W.WriteLine("Txp No\tSource\tDate\tFreq\tPol\tMode\tSR-FEC\tProvider Name\tEncryption\tONID-TID\tFootPrints\tEIRP(dBW)\tComments\tRow"); FileStream FS2 = new FileStream(ChanFileName(I), FileMode.CreateNew, FileAccess.Write); StreamWriter FS2W = new StreamWriter(FS2); FS2W.WriteLine("Freq\tPol\tSR\tBeam\tType\tChannel Name\tFTA\tV.PID\tA.PID\tSID\tRow"); BeamList.Clear(); HtmlAgilityPack.HtmlDocument HTMLDoc = new HtmlAgilityPack.HtmlDocument(); FileStream HFS = new FileStream(DataFileName(I), FileMode.Open, FileAccess.Read); StreamReader HFSR = new StreamReader(HFS); string RAW = HFSR.ReadToEnd(); HFSR.Close(); HFS.Close(); HTMLDoc.LoadHtml(RAW); for (int ii = 0; ii < HTMLDoc.DocumentNode.ChildNodes.Count; ii++) { if (HTMLDoc.DocumentNode.ChildNodes[ii].Name == "html") { for (int iii = 0; iii < HTMLDoc.DocumentNode.ChildNodes[ii].ChildNodes.Count; iii++) { if (HTMLDoc.DocumentNode.ChildNodes[ii].ChildNodes[iii].Name == "body") { for (int iiii = 0; iiii < HTMLDoc.DocumentNode.ChildNodes[ii].ChildNodes[iii].ChildNodes.Count; iiii++) { if (HTMLDoc.DocumentNode.ChildNodes[ii].ChildNodes[iii].ChildNodes[iiii].Name == "table") { int RowN = 0; for (int iiiii = 0; iiiii < HTMLDoc.DocumentNode.ChildNodes[ii].ChildNodes[iii].ChildNodes[iiii].ChildNodes.Count; iiiii++) { if (HTMLDoc.DocumentNode.ChildNodes[ii].ChildNodes[iii].ChildNodes[iiii].ChildNodes[iiiii].Name == "tr") { RowN++; } } if (RowN >= 3) { ChannelTable(I, HTMLDoc.DocumentNode.ChildNodes[ii].ChildNodes[iii].ChildNodes[iiii], ref FS1W, ref FS2W, TypeByPID); } } } } } } } FS1W.Close(); FS1.Close(); FS2W.Close(); FS2.Close(); BeamListWriteFile(I); }
public override void Parse(int I, bool TypeByPID) { File.Delete(TransFileName(I)); File.Delete(ChanFileName(I)); if (!File.Exists(DataFileName(I))) { return; } FileStream FS1 = new FileStream(TransFileName(I), FileMode.CreateNew, FileAccess.Write); StreamWriter FS1W = new StreamWriter(FS1); FS1W.WriteLine("Frequency\tPol\tTxp\tBeam\tEIRP (dbW)\tSystem\tModulation\tSR-FEC\tProvider\tONID-TID\tC/N lock\tEncryption\tSource\tUpdated\tRow"); FileStream FS2 = new FileStream(ChanFileName(I), FileMode.CreateNew, FileAccess.Write); StreamWriter FS2W = new StreamWriter(FS2); FS2W.WriteLine("Freq\tPol\tSR\tBeam\tType\tSID\tName\tFTA\tCompression\tVPID\tAPID Lang\tRow"); BeamList.Clear(); HtmlAgilityPack.HtmlDocument HTMLDoc = new HtmlAgilityPack.HtmlDocument(); FileStream HFS = new FileStream(DataFileName(I), FileMode.Open, FileAccess.Read); StreamReader HFSR = new StreamReader(HFS, System.Text.Encoding.GetEncoding("ISO-8859-1")); string RAW = HFSR.ReadToEnd(); HFSR.Close(); HFS.Close(); HTMLDoc.LoadHtml(RAW); RowN = 0; RowN0 = 0; RowX = 0; for (int ii = 0; ii < HTMLDoc.DocumentNode.ChildNodes.Count; ii++) { if (HTMLDoc.DocumentNode.ChildNodes[ii].Name == "html") { for (int iii = 0; iii < HTMLDoc.DocumentNode.ChildNodes[ii].ChildNodes.Count; iii++) { if (HTMLDoc.DocumentNode.ChildNodes[ii].ChildNodes[iii].Name == "body") { for (int iiii = 0; iiii < HTMLDoc.DocumentNode.ChildNodes[ii].ChildNodes[iii].ChildNodes.Count; iiii++) { if (HTMLDoc.DocumentNode.ChildNodes[ii].ChildNodes[iii].ChildNodes[iiii].Name == "div") { HtmlAgilityPack.HtmlNode N = HTMLDoc.DocumentNode.ChildNodes[ii].ChildNodes[iii].ChildNodes[iiii]; for (int i_ = 0; i_ < N.ChildNodes.Count; i_++) { if (N.ChildNodes[i_].Name == "table") { if (N.ChildNodes[i_].Attributes["class"].Value == "bigtable") { for (int ii_ = 0; ii_ < N.ChildNodes[i_].ChildNodes.Count; ii_++) { if (N.ChildNodes[i_].ChildNodes[ii_].Name == "tr") { for (int iii_ = 0; iii_ < N.ChildNodes[i_].ChildNodes[ii_].ChildNodes.Count; iii_++) { if (N.ChildNodes[i_].ChildNodes[ii_].ChildNodes[iii_].Name == "td") { if (ToInt(N.ChildNodes[i_].ChildNodes[ii_].ChildNodes[iii_].Attributes["width"].Value) >= 500) { HtmlAgilityPack.HtmlNode NN = N.ChildNodes[i_].ChildNodes[ii_].ChildNodes[iii_]; for (int i__ = 0; i__ < NN.ChildNodes.Count; i__++) { if (NN.ChildNodes[i__].Name == "table") { if (NN.ChildNodes[i__].Attributes.Contains("width")) { if (ToInt(NN.ChildNodes[i__].Attributes["width"].Value) >= 500) { ChannelTable(I, NN.ChildNodes[i__], ref FS1W, ref FS2W, TypeByPID); RowX += 1000; } } } } } } } } } } } } } } } } } } FS1W.Close(); FS1.Close(); FS2W.Close(); FS2.Close(); BeamListWriteFile(I); }
public override void Parse(int I, bool TypeByPID) { File.Delete(TransFileName(I)); File.Delete(ChanFileName(I)); if (!File.Exists(DataFileName(I))) { return; } FileStream FS1 = new FileStream(TransFileName(I), FileMode.CreateNew, FileAccess.Write); StreamWriter FS1W = new StreamWriter(FS1); FS1W.WriteLine("Freq\tPol\tSR\tFEC\tSat\tBeam\tMod\tFormat\tInfo\tRow"); FileStream FS2 = new FileStream(ChanFileName(I), FileMode.CreateNew, FileAccess.Write); StreamWriter FS2W = new StreamWriter(FS2); FS2W.WriteLine("Freq\tPol\tSR\tBeam\tType\tChannel\tT\tEncryption\tFTA\tPackage\tRes\tCompression\tV_PID\tA_PID\tSID\tOwner\tDate\tRow"); BeamList.Clear(); HtmlAgilityPack.HtmlDocument HTMLDoc = new HtmlAgilityPack.HtmlDocument(); FileStream HFS = new FileStream(DataFileName(I), FileMode.Open, FileAccess.Read); StreamReader HFSR = new StreamReader(HFS); string RAW = HFSR.ReadToEnd(); HFSR.Close(); HFS.Close(); HTMLDoc.LoadHtml(RAW); HtmlAgilityPack.HtmlNode ChannelTable = null; ChannelGetNode(HTMLDoc.DocumentNode, ref ChannelTable); string[] SatTrans = null; string[] SatChan = null; if (ChannelTable != null) { for (int i = 0; i < ChannelTable.ChildNodes.Count; i++) { if (ChannelTable.ChildNodes[i].Name.ToUpperInvariant() == "TR") { List<HtmlAgilityPack.HtmlNode> TD = new List<HtmlAgilityPack.HtmlNode>(); for (int ii = 0; ii < ChannelTable.ChildNodes[i].ChildNodes.Count; ii++) { if ((ChannelTable.ChildNodes[i].ChildNodes[ii].Name.ToUpperInvariant() == "TD") || (ChannelTable.ChildNodes[i].ChildNodes[ii].Name.ToUpperInvariant() == "TH")) { TD.Add(ChannelTable.ChildNodes[i].ChildNodes[ii]); } } // Transponder if (ChannelTable.ChildNodes[i].Attributes["class"].Value == "index group_tr") { if (TD[1].Attributes["class"].Value == "group_td nobr") { HtmlAgilityPack.HtmlNode NN = TD[1].LastChild; SatTrans = new string[20]; SatTrans[0] = ClearString(NN.ChildNodes[1].InnerText); SatTrans[1] = ClearString(NN.ChildNodes[2].InnerText); SatTrans[2] = ClearString(NN.ChildNodes[3].InnerText); SatTrans[3] = ClearString(NN.ChildNodes[4].InnerText); SatTrans[4] = ClearString(NN.ChildNodes[5].InnerText); SatTrans[5] = ClearString(NN.ChildNodes[6].InnerText); SatTrans[6] = ClearString(NN.ChildNodes[7].InnerText); SatTrans[7] = ClearString(NN.ChildNodes[8].InnerText); SatTrans[8] = ClearString(NN.ChildNodes[9].InnerText); FS1W.Write(SatTrans[0]); FS1W.Write("\t"); FS1W.Write(SatTrans[1]); FS1W.Write("\t"); FS1W.Write(SatTrans[2]); FS1W.Write("\t"); FS1W.Write(SatTrans[3]); FS1W.Write("\t"); FS1W.Write(SatTrans[4]); FS1W.Write("\t"); FS1W.Write(SatTrans[5]); FS1W.Write("\t"); FS1W.Write(SatTrans[6]); FS1W.Write("\t"); FS1W.Write(SatTrans[7]); FS1W.Write("\t"); FS1W.Write(SatTrans[8]); FS1W.Write("\t"); FS1W.Write(i.ToString()); FS1W.WriteLine(); BeamListAdd(SatTrans[5]); } } // Channel if (ChannelTable.ChildNodes[i].Attributes["class"].Value.StartsWith("index class_tr")) { if (TD.Count == 16) { SatChan = new string[20]; SatChan[0] = ClearString(RemoveEscape(TD[2].InnerText)); SatChan[1] = ClearString(TD[3].InnerText); // Encryption PrepareInfo2(TD[4]); SatChan[2] = ""; for (int ii = 0; ii < InfoText.Count; ii++) { if (SatChan[2] != "") { SatChan[2] += "|"; } SatChan[2] += InfoText[ii]; } // Package PrepareInfo2(TD[5]); SatChan[3] = ""; for (int ii = 0; ii < InfoText.Count; ii++) { if (SatChan[3] != "") { SatChan[3] += "|"; } SatChan[3] += InfoText[ii]; } SatChan[4] = ClearString(TD[6].InnerText); SatChan[5] = ClearString(TD[7].InnerText); SatChan[6] = ClearString(TD[8].InnerText); PrepareInfo2(TD[9]); for (int ii = 0; ii < InfoText.Count; ii++) { InfoText[ii] = LangRemCodec(InfoText[ii], "AAC"); InfoText[ii] = LangRemCodec(InfoText[ii], "AC3+"); InfoText[ii] = LangRemCodec(InfoText[ii], "AС3+"); InfoText[ii] = LangRemCodec(InfoText[ii], "AC3"); InfoText[ii] = LangRemCodec(InfoText[ii], "AС3"); InfoText[ii] = LangRemCodec(InfoText[ii], "DD"); InfoText[ii] = LangRemCodec(InfoText[ii], "(E-AC3)"); } List<string> InfoTextX = new List<string>(); for (int ii = 0; ii < InfoText.Count; ii++) { string[] X = InfoText[ii].Split(' '); for (int iii = 1; iii < X.Length; iii++) { InfoTextX.Add(X[0] + " " + X[iii]); } } InfoText.Clear(); for (int ii = 0; ii < InfoTextX.Count; ii++) { InfoText.Add(InfoTextX[ii]); } bool HasV = ((SatChan[6] != "") && (SatChan[6] != "0")); bool HasA = false; LangList(); SatChan[7] = ""; for (int ii = 0; ii < InfoText.Count; ii++) { if (SatChan[7] != "") { SatChan[7] += "|"; } SatChan[7] += InfoText[ii]; HasA = true; } SatChan[8] = ClearString(TD[10].InnerText); SatChan[9] = ClearString(TD[11].InnerText); SatChan[10] = ClearString(TD[12].InnerText); FS2W.Write(SatTrans[0]); FS2W.Write("\t"); FS2W.Write(SatTrans[1]); FS2W.Write("\t"); FS2W.Write(SatTrans[2]); FS2W.Write("\t"); FS2W.Write(SatTrans[5]); FS2W.Write("\t"); if ((!HasA) && (!HasV)) { FS2W.Write("DATA"); } if ((HasA) && (!HasV)) { FS2W.Write("R"); } if ((!HasA) && (HasV)) { FS2W.Write("IMG"); } if ((HasA) && (HasV)) { FS2W.Write("TV"); } FS2W.Write("\t"); FS2W.Write(SatChan[0]); FS2W.Write("\t"); FS2W.Write(SatChan[1]); FS2W.Write("\t"); FS2W.Write(SatChan[2]); FS2W.Write("\t"); bool IsFTA = false; if (SatChan[2].ToUpperInvariant().Contains("|FTA|")) { IsFTA = true; } if (SatChan[2].ToUpperInvariant().StartsWith("FTA|")) { IsFTA = true; } if (SatChan[2].ToUpperInvariant().EndsWith("|FTA")) { IsFTA = true; } if (SatChan[2].ToUpperInvariant().Equals("FTA")) { IsFTA = true; } FS2W.Write(IsFTA ? "Yes" : "No"); FS2W.Write("\t"); FS2W.Write(SatChan[3]); FS2W.Write("\t"); FS2W.Write(SatChan[4]); FS2W.Write("\t"); FS2W.Write(SatChan[5]); FS2W.Write("\t"); FS2W.Write(SatChan[6]); FS2W.Write("\t"); FS2W.Write(SatChan[7]); FS2W.Write("\t"); FS2W.Write(SatChan[8]); FS2W.Write("\t"); FS2W.Write(SatChan[9]); FS2W.Write("\t"); FS2W.Write(SatChan[10]); FS2W.Write("\t"); FS2W.Write(i.ToString()); FS2W.Write("\t"); FS2W.WriteLine(); } } } } } FS1W.Close(); FS1.Close(); FS2W.Close(); FS2.Close(); BeamListWriteFile(I); }