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