MCPcopy Index your code
hub / github.com/Threadfin/Threadfin / mapping

Function mapping

src/xepg.go:945–1142  ·  view source on GitHub ↗

Kanäle automatisch zuordnen und das Mapping überprüfen

()

Source from the content-addressed store, hash-verified

943
944// Kanäle automatisch zuordnen und das Mapping überprüfen
945func mapping() (err error) {
946 // Protect against concurrent access to XEPG data structures
947 xepgMutex.Lock()
948 defer xepgMutex.Unlock()
949
950 showInfo("XEPG:" + "Map channels")
951
952 for xepg, dxc := range Data.XEPG.Channels {
953
954 var xepgChannel XEPGChannelStruct
955 err = json.Unmarshal([]byte(mapToJSON(dxc)), &xepgChannel)
956 if err != nil {
957 return
958 }
959
960 if xepgChannel.TvgName == "" {
961 xepgChannel.TvgName = xepgChannel.Name
962 }
963
964 if (xepgChannel.XBackupChannel1 != "" && xepgChannel.XBackupChannel1 != "-") || (xepgChannel.XBackupChannel2 != "" && xepgChannel.XBackupChannel2 != "-") || (xepgChannel.XBackupChannel3 != "" && xepgChannel.XBackupChannel3 != "-") {
965 for _, stream := range Data.Streams.Active {
966 var m3uChannel M3UChannelStructXEPG
967
968 err = json.Unmarshal([]byte(mapToJSON(stream)), &m3uChannel)
969 if err != nil {
970 return err
971 }
972
973 if m3uChannel.TvgName == "" {
974 m3uChannel.TvgName = m3uChannel.Name
975 }
976
977 backup_channel1 := strings.Trim(xepgChannel.XBackupChannel1, " ")
978 if m3uChannel.TvgName == backup_channel1 {
979 xepgChannel.BackupChannel1 = &BackupStream{PlaylistID: m3uChannel.FileM3UID, URL: m3uChannel.URL}
980 }
981
982 backup_channel2 := strings.Trim(xepgChannel.XBackupChannel2, " ")
983 if m3uChannel.TvgName == backup_channel2 {
984 xepgChannel.BackupChannel2 = &BackupStream{PlaylistID: m3uChannel.FileM3UID, URL: m3uChannel.URL}
985 }
986
987 backup_channel3 := strings.Trim(xepgChannel.XBackupChannel3, " ")
988 if m3uChannel.TvgName == backup_channel3 {
989 xepgChannel.BackupChannel3 = &BackupStream{PlaylistID: m3uChannel.FileM3UID, URL: m3uChannel.URL}
990 }
991 }
992 }
993
994 // Automatische Mapping für neue Kanäle. Wird nur ausgeführt, wenn der Kanal deaktiviert ist und keine XMLTV Datei und kein XMLTV Kanal zugeordnet ist.
995 if !xepgChannel.XActive {
996 // Werte kann "-" sein, deswegen len < 1
997 if len(xepgChannel.XmltvFile) < 1 {
998
999 var tvgID = xepgChannel.TvgID
1000
1001 xepgChannel.XmltvFile = "-"
1002 xepgChannel.XMapping = "-"

Callers 2

buildXEPGFunction · 0.85
updateXEPGFunction · 0.85

Calls 3

showInfoFunction · 0.85
saveMapToJSONFileFunction · 0.85
mapToJSONFunction · 0.70

Tested by

no test coverage detected