添加skip的集

master
kuiki 2019-02-19 11:43:51 +08:00
parent 2c592ed54e
commit 6799e50ab1
1 changed files with 22 additions and 14 deletions

36
main.go
View File

@ -3,6 +3,8 @@ package main
import ( import (
"fmt" "fmt"
"strconv" "strconv"
"github.com/yinhui87/go-component/language"
) )
type episode struct { type episode struct {
@ -13,17 +15,17 @@ type episode struct {
func main() { func main() {
episodeProvider := new(mockProvider) episodeProvider := new(mockProvider)
// epdatas, err := getEPData(episodeProvider, "av1742161") epdatas, err := getEPData(episodeProvider, "av1742161")
epdatas, err := getEPData(episodeProvider, "ep173262") // epdatas, err := getEPData(episodeProvider, "ep173262")
if err != nil { if err != nil {
panic(err) panic(err)
} }
for i, epdata := range epdatas { for i, epdata := range epdatas {
fmt.Printf("ep %d Cid: %v, Title: %s\n", i, epdata.Cid, epdata.Title) fmt.Printf("%dep %d Cid: %v, Title: %s\n", i, epdata.Index, epdata.Cid, epdata.Title)
} }
} }
func getEPData(provider EpisodeDataProvider, videoNo string) (episodes []episode, err error) { func getEPData(provider EpisodeDataProvider, videoNo string, skipIndex ...int64) (episodes []episode, err error) {
videoType := videoNo[0:2] videoType := videoNo[0:2]
videoID, err := strconv.ParseInt(videoNo[2:], 10, 64) videoID, err := strconv.ParseInt(videoNo[2:], 10, 64)
if err != nil { if err != nil {
@ -37,11 +39,14 @@ func getEPData(provider EpisodeDataProvider, videoNo string) (episodes []episode
return episodes, err return episodes, err
} }
for i, avdata := range avdatas { for i, avdata := range avdatas {
episodes = append(episodes, episode{ index := int64(i) + 1
Index: int64(i), if language.ArrayIn(skipIndex, index) == -1 {
Cid: avdata.Cid, episodes = append(episodes, episode{
Title: avdata.Part, Index: index,
}) Cid: avdata.Cid,
Title: avdata.Part,
})
}
} }
case "ep": case "ep":
epdatas, err := provider.GetEPData(videoID) epdatas, err := provider.GetEPData(videoID)
@ -49,11 +54,14 @@ func getEPData(provider EpisodeDataProvider, videoNo string) (episodes []episode
return episodes, err return episodes, err
} }
for i, epdata := range epdatas { for i, epdata := range epdatas {
episodes = append(episodes, episode{ index := int64(i) + 1
Index: int64(i), if language.ArrayIn(skipIndex, index) == -1 {
Cid: epdata.Cid, episodes = append(episodes, episode{
Title: epdata.LongTitle, Index: index,
}) Cid: epdata.Cid,
Title: epdata.LongTitle,
})
}
} }
} }
return return