From bd5ad07529b32f3b4fc49512d05999c97b2e0aee Mon Sep 17 00:00:00 2001 From: Nic D Date: Mon, 9 Feb 2026 10:56:20 -0500 Subject: [PATCH] Add v3 for new epg provider --- channel_keep_list.txt | 155 +++++++++++++++++++++++++++++++++++++++++ channels_translate.txt | 155 +++++++++++++++++++++++++++++++++++++++++ xml_cleaner_v3.sh | 43 ++++++++++++ 3 files changed, 353 insertions(+) create mode 100644 channel_keep_list.txt create mode 100644 channels_translate.txt create mode 100644 xml_cleaner_v3.sh diff --git a/channel_keep_list.txt b/channel_keep_list.txt new file mode 100644 index 0000000..d9602c0 --- /dev/null +++ b/channel_keep_list.txt @@ -0,0 +1,155 @@ +11.stations.xmltv.tvmedia.ca +17.stations.xmltv.tvmedia.ca +24.stations.xmltv.tvmedia.ca +31.stations.xmltv.tvmedia.ca +34.stations.xmltv.tvmedia.ca +39.stations.xmltv.tvmedia.ca +41.stations.xmltv.tvmedia.ca +43.stations.xmltv.tvmedia.ca +44.stations.xmltv.tvmedia.ca +47.stations.xmltv.tvmedia.ca +50.stations.xmltv.tvmedia.ca +57.stations.xmltv.tvmedia.ca +62.stations.xmltv.tvmedia.ca +63.stations.xmltv.tvmedia.ca +70.stations.xmltv.tvmedia.ca +74.stations.xmltv.tvmedia.ca +88.stations.xmltv.tvmedia.ca +89.stations.xmltv.tvmedia.ca +92.stations.xmltv.tvmedia.ca +99.stations.xmltv.tvmedia.ca +100.stations.xmltv.tvmedia.ca +101.stations.xmltv.tvmedia.ca +106.stations.xmltv.tvmedia.ca +108.stations.xmltv.tvmedia.ca +120.stations.xmltv.tvmedia.ca +127.stations.xmltv.tvmedia.ca +140.stations.xmltv.tvmedia.ca +161.stations.xmltv.tvmedia.ca +180.stations.xmltv.tvmedia.ca +183.stations.xmltv.tvmedia.ca +188.stations.xmltv.tvmedia.ca +198.stations.xmltv.tvmedia.ca +199.stations.xmltv.tvmedia.ca +279.stations.xmltv.tvmedia.ca +293.stations.xmltv.tvmedia.ca +294.stations.xmltv.tvmedia.ca +301.stations.xmltv.tvmedia.ca +308.stations.xmltv.tvmedia.ca +338.stations.xmltv.tvmedia.ca +342.stations.xmltv.tvmedia.ca +359.stations.xmltv.tvmedia.ca +416.stations.xmltv.tvmedia.ca +419.stations.xmltv.tvmedia.ca +429.stations.xmltv.tvmedia.ca +431.stations.xmltv.tvmedia.ca +432.stations.xmltv.tvmedia.ca +448.stations.xmltv.tvmedia.ca +451.stations.xmltv.tvmedia.ca +462.stations.xmltv.tvmedia.ca +472.stations.xmltv.tvmedia.ca +475.stations.xmltv.tvmedia.ca +527.stations.xmltv.tvmedia.ca +562.stations.xmltv.tvmedia.ca +613.stations.xmltv.tvmedia.ca +1031.stations.xmltv.tvmedia.ca +1083.stations.xmltv.tvmedia.ca +2033.stations.xmltv.tvmedia.ca +2034.stations.xmltv.tvmedia.ca +2169.stations.xmltv.tvmedia.ca +2811.stations.xmltv.tvmedia.ca +2812.stations.xmltv.tvmedia.ca +2816.stations.xmltv.tvmedia.ca +2820.stations.xmltv.tvmedia.ca +2837.stations.xmltv.tvmedia.ca +3613.stations.xmltv.tvmedia.ca +3614.stations.xmltv.tvmedia.ca +3887.stations.xmltv.tvmedia.ca +3889.stations.xmltv.tvmedia.ca +3974.stations.xmltv.tvmedia.ca +3975.stations.xmltv.tvmedia.ca +3976.stations.xmltv.tvmedia.ca +3979.stations.xmltv.tvmedia.ca +4022.stations.xmltv.tvmedia.ca +4230.stations.xmltv.tvmedia.ca +4294.stations.xmltv.tvmedia.ca +4311.stations.xmltv.tvmedia.ca +4442.stations.xmltv.tvmedia.ca +5484.stations.xmltv.tvmedia.ca +5887.stations.xmltv.tvmedia.ca +5888.stations.xmltv.tvmedia.ca +5955.stations.xmltv.tvmedia.ca +5981.stations.xmltv.tvmedia.ca +5997.stations.xmltv.tvmedia.ca +6043.stations.xmltv.tvmedia.ca +6056.stations.xmltv.tvmedia.ca +6437.stations.xmltv.tvmedia.ca +6464.stations.xmltv.tvmedia.ca +6468.stations.xmltv.tvmedia.ca +6472.stations.xmltv.tvmedia.ca +6603.stations.xmltv.tvmedia.ca +6779.stations.xmltv.tvmedia.ca +6791.stations.xmltv.tvmedia.ca +6797.stations.xmltv.tvmedia.ca +6822.stations.xmltv.tvmedia.ca +6994.stations.xmltv.tvmedia.ca +7050.stations.xmltv.tvmedia.ca +7137.stations.xmltv.tvmedia.ca +7139.stations.xmltv.tvmedia.ca +7146.stations.xmltv.tvmedia.ca +7336.stations.xmltv.tvmedia.ca +7616.stations.xmltv.tvmedia.ca +7807.stations.xmltv.tvmedia.ca +7943.stations.xmltv.tvmedia.ca +8359.stations.xmltv.tvmedia.ca +8368.stations.xmltv.tvmedia.ca +8451.stations.xmltv.tvmedia.ca +8457.stations.xmltv.tvmedia.ca +8458.stations.xmltv.tvmedia.ca +8459.stations.xmltv.tvmedia.ca +8558.stations.xmltv.tvmedia.ca +8774.stations.xmltv.tvmedia.ca +8793.stations.xmltv.tvmedia.ca +9112.stations.xmltv.tvmedia.ca +9155.stations.xmltv.tvmedia.ca +9156.stations.xmltv.tvmedia.ca +9396.stations.xmltv.tvmedia.ca +9632.stations.xmltv.tvmedia.ca +9652.stations.xmltv.tvmedia.ca +9705.stations.xmltv.tvmedia.ca +9822.stations.xmltv.tvmedia.ca +9824.stations.xmltv.tvmedia.ca +9825.stations.xmltv.tvmedia.ca +9901.stations.xmltv.tvmedia.ca +10026.stations.xmltv.tvmedia.ca +10042.stations.xmltv.tvmedia.ca +10299.stations.xmltv.tvmedia.ca +10331.stations.xmltv.tvmedia.ca +10613.stations.xmltv.tvmedia.ca +10769.stations.xmltv.tvmedia.ca +10771.stations.xmltv.tvmedia.ca +10781.stations.xmltv.tvmedia.ca +10783.stations.xmltv.tvmedia.ca +10848.stations.xmltv.tvmedia.ca +11011.stations.xmltv.tvmedia.ca +11155.stations.xmltv.tvmedia.ca +11285.stations.xmltv.tvmedia.ca +11293.stations.xmltv.tvmedia.ca +11319.stations.xmltv.tvmedia.ca +11345.stations.xmltv.tvmedia.ca +11385.stations.xmltv.tvmedia.ca +13400.stations.xmltv.tvmedia.ca +13585.stations.xmltv.tvmedia.ca +13719.stations.xmltv.tvmedia.ca +13770.stations.xmltv.tvmedia.ca +13773.stations.xmltv.tvmedia.ca +13775.stations.xmltv.tvmedia.ca +13778.stations.xmltv.tvmedia.ca +14115.stations.xmltv.tvmedia.ca +15258.stations.xmltv.tvmedia.ca +16162.stations.xmltv.tvmedia.ca +16163.stations.xmltv.tvmedia.ca +16164.stations.xmltv.tvmedia.ca +17225.stations.xmltv.tvmedia.ca +26780.stations.xmltv.tvmedia.ca +30951.stations.xmltv.tvmedia.ca \ No newline at end of file diff --git a/channels_translate.txt b/channels_translate.txt new file mode 100644 index 0000000..95fe257 --- /dev/null +++ b/channels_translate.txt @@ -0,0 +1,155 @@ +"11.stations.xmltv.tvmedia.ca" "TSN1.ca" +"17.stations.xmltv.tvmedia.ca" "VisionTV.ca" +"24.stations.xmltv.tvmedia.ca" "GlobalKingston-CKWS.ca" +"31.stations.xmltv.tvmedia.ca" "GlobalBC-CHAN.ca" +"34.stations.xmltv.tvmedia.ca" "CBCToronto-CBLT.ca" +"39.stations.xmltv.tvmedia.ca" "CTVToronto-CFTO.ca" +"41.stations.xmltv.tvmedia.ca" "Omni1-CFMT.ca" +"43.stations.xmltv.tvmedia.ca" "CHCH.ca" +"44.stations.xmltv.tvmedia.ca" "FOXWUHF.us" +"47.stations.xmltv.tvmedia.ca" "ReseaudesSports-RDS.ca" +"50.stations.xmltv.tvmedia.ca" "CTVMontreal-CFCF.ca" +"57.stations.xmltv.tvmedia.ca" "SuperEcran.ca" +"62.stations.xmltv.tvmedia.ca" "Showcase.ca" +"63.stations.xmltv.tvmedia.ca" "CWWPIX.us" +"70.stations.xmltv.tvmedia.ca" "CNN.ca" +"74.stations.xmltv.tvmedia.ca" "CBCNewsNetwork.ca" +"88.stations.xmltv.tvmedia.ca" "CBSWIVB-EAST.ca" +"89.stations.xmltv.tvmedia.ca" "ABCWKBW.ca" +"92.stations.xmltv.tvmedia.ca" "PBSWNED.ca" +"99.stations.xmltv.tvmedia.ca" "NBCWPTZ.us" +"100.stations.xmltv.tvmedia.ca" "ABCWVNY.us" +"101.stations.xmltv.tvmedia.ca" "ELLEFICTIONS.ca" +"106.stations.xmltv.tvmedia.ca" "TVA-Montreal-CFTM.ca" +"108.stations.xmltv.tvmedia.ca" "CanalD.ca" +"120.stations.xmltv.tvmedia.ca" "CMT.ca" +"127.stations.xmltv.tvmedia.ca" "CPAC.ca" +"140.stations.xmltv.tvmedia.ca" "FOXWFFF.us" +"161.stations.xmltv.tvmedia.ca" "DTOUR.ca" +"180.stations.xmltv.tvmedia.ca" "CBCVancouver-CBUT.ca" +"183.stations.xmltv.tvmedia.ca" "CHEK.ca" +"188.stations.xmltv.tvmedia.ca" "ICITeleVancouver-CBUFT.ca" +"198.stations.xmltv.tvmedia.ca" "APTN.ca" +"199.stations.xmltv.tvmedia.ca" "CJON-NTV.ca" +"279.stations.xmltv.tvmedia.ca" "TSN4.ca" +"293.stations.xmltv.tvmedia.ca" "YesTV.ca" +"294.stations.xmltv.tvmedia.ca" "BNNBloomberg.ca" +"301.stations.xmltv.tvmedia.ca" "NOOVO-Montreal-CFJP.ca" +"308.stations.xmltv.tvmedia.ca" "TeletoonFrancais.ca" +"338.stations.xmltv.tvmedia.ca" "FOXWFXT-East.ca" +"342.stations.xmltv.tvmedia.ca" "SavoirMedia-CFTU.ca" +"359.stations.xmltv.tvmedia.ca" "TodaysShoppingChoice.ca" +"416.stations.xmltv.tvmedia.ca" "CTVNewsChannel.ca" +"419.stations.xmltv.tvmedia.ca" "WeatherNetwork.ca" +"429.stations.xmltv.tvmedia.ca" "CPAC.ca" +"431.stations.xmltv.tvmedia.ca" "CanaldeAssembleeNationale.ca" +"432.stations.xmltv.tvmedia.ca" "LeCanalNouvellesTVA.ca" +"448.stations.xmltv.tvmedia.ca" "DejaView.ca" +"451.stations.xmltv.tvmedia.ca" "CrimePlusInvestigation.ca" +"462.stations.xmltv.tvmedia.ca" "DocumentaryCanada.ca" +"472.stations.xmltv.tvmedia.ca" "CTVWild.ca" +"475.stations.xmltv.tvmedia.ca" "NationalGeographic.ca" +"527.stations.xmltv.tvmedia.ca" "BBCWorldNews.ca" +"562.stations.xmltv.tvmedia.ca" "ICIQuebecCity-CBVT.ca" +"613.stations.xmltv.tvmedia.ca" "Omni2-CJMT.ca" +"1031.stations.xmltv.tvmedia.ca" "TVA-QuebecCity-CFCM.ca" +"1083.stations.xmltv.tvmedia.ca" "FoxNewsChannel.ca" +"2033.stations.xmltv.tvmedia.ca" "ADDIKTV.ca" +"2034.stations.xmltv.tvmedia.ca" "MagnoliaNetwork.ca" +"2169.stations.xmltv.tvmedia.ca" "ICIEstrie-CKSH.ca" +"2811.stations.xmltv.tvmedia.ca" "ABCWXYZ.us" +"2812.stations.xmltv.tvmedia.ca" "CBSWWJ.us" +"2816.stations.xmltv.tvmedia.ca" "NBCWDIV.us" +"2820.stations.xmltv.tvmedia.ca" "Crave1.ca" +"2837.stations.xmltv.tvmedia.ca" "ICIGrandMontreal-CBFT.ca" +"3613.stations.xmltv.tvmedia.ca" "STARZ1.ca" +"3614.stations.xmltv.tvmedia.ca" "Sportsnet360.ca" +"3887.stations.xmltv.tvmedia.ca" "CTVSpeed.ca" +"3889.stations.xmltv.tvmedia.ca" "ReseaudesSportsInfo-RDSI.ca" +"3974.stations.xmltv.tvmedia.ca" "LeCanalVie.ca" +"3975.stations.xmltv.tvmedia.ca" "SeriesPlus.ca" +"3976.stations.xmltv.tvmedia.ca" "Historia.ca" +"3979.stations.xmltv.tvmedia.ca" "Z.ca" +"4022.stations.xmltv.tvmedia.ca" "CBCMontreal-CBMT.ca" +"4230.stations.xmltv.tvmedia.ca" "HBO1.ca" +"4294.stations.xmltv.tvmedia.ca" "TSN2.ca" +"4311.stations.xmltv.tvmedia.ca" "AandE.ca" +"4442.stations.xmltv.tvmedia.ca" "SportsnetWorld.ca" +"5484.stations.xmltv.tvmedia.ca" "CASA.ca" +"5887.stations.xmltv.tvmedia.ca" "ICIARTVCanada.ca" +"5888.stations.xmltv.tvmedia.ca" "ICI-RDI.ca" +"5955.stations.xmltv.tvmedia.ca" "CanalM.ca" +"5981.stations.xmltv.tvmedia.ca" "LachaineDisney.ca" +"5997.stations.xmltv.tvmedia.ca" "APTN.ca" +"6043.stations.xmltv.tvmedia.ca" "SportsnetEast.ca" +"6056.stations.xmltv.tvmedia.ca" "AmiTV.ca" +"6437.stations.xmltv.tvmedia.ca" "GlobalMontreal-CKMI.ca" +"6464.stations.xmltv.tvmedia.ca" "TeleQuebecMontreal-CIVM.ca" +"6468.stations.xmltv.tvmedia.ca" "CanalEvasion.ca" +"6472.stations.xmltv.tvmedia.ca" "TV5.ca" +"6603.stations.xmltv.tvmedia.ca" "CityTvMontreal-CJNT.ca" +"6779.stations.xmltv.tvmedia.ca" "TLC.ca" +"6791.stations.xmltv.tvmedia.ca" "CottageLife.ca" +"6797.stations.xmltv.tvmedia.ca" "CTVDramaChannel.ca" +"6822.stations.xmltv.tvmedia.ca" "History.ca" +"6994.stations.xmltv.tvmedia.ca" "HLN.ca" +"7050.stations.xmltv.tvmedia.ca" "TCM.ca" +"7137.stations.xmltv.tvmedia.ca" "Crave3.ca" +"7139.stations.xmltv.tvmedia.ca" "Crave2.ca" +"7146.stations.xmltv.tvmedia.ca" "TFO.ca" +"7336.stations.xmltv.tvmedia.ca" "AdultSwim.ca" +"7616.stations.xmltv.tvmedia.ca" "QUB.ca" +"7807.stations.xmltv.tvmedia.ca" "MovieTime.ca" +"7943.stations.xmltv.tvmedia.ca" "Zeste.ca" +"8359.stations.xmltv.tvmedia.ca" "SportsnetOne.ca" +"8368.stations.xmltv.tvmedia.ca" "AMC.ca" +"8451.stations.xmltv.tvmedia.ca" "USANetwork.ca" +"8457.stations.xmltv.tvmedia.ca" "HISTORY2.ca" +"8458.stations.xmltv.tvmedia.ca" "OxygenTrueCrime.ca" +"8459.stations.xmltv.tvmedia.ca" "SuperEcran2.ca" +"8558.stations.xmltv.tvmedia.ca" "EEntertainmentTelevision.ca" +"8774.stations.xmltv.tvmedia.ca" "YTV.ca" +"8793.stations.xmltv.tvmedia.ca" "HGTV.ca" +"9112.stations.xmltv.tvmedia.ca" "Max.ca" +"9155.stations.xmltv.tvmedia.ca" "TEMOIN.ca" +"9156.stations.xmltv.tvmedia.ca" "CinePop.ca" +"9396.stations.xmltv.tvmedia.ca" "MuchMusic.ca" +"9632.stations.xmltv.tvmedia.ca" "Slice.ca" +"9652.stations.xmltv.tvmedia.ca" "WNetwork.ca" +"9705.stations.xmltv.tvmedia.ca" "RDS2.ca" +"9822.stations.xmltv.tvmedia.ca" "SuperEcran3.ca" +"9824.stations.xmltv.tvmedia.ca" "TVASports.ca" +"9825.stations.xmltv.tvmedia.ca" "SuperEcran4.ca" +"9901.stations.xmltv.tvmedia.ca" "GolfChannel.ca" +"10026.stations.xmltv.tvmedia.ca" "FX.ca" +"10042.stations.xmltv.tvmedia.ca" "CTVSciFiChannel.ca" +"10299.stations.xmltv.tvmedia.ca" "ICIExplora.ca" +"10331.stations.xmltv.tvmedia.ca" "CartoonNetwork.ca" +"10613.stations.xmltv.tvmedia.ca" "Boomerang.ca" +"10769.stations.xmltv.tvmedia.ca" "CTVNature.ca" +"10771.stations.xmltv.tvmedia.ca" "CTVComedyChannel.ca" +"10781.stations.xmltv.tvmedia.ca" "Crave4.ca" +"10783.stations.xmltv.tvmedia.ca" "STARZ2.ca" +"10848.stations.xmltv.tvmedia.ca" "Prise2.ca" +"11011.stations.xmltv.tvmedia.ca" "NationalGeographicWild.ca" +"11155.stations.xmltv.tvmedia.ca" "ABCWXYZ.us" +"11285.stations.xmltv.tvmedia.ca" "Treehouse.ca" +"11293.stations.xmltv.tvmedia.ca" "CTVLifeChannel.ca" +"11319.stations.xmltv.tvmedia.ca" "Nickelodeon.ca" +"11345.stations.xmltv.tvmedia.ca" "Investigation.ca" +"11385.stations.xmltv.tvmedia.ca" "ICIMontreal.ca" +"13400.stations.xmltv.tvmedia.ca" "FXX.ca" +"13585.stations.xmltv.tvmedia.ca" "GlobalToronto-CIII.ca" +"13719.stations.xmltv.tvmedia.ca" "TSN3.ca" +"13770.stations.xmltv.tvmedia.ca" "TSN5.ca" +"13773.stations.xmltv.tvmedia.ca" "UnisTV.ca" +"13775.stations.xmltv.tvmedia.ca" "AMI-tele.ca" +"13778.stations.xmltv.tvmedia.ca" "TVASports2.ca" +"14115.stations.xmltv.tvmedia.ca" "France24.ca" +"15258.stations.xmltv.tvmedia.ca" "meteomedia.ca" +"16162.stations.xmltv.tvmedia.ca" "SportsnetOntario.ca" +"16163.stations.xmltv.tvmedia.ca" "SportsnetPacific.ca" +"16164.stations.xmltv.tvmedia.ca" "SportsnetWest.ca" +"17225.stations.xmltv.tvmedia.ca" "DisneyJunior.ca" +"26780.stations.xmltv.tvmedia.ca" "ICIMontreal.ca" +"30951.stations.xmltv.tvmedia.ca" "NBCWBTS-East.ca" diff --git a/xml_cleaner_v3.sh b/xml_cleaner_v3.sh new file mode 100644 index 0000000..2c1d689 --- /dev/null +++ b/xml_cleaner_v3.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +wget "ftp://uptele:JCtHc3mQ866QL8rd@ftp.tvmedia.ca/xmltv.xml" -O /data/xmltv.xml + +id_list="/data/channel_keep_list.txt" +raw="/data/xmltv.xml" +parse_output="/data/parsed_new_epg.xml" +update_output="/data/updated_new_epg.xml" +format_output="/data/formatted_new_epg.xml" + +rm $parse_output $update_output $format_output + +# XPATHs pour trouver les channels/programmes dans id_list +channel_id_xpath=$(awk '{printf "@id='\''%s'\'' or ", $0}' "$id_list" | sed 's/ or $//') +programme_channel_xpath=$(awk '{printf "@channel='\''%s'\'' or ", $0}' "$id_list" | sed 's/ or $//') + +# Parse les XMLs complets avec les XPATHs pour copier seulement les channels et programmes dans id_list +{ + echo '' + xmlstarlet sel -t -c "//channel[$channel_id_xpath]" "$raw" + xmlstarlet sel -t -c "//programme[$programme_channel_xpath]" "$raw" + echo '' +} > "$parse_output" + +if [ -f "/tmp/newtmpxmltv.xml" ]; then + rm /tmp/newtmpxmltv.xml +fi + +cp $parse_output /tmp/tmpxmltv.xml + +while read LINE; do + OLD_CHANNEL_ID=$(echo $LINE | awk '{print $1}') + NEW_CHANNEL_ID=$(echo $LINE | awk '{print $2}') + #sed -i "s/$OLD_CHANNEL_ID/$NEW_CHANNEL_ID/g" xmltv.xml + awk -v old="$OLD_CHANNEL_ID" -v new="$NEW_CHANNEL_ID" '{gsub(old, new); print}' /tmp/tmpxmltv.xml >> /tmp/newtmpxmltv.xml + rm /tmp/tmpxmltv.xml + mv /tmp/newtmpxmltv.xml /tmp/tmpxmltv.xml +done < channels_translate.txt + +mv /tmp/tmpxmltv.xml $update_output + +# On format le xml pour un bon indent +xmlstarlet fo -t $update_output > $format_output \ No newline at end of file