From 6799e50ab1580c6e42d0008dcf1eb07dcfde1ef7 Mon Sep 17 00:00:00 2001 From: kuiki Date: Tue, 19 Feb 2019 11:43:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0skip=E7=9A=84=E9=9B=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.go | 36 ++++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/main.go b/main.go index 2c85fe9..d0aa171 100644 --- a/main.go +++ b/main.go @@ -3,6 +3,8 @@ package main import ( "fmt" "strconv" + + "github.com/yinhui87/go-component/language" ) type episode struct { @@ -13,17 +15,17 @@ type episode struct { func main() { episodeProvider := new(mockProvider) - // epdatas, err := getEPData(episodeProvider, "av1742161") - epdatas, err := getEPData(episodeProvider, "ep173262") + epdatas, err := getEPData(episodeProvider, "av1742161") + // epdatas, err := getEPData(episodeProvider, "ep173262") if err != nil { panic(err) } 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] videoID, err := strconv.ParseInt(videoNo[2:], 10, 64) if err != nil { @@ -37,11 +39,14 @@ func getEPData(provider EpisodeDataProvider, videoNo string) (episodes []episode return episodes, err } for i, avdata := range avdatas { - episodes = append(episodes, episode{ - Index: int64(i), - Cid: avdata.Cid, - Title: avdata.Part, - }) + index := int64(i) + 1 + if language.ArrayIn(skipIndex, index) == -1 { + episodes = append(episodes, episode{ + Index: index, + Cid: avdata.Cid, + Title: avdata.Part, + }) + } } case "ep": epdatas, err := provider.GetEPData(videoID) @@ -49,11 +54,14 @@ func getEPData(provider EpisodeDataProvider, videoNo string) (episodes []episode return episodes, err } for i, epdata := range epdatas { - episodes = append(episodes, episode{ - Index: int64(i), - Cid: epdata.Cid, - Title: epdata.LongTitle, - }) + index := int64(i) + 1 + if language.ArrayIn(skipIndex, index) == -1 { + episodes = append(episodes, episode{ + Index: index, + Cid: epdata.Cid, + Title: epdata.LongTitle, + }) + } } } return