refactor: inline single-use helpers in allanime
This commit is contained in:
@@ -153,10 +153,6 @@ func responseFromTobeparsed(data map[string]any) (map[string]any, error) {
|
|||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func hasEpisodeSourceURLs(data map[string]any) bool {
|
|
||||||
return len(nestedSlice(data, "episode", "sourceUrls")) > 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func parseGraphQLResponse(respBody []byte, decodeErrPrefix string) (map[string]any, error) {
|
func parseGraphQLResponse(respBody []byte, decodeErrPrefix string) (map[string]any, error) {
|
||||||
var parsed map[string]any
|
var parsed map[string]any
|
||||||
if err := json.Unmarshal(respBody, &parsed); err != nil {
|
if err := json.Unmarshal(respBody, &parsed); err != nil {
|
||||||
|
|||||||
@@ -302,12 +302,17 @@ func parseM3U8Sources(body string, masterURL string, referer string) []StreamSou
|
|||||||
currentBandwidth = bandwidth
|
currentBandwidth = bandwidth
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if shouldSkipM3U8Line(trimmed) {
|
if trimmed == "" || strings.HasPrefix(trimmed, "#") {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
streamURL := trimmed
|
||||||
|
if !strings.HasPrefix(streamURL, "http://") && !strings.HasPrefix(streamURL, "https://") {
|
||||||
|
streamURL = baseURL + streamURL
|
||||||
|
}
|
||||||
|
|
||||||
sources = append(sources, StreamSource{
|
sources = append(sources, StreamSource{
|
||||||
URL: resolvePlaylistURL(trimmed, baseURL),
|
URL: streamURL,
|
||||||
Quality: qualityFromBandwidth(currentBandwidth),
|
Quality: qualityFromBandwidth(currentBandwidth),
|
||||||
Provider: "hls",
|
Provider: "hls",
|
||||||
Type: "m3u8",
|
Type: "m3u8",
|
||||||
@@ -344,18 +349,6 @@ func parseStreamBandwidth(line string, bwPattern *regexp.Regexp) (int, bool) {
|
|||||||
return value, true
|
return value, true
|
||||||
}
|
}
|
||||||
|
|
||||||
func shouldSkipM3U8Line(line string) bool {
|
|
||||||
return line == "" || strings.HasPrefix(line, "#")
|
|
||||||
}
|
|
||||||
|
|
||||||
func resolvePlaylistURL(streamURL string, baseURL string) string {
|
|
||||||
if strings.HasPrefix(streamURL, "http://") || strings.HasPrefix(streamURL, "https://") {
|
|
||||||
return streamURL
|
|
||||||
}
|
|
||||||
|
|
||||||
return baseURL + streamURL
|
|
||||||
}
|
|
||||||
|
|
||||||
func qualityFromBandwidth(bandwidth int) string {
|
func qualityFromBandwidth(bandwidth int) string {
|
||||||
kbps := bandwidth / 1000
|
kbps := bandwidth / 1000
|
||||||
|
|
||||||
|
|||||||
@@ -281,7 +281,7 @@ func (c *AllAnimeProvider) graphqlRequestWithHash(ctx context.Context, showID, e
|
|||||||
return decrypted, nil
|
return decrypted, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if hasEpisodeSourceURLs(data) {
|
if len(nestedSlice(data, "episode", "sourceUrls")) > 0 {
|
||||||
return parsed, nil
|
return parsed, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user