本文整理汇总了Golang中github.com/scakemyer/quasar/xbmc.NewView函数的典型用法代码示例。如果您正苦于以下问题:Golang NewView函数的具体用法?Golang NewView怎么用?Golang NewView使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewView函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: Search
func Search(ctx *gin.Context) {
query := ctx.Request.URL.Query().Get("q")
if len(searchHistory) > 0 && xbmc.DialogConfirm("Quasar", "LOCALIZE[30262]") {
choice := xbmc.ListDialog("LOCALIZE[30261]", searchHistory...)
query = searchHistory[choice]
} else {
query = xbmc.Keyboard("", "LOCALIZE[30209]")
if query == "" {
return
}
searchHistory = append(searchHistory, query)
}
log.Println("Searching providers for:", query)
searchers := providers.GetSearchers()
torrents := providers.Search(searchers, query)
items := make(xbmc.ListItems, 0, len(torrents))
for _, torrent := range torrents {
item := &xbmc.ListItem{
Label: fmt.Sprintf("S:%d P:%d - %s", torrent.Seeds, torrent.Peers, torrent.Name),
Path: UrlQuery(UrlForXBMC("/play"), "uri", torrent.URI),
IsPlayable: true,
}
items = append(items, item)
}
ctx.JSON(200, xbmc.NewView("", items))
}
开发者ID:i96751414,项目名称:quasar,代码行数:30,代码来源:search.go
示例2: renderShows
func renderShows(shows tmdb.Shows, ctx *gin.Context, page int) {
paging := 0
if page >= 0 {
paging = 1
}
items := make(xbmc.ListItems, 0, len(shows)+paging)
for _, show := range shows {
if show == nil {
continue
}
item := show.ToListItem()
item.Path = UrlForXBMC("/show/%d/seasons", show.Id)
item.ContextMenu = [][]string{
[]string{"LOCALIZE[30219]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/library/show/addremove/%d", show.Id))},
[]string{"LOCALIZE[30035]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/setviewmode/tvshows"))},
}
items = append(items, item)
}
if page >= 0 {
path := ctx.Request.URL.Path
nextpage := &xbmc.ListItem{
Label: "LOCALIZE[30218]",
Path: UrlForXBMC(fmt.Sprintf("%s?page=%d", path, page+1)),
Thumbnail: config.AddonResource("img", "nextpage.png"),
}
items = append(items, nextpage)
}
ctx.JSON(200, xbmc.NewView("tvshows", items))
}
开发者ID:felipejfc,项目名称:quasar,代码行数:29,代码来源:shows.go
示例3: TVIndex
func TVIndex(ctx *gin.Context) {
items := xbmc.ListItems{
{Label: "LOCALIZE[30209]", Path: UrlForXBMC("/shows/search"), Thumbnail: config.AddonResource("img", "search.png")},
{Label: "LOCALIZE[30056]", Path: UrlForXBMC("/shows/trakt/"), Thumbnail: config.AddonResource("img", "trakt.png")},
{Label: "LOCALIZE[30238]", Path: UrlForXBMC("/shows/recent/episodes"), Thumbnail: config.AddonResource("img", "fresh.png")},
{Label: "LOCALIZE[30237]", Path: UrlForXBMC("/shows/recent/shows"), Thumbnail: config.AddonResource("img", "clock.png")},
{Label: "LOCALIZE[30210]", Path: UrlForXBMC("/shows/popular"), Thumbnail: config.AddonResource("img", "popular.png")},
{Label: "LOCALIZE[30211]", Path: UrlForXBMC("/shows/top"), Thumbnail: config.AddonResource("img", "top_rated.png")},
{Label: "LOCALIZE[30212]", Path: UrlForXBMC("/shows/mostvoted"), Thumbnail: config.AddonResource("img", "most_voted.png")},
}
for _, genre := range tmdb.GetTVGenres(config.Get().Language) {
slug, _ := genreSlugs[genre.Id]
items = append(items, &xbmc.ListItem{
Label: genre.Name,
Path: UrlForXBMC("/shows/popular/%s", strconv.Itoa(genre.Id)),
Thumbnail: config.AddonResource("img", fmt.Sprintf("genre_%s.png", slug)),
ContextMenu: [][]string{
[]string{"LOCALIZE[30237]", fmt.Sprintf("Container.Update(%s)", UrlForXBMC("/shows/recent/shows/%s", strconv.Itoa(genre.Id)))},
[]string{"LOCALIZE[30238]", fmt.Sprintf("Container.Update(%s)", UrlForXBMC("/shows/recent/episodes/%s", strconv.Itoa(genre.Id)))},
},
})
}
ctx.JSON(200, xbmc.NewView("", items))
}
开发者ID:scakemyer,项目名称:quasar,代码行数:25,代码来源:shows.go
示例4: ProviderList
func ProviderList(ctx *gin.Context) {
providers := getProviders()
items := make(xbmc.ListItems, 0, len(providers))
for _, provider := range providers {
status := "[COLOR FF009900]Ok[/COLOR]"
if provider.Status > 0 {
status = "[COLOR FF999900]Fail[/COLOR]"
}
enabled := "[COLOR FF009900]Enabled[/COLOR]"
if provider.Enabled == false {
enabled = "[COLOR FF990000]Disabled[/COLOR]"
}
item := &xbmc.ListItem{
Label: fmt.Sprintf("%s - %s - %s %s", status, enabled, provider.Name, provider.Version),
Path: UrlForXBMC("/provider/%s/check", provider.ID),
IsPlayable: false,
}
item.ContextMenu = [][]string{
[]string{"LOCALIZE[30242]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/provider/%s/check", provider.ID))},
[]string{"LOCALIZE[30240]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/provider/%s/enable", provider.ID))},
[]string{"LOCALIZE[30241]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/provider/%s/disable", provider.ID))},
}
if provider.Enabled {
item.ContextMenu = append(item.ContextMenu, []string{
"LOCALIZE[30244]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/provider/%s/settings", provider.ID)),
})
}
items = append(items, item)
}
ctx.JSON(200, xbmc.NewView("", items))
}
开发者ID:abuisine,项目名称:quasar,代码行数:35,代码来源:providers.go
示例5: SubtitleGet
func SubtitleGet(ctx *gin.Context) {
q := ctx.Request.URL.Query()
file := q.Get("file")
dl := q.Get("dl")
resp, err := http.Get(dl)
if err != nil {
ctx.AbortWithError(500, err)
return
}
defer resp.Body.Close()
reader, err := gzip.NewReader(resp.Body)
if err != nil {
ctx.AbortWithError(500, err)
return
}
defer reader.Close()
outFile, err := ioutil.TempFile("", "")
if err != nil {
ctx.AbortWithError(500, err)
return
}
defer outFile.Close()
io.Copy(outFile, reader)
ctx.JSON(200, xbmc.NewView("", xbmc.ListItems{
{Label: file, Path: outFile.Name()},
}))
}
开发者ID:peer23peer,项目名称:quasar,代码行数:32,代码来源:subtitles.go
示例6: ShowEpisodes
func ShowEpisodes(ctx *gin.Context) {
showId, _ := strconv.Atoi(ctx.Params.ByName("showId"))
seasonNumber, _ := strconv.Atoi(ctx.Params.ByName("season"))
language := config.Get().Language
show := tmdb.GetShow(showId, language)
season := tmdb.GetSeason(showId, seasonNumber, language)
items := season.Episodes.ToListItems(show, season)
for _, item := range items {
playUrl := UrlForXBMC("/show/%d/season/%d/episode/%d/play",
show.Id,
seasonNumber,
item.Info.Episode,
)
episodeLinksUrl := UrlForXBMC("/show/%d/season/%d/episode/%d/links",
show.Id,
seasonNumber,
item.Info.Episode,
)
if config.Get().ChooseStreamAuto == true {
item.Path = playUrl
} else {
item.Path = episodeLinksUrl
}
item.ContextMenu = [][]string{
[]string{"LOCALIZE[30202]", fmt.Sprintf("XBMC.PlayMedia(%s)", episodeLinksUrl)},
[]string{"LOCALIZE[30023]", fmt.Sprintf("XBMC.PlayMedia(%s)", playUrl)},
[]string{"LOCALIZE[30203]", "XBMC.Action(Info)"},
[]string{"LOCALIZE[30037]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/setviewmode/episodes"))},
}
item.IsPlayable = true
}
ctx.JSON(200, xbmc.NewView("episodes", items))
}
开发者ID:scakemyer,项目名称:quasar,代码行数:35,代码来源:shows.go
示例7: MovieGenres
func MovieGenres(ctx *gin.Context) {
genres := tmdb.GetMovieGenres(config.Get().Language)
items := make(xbmc.ListItems, 0, len(genres))
for _, genre := range genres {
items = append(items, &xbmc.ListItem{
Label: genre.Name,
Path: UrlForXBMC("/movies/popular/%s", strconv.Itoa(genre.Id)),
})
}
ctx.JSON(200, xbmc.NewView("", items))
}
开发者ID:peer23peer,项目名称:quasar,代码行数:12,代码来源:movies.go
示例8: TVTrakt
func TVTrakt(ctx *gin.Context) {
items := xbmc.ListItems{
{Label: "LOCALIZE[30254]", Path: UrlForXBMC("/shows/trakt/watchlist"), Thumbnail: config.AddonResource("img", "trakt.png")},
{Label: "LOCALIZE[30257]", Path: UrlForXBMC("/shows/trakt/collection"), Thumbnail: config.AddonResource("img", "trakt.png")},
{Label: "LOCALIZE[30210]", Path: UrlForXBMC("/shows/trakt/popular"), Thumbnail: config.AddonResource("img", "popular.png")},
{Label: "LOCALIZE[30246]", Path: UrlForXBMC("/shows/trakt/trending"), Thumbnail: config.AddonResource("img", "trending.png")},
{Label: "LOCALIZE[30247]", Path: UrlForXBMC("/shows/trakt/played"), Thumbnail: config.AddonResource("img", "most_played.png")},
{Label: "LOCALIZE[30248]", Path: UrlForXBMC("/shows/trakt/watched"), Thumbnail: config.AddonResource("img", "most_watched.png")},
{Label: "LOCALIZE[30249]", Path: UrlForXBMC("/shows/trakt/collected"), Thumbnail: config.AddonResource("img", "most_collected.png")},
{Label: "LOCALIZE[30250]", Path: UrlForXBMC("/shows/trakt/anticipated"), Thumbnail: config.AddonResource("img", "most_anticipated.png")},
}
ctx.JSON(200, xbmc.NewView("", items))
}
开发者ID:scakemyer,项目名称:quasar,代码行数:13,代码来源:shows.go
示例9: renderShows
func renderShows(shows tmdb.Shows, ctx *gin.Context, page int, query string) {
nextPage := 0
if page >= 0 {
nextPage = 1
}
items := make(xbmc.ListItems, 0, len(shows)+nextPage)
for _, show := range shows {
if show == nil {
continue
}
item := show.ToListItem()
item.Path = UrlForXBMC("/show/%d/seasons", show.Id)
libraryAction := []string{"LOCALIZE[30252]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/library/show/add/%d", show.Id))}
if inJsonDb, err := InJsonDB(strconv.Itoa(show.Id), LShow); err == nil && inJsonDb == true {
libraryAction = []string{"LOCALIZE[30253]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/library/show/remove/%d", show.Id))}
}
watchlistAction := []string{"LOCALIZE[30255]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/show/%d/watchlist/add", show.Id))}
if InShowsWatchlist(show.Id) {
watchlistAction = []string{"LOCALIZE[30256]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/show/%d/watchlist/remove", show.Id))}
}
collectionAction := []string{"LOCALIZE[30258]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/show/%d/collection/add", show.Id))}
if InShowsCollection(show.Id) {
collectionAction = []string{"LOCALIZE[30259]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/show/%d/collection/remove", show.Id))}
}
item.ContextMenu = [][]string{
libraryAction,
watchlistAction,
collectionAction,
[]string{"LOCALIZE[30035]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/setviewmode/tvshows"))},
}
items = append(items, item)
}
if page >= 0 {
path := ctx.Request.URL.Path
nextPath := UrlForXBMC(fmt.Sprintf("%s?page=%d", path, page+1))
if query != "" {
nextPath = UrlForXBMC(fmt.Sprintf("%s?q=%s&page=%d", path, query, page+1))
}
next := &xbmc.ListItem{
Label: "LOCALIZE[30218]",
Path: nextPath,
Thumbnail: config.AddonResource("img", "nextpage.png"),
}
items = append(items, next)
}
ctx.JSON(200, xbmc.NewView("tvshows", items))
}
开发者ID:scakemyer,项目名称:quasar,代码行数:51,代码来源:shows.go
示例10: Index
func Index(ctx *gin.Context) {
action := ctx.Request.URL.Query().Get("action")
if action == "search" || action == "manualsearch" {
SubtitlesIndex(ctx)
return
}
ctx.JSON(200, xbmc.NewView("", xbmc.ListItems{
{Label: "LOCALIZE[30214]", Path: UrlForXBMC("/movies/"), Thumbnail: config.AddonResource("img", "movies.png")},
{Label: "LOCALIZE[30215]", Path: UrlForXBMC("/shows/"), Thumbnail: config.AddonResource("img", "tv.png")},
{Label: "LOCALIZE[30209]", Path: UrlForXBMC("/search"), Thumbnail: config.AddonResource("img", "search.png")},
{Label: "LOCALIZE[30216]", Path: UrlForXBMC("/pasted"), Thumbnail: config.AddonResource("img", "magnet.png")},
}))
}
开发者ID:peer23peer,项目名称:quasar,代码行数:15,代码来源:index.go
示例11: ListTorrents
func ListTorrents(btService *bittorrent.BTService) gin.HandlerFunc {
return func(ctx *gin.Context) {
btService.Session.GetTorrents()
torrentsVector := btService.Session.GetTorrents()
torrentsVectorSize := int(torrentsVector.Size())
items := make(xbmc.ListItems, 0, torrentsVectorSize)
torrentsLog.Info("Currently downloading:")
for i := 0; i < torrentsVectorSize; i++ {
torrentHandle := torrentsVector.Get(i)
if torrentHandle.IsValid() == false {
continue
}
torrentStatus := torrentHandle.Status()
progress := float64(torrentStatus.GetProgress()) * 100
torrentName := torrentStatus.GetName()
playUrl := UrlQuery(UrlForXBMC("/play"), "resume", fmt.Sprintf("%d", i))
status := bittorrent.StatusStrings[int(torrentStatus.GetState())]
if torrentStatus.GetPaused() || btService.Session.IsPaused() {
status = "Paused"
}
torrentsLog.Info(fmt.Sprintf("- %s - %s", status, torrentName))
item := xbmc.ListItem{
Label: fmt.Sprintf("%.2f%% - %s - %s", progress, status, torrentName),
Path: playUrl,
Info: &xbmc.ListItemInfo{
Title: torrentName,
},
}
item.ContextMenu = [][]string{
[]string{"LOCALIZE[30230]", fmt.Sprintf("XBMC.PlayMedia(%s)", playUrl)},
[]string{"LOCALIZE[30235]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/torrents/resume/%d", i))},
[]string{"LOCALIZE[30231]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/torrents/pause/%d", i))},
[]string{"LOCALIZE[30232]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/torrents/delete/%d", i))},
[]string{"LOCALIZE[30233]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/torrents/pause"))},
[]string{"LOCALIZE[30234]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/torrents/resume"))},
}
item.IsPlayable = true
items = append(items, &item)
}
ctx.JSON(200, xbmc.NewView("", items))
}
}
开发者ID:abuisine,项目名称:quasar,代码行数:48,代码来源:torrents.go
示例12: TVIndex
func TVIndex(ctx *gin.Context) {
items := xbmc.ListItems{
{Label: "LOCALIZE[30209]", Path: UrlForXBMC("/shows/search"), Thumbnail: config.AddonResource("img", "search.png")},
{Label: "LOCALIZE[30210]", Path: UrlForXBMC("/shows/popular"), Thumbnail: config.AddonResource("img", "popular.png")},
}
for _, genre := range tmdb.GetTVGenres(config.Get().Language) {
slug, _ := genreSlugs[genre.Id]
items = append(items, &xbmc.ListItem{
Label: genre.Name,
Path: UrlForXBMC("/shows/popular/%s", strconv.Itoa(genre.Id)),
Thumbnail: config.AddonResource("img", fmt.Sprintf("genre_%s.png", slug)),
})
}
ctx.JSON(200, xbmc.NewView("", items))
}
开发者ID:razer1s,项目名称:quasar,代码行数:16,代码来源:shows.go
示例13: renderMovies
func renderMovies(movies tmdb.Movies, ctx *gin.Context, page int) {
paging := 0
if page >= 0 {
paging = 1
}
items := make(xbmc.ListItems, 0, len(movies)+paging)
for _, movie := range movies {
if movie == nil {
continue
}
item := movie.ToListItem()
playUrl := UrlForXBMC("/movie/%d/play", movie.Id)
movieLinksUrl := UrlForXBMC("/movie/%d/links", movie.Id)
if config.Get().ChooseStreamAuto == true {
item.Path = playUrl
} else {
item.Path = movieLinksUrl
}
item.ContextMenu = [][]string{
[]string{"LOCALIZE[30202]", fmt.Sprintf("XBMC.PlayMedia(%s)", movieLinksUrl)},
[]string{"LOCALIZE[30023]", fmt.Sprintf("XBMC.PlayMedia(%s)", playUrl)},
[]string{"LOCALIZE[30203]", "XBMC.Action(Info)"},
}
if movie.IMDBId != "" {
item.ContextMenu = append(item.ContextMenu, []string{
"LOCALIZE[30219]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/library/movie/addremove/%s", movie.IMDBId)),
})
}
item.ContextMenu = append(item.ContextMenu, []string{
"LOCALIZE[30034]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/setviewmode/movies")),
})
item.Info.Trailer = UrlForHTTP("/youtube/%s", item.Info.Trailer)
item.IsPlayable = true
items = append(items, item)
}
if page >= 0 {
path := ctx.Request.URL.Path
nextpage := &xbmc.ListItem{
Label: "LOCALIZE[30218]",
Path: UrlForXBMC(fmt.Sprintf("%s?page=%d", path, page+1)),
Thumbnail: config.AddonResource("img", "nextpage.png"),
}
items = append(items, nextpage)
}
ctx.JSON(200, xbmc.NewView("movies", items))
}
开发者ID:abuisine,项目名称:quasar,代码行数:46,代码来源:movies.go
示例14: ShowSeasons
func ShowSeasons(ctx *gin.Context) {
show, err := tvdb.NewShowCached(ctx.Params.ByName("showId"), config.Get().Language)
if err != nil {
ctx.Error(err)
return
}
items := show.Seasons.ToListItems(show)
reversedItems := make(xbmc.ListItems, 0)
for i := len(items) - 1; i >= 0; i-- {
item := items[i]
item.Path = UrlForXBMC("/show/%d/season/%d/episodes", show.Id, item.Info.Season)
reversedItems = append(reversedItems, item)
}
// xbmc.ListItems always returns false to Less() so that order is unchanged
ctx.JSON(200, xbmc.NewView("seasons", reversedItems))
}
开发者ID:razer1s,项目名称:quasar,代码行数:18,代码来源:shows.go
示例15: ShowSeasons
func ShowSeasons(ctx *gin.Context) {
showId, _ := strconv.Atoi(ctx.Params.ByName("showId"))
show := tmdb.GetShow(showId, config.Get().Language)
items := show.Seasons.ToListItems(show)
reversedItems := make(xbmc.ListItems, 0)
for i := len(items) - 1; i >= 0; i-- {
item := items[i]
item.Path = UrlForXBMC("/show/%d/season/%d/episodes", show.Id, item.Info.Season)
item.ContextMenu = [][]string{
[]string{"LOCALIZE[30036]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/setviewmode/seasons"))},
}
reversedItems = append(reversedItems, item)
}
// xbmc.ListItems always returns false to Less() so that order is unchanged
ctx.JSON(200, xbmc.NewView("seasons", reversedItems))
}
开发者ID:felipejfc,项目名称:quasar,代码行数:19,代码来源:shows.go
示例16: SubtitleGet
func SubtitleGet(ctx *gin.Context) {
q := ctx.Request.URL.Query()
file := q.Get("file")
dl := q.Get("dl")
resp, err := http.Get(dl)
if err != nil {
ctx.AbortWithError(404, err)
return
}
defer resp.Body.Close()
reader, err := gzip.NewReader(resp.Body)
if err != nil {
ctx.AbortWithError(404, err)
return
}
defer reader.Close()
subtitlesPath := filepath.Join(config.Get().DownloadPath, "Subtitles")
if _, err := os.Stat(subtitlesPath); os.IsNotExist(err) {
if err := os.Mkdir(subtitlesPath, 0755); err != nil {
subLog.Error("Unable to create Subtitles folder")
}
}
outFile, err := os.Create(filepath.Join(subtitlesPath, file))
if err != nil {
ctx.AbortWithError(404, err)
return
}
defer outFile.Close()
io.Copy(outFile, reader)
ctx.JSON(200, xbmc.NewView("", xbmc.ListItems{
{Label: file, Path: outFile.Name()},
}))
}
开发者ID:i96751414,项目名称:quasar,代码行数:39,代码来源:subtitles.go
示例17: ListTorrents
func ListTorrents(btService *bittorrent.BTService) gin.HandlerFunc {
return func(ctx *gin.Context) {
btService.Session.GetTorrents()
torrentsVector := btService.Session.GetTorrents()
torrentsVectorSize := int(torrentsVector.Size())
items := make(xbmc.ListItems, 0, torrentsVectorSize)
torrentsLog.Info("Currently downloading:")
for i := 0; i < torrentsVectorSize; i++ {
torrentHandle := torrentsVector.Get(i)
if torrentHandle.IsValid() == false {
continue
}
torrentName := torrentHandle.Status(uint(libtorrent.TorrentHandleQueryName)).GetName()
torrentsLog.Info(fmt.Sprintf("- %s", torrentName))
playUrl := UrlQuery(UrlForXBMC("/play"), "resume", fmt.Sprintf("%d", i))
item := xbmc.ListItem{
Label: torrentName,
Path: playUrl,
Info: &xbmc.ListItemInfo{
Title: torrentName,
},
}
item.ContextMenu = [][]string{
[]string{"LOCALIZE[30230]", fmt.Sprintf("XBMC.PlayMedia(%s)", playUrl)},
[]string{"LOCALIZE[30231]", fmt.Sprintf("XBMC.PlayMedia(%s)", UrlForXBMC("/torrents/pause/%d", i))},
[]string{"LOCALIZE[30232]", fmt.Sprintf("XBMC.PlayMedia(%s)", UrlForXBMC("/torrents/delete/%d", i))},
}
item.IsPlayable = true
items = append(items, &item)
}
ctx.JSON(200, xbmc.NewView("", items))
}
}
开发者ID:razer1s,项目名称:quasar,代码行数:38,代码来源:torrents.go
示例18: Search
func Search(c *gin.Context) {
query := xbmc.Keyboard("", "LOCALIZE[30209]")
if query == "" {
return
}
log.Println("Searching providers for:", query)
searchers := providers.GetSearchers()
torrents := providers.Search(searchers, query)
items := make(xbmc.ListItems, 0, len(torrents))
for _, torrent := range torrents {
item := &xbmc.ListItem{
Label: fmt.Sprintf("S:%d P:%d - %s", torrent.Seeds, torrent.Peers, torrent.Name),
Path: UrlQuery(UrlForXBMC("/play"), "uri", torrent.URI),
IsPlayable: true,
}
items = append(items, item)
}
c.JSON(200, xbmc.NewView("", items))
}
开发者ID:peer23peer,项目名称:quasar,代码行数:23,代码来源:search.go
示例19: ShowEpisodes
func ShowEpisodes(ctx *gin.Context) {
show, err := tvdb.NewShowCached(ctx.Params.ByName("showId"), config.Get().Language)
if err != nil {
ctx.Error(err)
return
}
seasonNumber, _ := strconv.Atoi(ctx.Params.ByName("season"))
season := show.Seasons[seasonNumber]
items := season.Episodes.ToListItems(show)
for _, item := range items {
playUrl := UrlForXBMC("/show/%d/season/%d/episode/%d/play",
show.Id,
season.Season,
item.Info.Episode,
)
episodeLinksUrl := UrlForXBMC("/show/%d/season/%d/episode/%d/links",
show.Id,
season.Season,
item.Info.Episode,
)
if config.Get().ChooseStreamAuto == true {
item.Path = playUrl
} else {
item.Path = episodeLinksUrl
}
item.ContextMenu = [][]string{
[]string{"LOCALIZE[30202]", fmt.Sprintf("XBMC.PlayMedia(%s)", episodeLinksUrl)},
[]string{"LOCALIZE[30023]", fmt.Sprintf("XBMC.PlayMedia(%s)", playUrl)},
[]string{"LOCALIZE[30203]", "XBMC.Action(Info)"},
}
item.IsPlayable = true
}
ctx.JSON(200, xbmc.NewView("episodes", items))
}
开发者ID:razer1s,项目名称:quasar,代码行数:37,代码来源:shows.go
示例20: renderTraktMovies
func renderTraktMovies(movies []*trakt.Movies, ctx *gin.Context, page int) {
hasNextPage := 0
if page > 0 {
hasNextPage = 1
}
items := make(xbmc.ListItems, 0, len(movies)+hasNextPage)
for _, movieListing := range movies {
movie := movieListing.Movie
if movie == nil {
continue
}
item := movie.ToListItem()
playUrl := UrlForXBMC("/movie/%d/play", movie.IDs.TMDB)
movieLinksUrl := UrlForXBMC("/movie/%d/links", movie.IDs.TMDB)
if config.Get().ChooseStreamAuto == true {
item.Path = playUrl
} else {
item.Path = movieLinksUrl
}
libraryAction := []string{"LOCALIZE[30252]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/library/movie/add/%d", movie.IDs.TMDB))}
if inJsonDb, err := InJsonDB(strconv.Itoa(movie.IDs.TMDB), LMovie); err == nil && inJsonDb == true {
libraryAction = []string{"LOCALIZE[30253]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/library/movie/remove/%d", movie.IDs.TMDB))}
}
watchlistAction := []string{"LOCALIZE[30255]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/movie/%d/watchlist/add", movie.IDs.TMDB))}
if InMoviesWatchlist(movie.IDs.TMDB) {
watchlistAction = []string{"LOCALIZE[30256]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/movie/%d/watchlist/remove", movie.IDs.TMDB))}
}
collectionAction := []string{"LOCALIZE[30258]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/movie/%d/collection/add", movie.IDs.TMDB))}
if InMoviesCollection(movie.IDs.TMDB) {
collectionAction = []string{"LOCALIZE[30259]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/movie/%d/collection/remove", movie.IDs.TMDB))}
}
item.ContextMenu = [][]string{
[]string{"LOCALIZE[30202]", fmt.Sprintf("XBMC.PlayMedia(%s)", movieLinksUrl)},
[]string{"LOCALIZE[30023]", fmt.Sprintf("XBMC.PlayMedia(%s)", playUrl)},
[]string{"LOCALIZE[30203]", "XBMC.Action(Info)"},
libraryAction,
watchlistAction,
collectionAction,
[]string{"LOCALIZE[30034]", fmt.Sprintf("XBMC.RunPlugin(%s)", UrlForXBMC("/setviewmode/movies"))},
}
// item.Info.Trailer = UrlForHTTP("/youtube/%s", movie.Trailer)
item.IsPlayable = true
items = append(items, item)
}
if page >= 0 && hasNextPage > 0 {
path := ctx.Request.URL.Path
nextpage := &xbmc.ListItem{
Label: "LOCALIZE[30218]",
Path: UrlForXBMC(fmt.Sprintf("%s?page=%d", path, page+1)),
Thumbnail: config.AddonResource("img", "nextpage.png"),
}
items = append(items, nextpage)
}
ctx.JSON(200, xbmc.NewView("movies", items))
}
开发者ID:scakemyer,项目名称:quasar,代码行数:61,代码来源:trakt.go
注:本文中的github.com/scakemyer/quasar/xbmc.NewView函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论