Add an error message if the filter rule is empty.
Set the streaming status to active only once.
This commit is contained in:
@@ -889,8 +889,11 @@ InitBuffer:
|
|||||||
|
|
||||||
bufferFile.Close()
|
bufferFile.Close()
|
||||||
|
|
||||||
|
if stream.Status == false {
|
||||||
stream.Status = true
|
stream.Status = true
|
||||||
playlist.Streams[streamID] = stream
|
playlist.Streams[streamID] = stream
|
||||||
|
}
|
||||||
|
|
||||||
tmpSegment++
|
tmpSegment++
|
||||||
|
|
||||||
tmpFile = fmt.Sprintf("%s%d.ts", tmpFolder, tmpSegment)
|
tmpFile = fmt.Sprintf("%s%d.ts", tmpFolder, tmpSegment)
|
||||||
|
|||||||
16
src/data.go
16
src/data.go
@@ -397,17 +397,25 @@ func saveFilter(request RequestStruct) (settings SettingsStrcut, err error) {
|
|||||||
// Filter aktualisieren / löschen
|
// Filter aktualisieren / löschen
|
||||||
for key, value := range data.(map[string]interface{}) {
|
for key, value := range data.(map[string]interface{}) {
|
||||||
|
|
||||||
var oldData = filterMap[dataID].(map[string]interface{})
|
|
||||||
oldData[key] = value
|
|
||||||
|
|
||||||
// Filter löschen
|
// Filter löschen
|
||||||
if _, ok := data.(map[string]interface{})["delete"]; ok {
|
if _, ok := data.(map[string]interface{})["delete"]; ok {
|
||||||
|
|
||||||
delete(filterMap, dataID)
|
delete(filterMap, dataID)
|
||||||
break
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
if filter, ok := data.(map[string]interface{})["filter"].(string); ok {
|
||||||
|
|
||||||
|
if len(filter) == 0 {
|
||||||
|
err = errors.New(getErrMsg(1014))
|
||||||
|
delete(filterMap, dataID)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var oldData = filterMap[dataID].(map[string]interface{})
|
||||||
|
oldData[key] = value
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,6 +43,10 @@ func filterThisStream(s interface{}) (status bool) {
|
|||||||
|
|
||||||
for _, filter := range Data.Filter {
|
for _, filter := range Data.Filter {
|
||||||
|
|
||||||
|
if filter.Rule == "" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
var group, name, search string
|
var group, name, search string
|
||||||
var exclude, include string
|
var exclude, include string
|
||||||
var match = false
|
var match = false
|
||||||
|
|||||||
@@ -245,6 +245,8 @@ func getErrMsg(errCode int) (errMsg string) {
|
|||||||
errMsg = fmt.Sprintf("Invalid formatting of the time")
|
errMsg = fmt.Sprintf("Invalid formatting of the time")
|
||||||
case 1013:
|
case 1013:
|
||||||
errMsg = fmt.Sprintf("Invalid settings file (settings.json), file must be at least version %s", System.Compatibility)
|
errMsg = fmt.Sprintf("Invalid settings file (settings.json), file must be at least version %s", System.Compatibility)
|
||||||
|
case 1014:
|
||||||
|
errMsg = fmt.Sprintf("Invalid filter rule")
|
||||||
|
|
||||||
case 1020:
|
case 1020:
|
||||||
errMsg = fmt.Sprintf("Data could not be saved, invalid keyword")
|
errMsg = fmt.Sprintf("Data could not be saved, invalid keyword")
|
||||||
|
|||||||
@@ -316,6 +316,12 @@ func createXEPGDatabase() (err error) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var xepgChannels = make(map[string]interface{})
|
||||||
|
|
||||||
|
for k, v := range Data.XEPG.Channels {
|
||||||
|
xepgChannels[k] = v
|
||||||
|
}
|
||||||
|
|
||||||
for _, dsa := range Data.Streams.Active {
|
for _, dsa := range Data.Streams.Active {
|
||||||
|
|
||||||
var channelExists = false // Entscheidet ob ein Kanal neu zu Datenbank hinzugefügt werden soll.
|
var channelExists = false // Entscheidet ob ein Kanal neu zu Datenbank hinzugefügt werden soll.
|
||||||
@@ -331,7 +337,7 @@ func createXEPGDatabase() (err error) {
|
|||||||
Data.Cache.Streams.Active = append(Data.Cache.Streams.Active, m3uChannel.Name)
|
Data.Cache.Streams.Active = append(Data.Cache.Streams.Active, m3uChannel.Name)
|
||||||
|
|
||||||
// XEPG Datenbank durchlaufen um nach dem Kanal zu suchen.
|
// XEPG Datenbank durchlaufen um nach dem Kanal zu suchen.
|
||||||
for xepg, dxc := range Data.XEPG.Channels {
|
for xepg, dxc := range xepgChannels {
|
||||||
|
|
||||||
var xepgChannel XEPGChannelStruct
|
var xepgChannel XEPGChannelStruct
|
||||||
err = json.Unmarshal([]byte(mapToJSON(dxc)), &xepgChannel)
|
err = json.Unmarshal([]byte(mapToJSON(dxc)), &xepgChannel)
|
||||||
@@ -367,6 +373,7 @@ func createXEPGDatabase() (err error) {
|
|||||||
//os.Exit(0)
|
//os.Exit(0)
|
||||||
|
|
||||||
switch channelExists {
|
switch channelExists {
|
||||||
|
|
||||||
case true:
|
case true:
|
||||||
// Bereits vorhandener Kanal
|
// Bereits vorhandener Kanal
|
||||||
var xepgChannel XEPGChannelStruct
|
var xepgChannel XEPGChannelStruct
|
||||||
|
|||||||
Reference in New Issue
Block a user