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

Function getProgramData

src/xepg.go:1234–1336  ·  view source on GitHub ↗

Programmdaten erstellen (createXMLTVFile)

(xepgChannel XEPGChannelStruct)

Source from the content-addressed store, hash-verified

1232
1233// Programmdaten erstellen (createXMLTVFile)
1234func getProgramData(xepgChannel XEPGChannelStruct) (xepgXML XMLTV, err error) {
1235 var xmltvFile = System.Folder.Data + xepgChannel.XmltvFile
1236 var channelID = xepgChannel.XMapping
1237
1238 var xmltv XMLTV
1239
1240 if strings.Contains(xmltvFile, "Threadfin Dummy") {
1241 xmltv = createDummyProgram(xepgChannel)
1242 } else {
1243 if xepgChannel.XmltvFile != "" {
1244 err = getLocalXMLTV(xmltvFile, &xmltv)
1245 if err != nil {
1246 return
1247 }
1248 }
1249 }
1250
1251 for _, xmltvProgram := range xmltv.Program {
1252 if xmltvProgram.Channel == channelID {
1253 var program = &Program{}
1254
1255 // Channel ID
1256 program.Channel = xepgChannel.XChannelID
1257 program.Start = xmltvProgram.Start
1258 program.Stop = xmltvProgram.Stop
1259
1260 // Title
1261 if len(xmltvProgram.Title) > 0 {
1262 if !Settings.EnableNonAscii {
1263 xmltvProgram.Title[0].Value = strings.TrimSpace(strings.Map(func(r rune) rune {
1264 if r > unicode.MaxASCII {
1265 return -1
1266 }
1267 return r
1268 }, xmltvProgram.Title[0].Value))
1269 }
1270 program.Title = xmltvProgram.Title
1271 }
1272
1273 filters := []FilterStruct{}
1274 for _, filter := range Settings.Filter {
1275 filter_json, _ := json.Marshal(filter)
1276 f := FilterStruct{}
1277 json.Unmarshal(filter_json, &f)
1278 filters = append(filters, f)
1279 }
1280
1281 // Category (Kategorie)
1282 getCategory(program, xmltvProgram, xepgChannel, filters)
1283
1284 // Sub-Title
1285 program.SubTitle = xmltvProgram.SubTitle
1286
1287 // Description
1288 program.Desc = xmltvProgram.Desc
1289
1290 // Credits : (Credits)
1291 program.Credits = xmltvProgram.Credits

Callers 2

createXEPGDatabaseFunction · 0.85
createXMLTVFileFunction · 0.85

Calls 6

createDummyProgramFunction · 0.85
getLocalXMLTVFunction · 0.85
getCategoryFunction · 0.85
getPosterFunction · 0.85
getEpisodeNumFunction · 0.85
getVideoFunction · 0.85

Tested by

no test coverage detected