()
| 103 | } |
| 104 | |
| 105 | func getLineup() (jsonContent []byte, err error) { |
| 106 | |
| 107 | var lineup Lineup |
| 108 | |
| 109 | switch Settings.EpgSource { |
| 110 | |
| 111 | case "PMS": |
| 112 | for i, dsa := range Data.Streams.Active { |
| 113 | |
| 114 | var m3uChannel M3UChannelStructXEPG |
| 115 | |
| 116 | err = json.Unmarshal([]byte(mapToJSON(dsa)), &m3uChannel) |
| 117 | if err != nil { |
| 118 | return |
| 119 | } |
| 120 | |
| 121 | var stream LineupStream |
| 122 | stream.GuideName = m3uChannel.Name |
| 123 | switch len(m3uChannel.UUIDValue) { |
| 124 | |
| 125 | case 0: |
| 126 | stream.GuideNumber = fmt.Sprintf("%d", i+1000) |
| 127 | guideNumber, err := getGuideNumberPMS(stream.GuideName) |
| 128 | if err != nil { |
| 129 | ShowError(err, 0) |
| 130 | } |
| 131 | |
| 132 | stream.GuideNumber = guideNumber |
| 133 | |
| 134 | default: |
| 135 | stream.GuideNumber = m3uChannel.UUIDValue |
| 136 | |
| 137 | } |
| 138 | |
| 139 | stream.URL, err = createStreamingURL("DVR", m3uChannel.FileM3UID, stream.GuideNumber, m3uChannel.Name, m3uChannel.URL, nil, nil, nil) |
| 140 | if err == nil { |
| 141 | lineup = append(lineup, stream) |
| 142 | } else { |
| 143 | ShowError(err, 1202) |
| 144 | } |
| 145 | |
| 146 | } |
| 147 | |
| 148 | case "XEPG": |
| 149 | for _, dxc := range Data.XEPG.Channels { |
| 150 | |
| 151 | var xepgChannel XEPGChannelStruct |
| 152 | err = json.Unmarshal([]byte(mapToJSON(dxc)), &xepgChannel) |
| 153 | if err != nil { |
| 154 | return |
| 155 | } |
| 156 | |
| 157 | if xepgChannel.XActive == true && !xepgChannel.XHideChannel { |
| 158 | var stream LineupStream |
| 159 | stream.GuideName = xepgChannel.XName |
| 160 | stream.GuideNumber = xepgChannel.XChannelID |
| 161 | //stream.URL = fmt.Sprintf("%s://%s/stream/%s-%s", System.ServerProtocol.DVR, System.Domain, xepgChannel.FileM3UID, base64.StdEncoding.EncodeToString([]byte(xepgChannel.URL))) |
| 162 | stream.URL, err = createStreamingURL("DVR", xepgChannel.FileM3UID, xepgChannel.XChannelID, xepgChannel.XName, xepgChannel.URL, xepgChannel.BackupChannel1, xepgChannel.BackupChannel2, xepgChannel.BackupChannel3) |
no test coverage detected