def StartInfoActions(infos, params): if "artistname" in params: params["artistname"] = params.get("artistname", "").split(" feat. ")[0].strip() params["artist_mbid"] = GetMusicBrainzIdFromNet(params["artistname"]) prettyprint(params) prettyprint(infos) if "prefix" in params and (not params["prefix"].endswith('.')) and ( params["prefix"] is not ""): params["prefix"] = params["prefix"] + '.' for info in infos: data = None ########### Images ##################### if info == 'xkcd': data = GetXKCDInfo(), "XKCD" elif info == 'flickr': data = GetFlickrImages(), "Flickr" elif info == 'cyanide': data = GetCandHInfo(), "CyanideHappiness" elif info == 'dailybabes': data = GetDailyBabes(), "DailyBabes" elif info == 'dailybabe': data = GetDailyBabes(single=True), "DailyBabe" ########### Audio ##################### elif info == 'discography': Discography = GetDiscography(params["artistname"]) if len(Discography) == 0: Discography = GetArtistTopAlbums(params.get("artist_mbid")) data = Discography, "Discography" elif info == 'mostlovedtracks': data = GetMostLovedTracks(params["artistname"]), "MostLovedTracks" elif info == 'artistdetails': ArtistDetails = GetArtistDetails(params["artistname"]) passDictToSkin(ArtistDetails, params.get("prefix", "")) if "audiodbid" in ArtistDetails: data = GetMusicVideos( ArtistDetails["audiodbid"]), "MusicVideos" elif info == 'musicvideos': pass # if "audiodbid" in ArtistDetails: # data = GetMusicVideos(ArtistDetails["audiodbid"]), "MusicVideos" elif info == 'albuminfo': if params.get("id", ""): AlbumDetails = GetAlbumDetails(params.get("id", "")) passDictToSkin(AlbumDetails, params.get("prefix", "")) elif info == 'trackdetails': if params.get("id", ""): data = GetTrackDetails(params.get("id", "")), "Trackinfo" elif info == 'albumshouts': if params["artistname"] and params["albumname"]: data = GetAlbumShouts(params["artistname"], params["albumname"]), "Shout" elif info == 'artistshouts': if params["artistname"]: data = GetArtistShouts(params["artistname"]), "Shout" elif info == 'topartists': data = GetTopArtists(), "TopArtists" elif info == 'hypedartists': data = GetHypedArtists(), "HypedArtists" ### RottenTomatoesMovies ################################################################################# elif info == 'intheaters': data = GetRottenTomatoesMovies( "movies/in_theaters"), "InTheatersMovies" elif info == 'boxoffice': data = GetRottenTomatoesMovies("movies/box_office"), "BoxOffice" elif info == 'opening': data = GetRottenTomatoesMovies("movies/opening"), "Opening" elif info == 'comingsoon': data = GetRottenTomatoesMovies( "movies/upcoming"), "ComingSoonMovies" elif info == 'toprentals': data = GetRottenTomatoesMovies("dvds/top_rentals"), "TopRentals" elif info == 'currentdvdreleases': data = GetRottenTomatoesMovies( "dvds/current_releases"), "CurrentDVDs" elif info == 'newdvdreleases': data = GetRottenTomatoesMovies("dvds/new_releases"), "NewDVDs" elif info == 'upcomingdvds': data = GetRottenTomatoesMovies("dvds/upcoming"), "UpcomingDVDs" ### The MovieDB ########################################################################################## elif info == 'incinemas': data = GetMovieDBMovies("now_playing"), "InCinemasMovies" elif info == 'upcoming': data = GetMovieDBMovies("upcoming"), "UpcomingMovies" elif info == 'topratedmovies': data = GetMovieDBMovies("top_rated"), "TopRatedMovies" elif info == 'popularmovies': data = GetMovieDBMovies("popular"), "PopularMovies" elif info == 'airingtodaytvshows': data = GetMovieDBTVShows("airing_today"), "AiringTodayTVShows" elif info == 'onairtvshows': data = GetMovieDBTVShows("on_the_air"), "OnAirTVShows" elif info == 'topratedtvshows': data = GetMovieDBTVShows("top_rated"), "TopRatedTVShows" elif info == 'populartvshows': data = GetMovieDBTVShows("popular"), "PopularTVShows" elif info == 'similarmovies': if params.get("id", False): MovieId = params["id"] elif int(params.get("dbid", -1)) > 0: MovieId = GetImdbIDFromDatabase("movie", params["dbid"]) log("IMDBId from local DB:" + str(MovieId)) else: MovieId = "" if MovieId: data = GetSimilarMovies(MovieId), "SimilarMovies" elif info == 'studio': if params["studio"]: CompanyId = SearchforCompany(params["studio"])[0]["id"] data = GetCompanyInfo(CompanyId), "StudioInfo" elif info == 'set': if params.get("dbid", False) and not "show" in str(params.get("type", "")): name = GetMovieSetName(params["dbid"]) if name: params["setid"] = SearchForSet(name) if params.get("setid", False): SetData, info = GetSetMovies(params["setid"]) if SetData: data = SetData, "MovieSetItems" elif info == 'movielists': if params.get("dbid", False): movieid = GetImdbIDFromDatabase("movie", params["dbid"]) log("MovieDB Id:" + str(movieid)) if movieid: data = GetMovieLists(movieid), "MovieLists" elif info == 'keywords': if params.get("dbid", False): movieid = GetImdbIDFromDatabase("movie", params["dbid"]) log("MovieDB Id:" + str(movieid)) if movieid: data = GetMovieKeywords(movieid), "Keywords" elif info == 'popularpeople': data = GetPopularActorList(), "PopularPeople" elif info == 'extendedinfo': from DialogVideoInfo import DialogVideoInfo if params.get("handle", ""): xbmcplugin.endOfDirectory(params.get("handle", "")) dialog = DialogVideoInfo(u'script-%s-DialogVideoInfo.xml' % addon_name, addon_path, id=params.get("id", ""), dbid=params.get("dbid", None), imdbid=params.get("imdbid", ""), name=params.get("name", "")) dialog.doModal() elif info == 'extendedactorinfo': from DialogActorInfo import DialogActorInfo dialog = DialogActorInfo(u'script-%s-DialogInfo.xml' % addon_name, addon_path, id=params.get("id", ""), name=params.get("name", "")) dialog.doModal() elif info == 'extendedtvinfo': from DialogTVShowInfo import DialogTVShowInfo if params.get("handle", ""): xbmcplugin.endOfDirectory(params.get("handle", "")) dialog = DialogTVShowInfo(u'script-%s-DialogVideoInfo.xml' % addon_name, addon_path, id=params.get("id", ""), dbid=params.get("dbid", None), imdbid=params.get("imdbid", ""), name=params.get("name", "")) dialog.doModal() elif info == 'seasoninfo': if params.get("tvshow", False) and params.get("season", False): from DialogSeasonInfo import DialogSeasonInfo dialog = DialogSeasonInfo(u'script-%s-DialogVideoInfo.xml' % addon_name, addon_path, tvshow=params["tvshow"], season=params["season"]) dialog.doModal() else: Notify("Error", "Required data missing in script call") elif info == 'directormovies': if params.get("director", False): directorid = GetPersonID(params["director"])["id"] if directorid: data = GetDirectorMovies(directorid), "DirectorMovies" elif info == 'writermovies': if params.get("writer", False) and not params["writer"].split( " / ")[0] == params.get("director", "").split(" / ")[0]: writerid = GetPersonID(params["writer"])["id"] if writerid: data = GetDirectorMovies(writerid), "WriterMovies" elif info == 'similarmoviestrakt': if params.get("id", False) or params.get("dbid", False): if params.get("dbid", False): movieid = GetImdbIDFromDatabase("movie", params["dbid"]) else: movieid = params.get("id", "") data = GetSimilarTrakt("movie", movieid), "SimilarMovies" elif info == 'similartvshowstrakt': if (params.get("id", "") or params["dbid"]): if params.get("dbid", False): if params.get("type") == "episode": tvshowid = GetImdbIDFromDatabasefromEpisode( params["dbid"]) else: tvshowid = GetImdbIDFromDatabase( "tvshow", params["dbid"]) else: tvshowid = params.get("id", "") data = GetSimilarTrakt("show", tvshowid), "SimilarTVShows" elif info == 'airingshows': data = GetTraktCalendarShows("shows"), "AiringShows" elif info == 'premiereshows': data = GetTraktCalendarShows("premieres"), "PremiereShows" elif info == 'trendingshows': data = GetTrendingShows(), "TrendingShows" elif info == 'trendingmovies': data = GetTrendingMovies(), "TrendingMovies" elif info == 'similarartistsinlibrary': if params.get("artist_mbid"): data = GetSimilarArtistsInLibrary( params.get("artist_mbid")), "SimilarArtists" elif info == 'artistevents': if params.get("artist_mbid"): data = GetEvents(params.get("artist_mbid")), "ArtistEvents" elif info == 'youtubesearch': homewindow.setProperty('%sSearchValue' % params.get("prefix", ""), params.get("id", "")) # set properties if params.get("id", False): data = GetYoutubeSearchVideosV3( params.get("id", ""), params.get("hd", ""), params.get("orderby", "relevance")), "YoutubeSearch" elif info == 'youtubeplaylist': if params.get("id", False): data = GetYoutubePlaylistVideos(params.get( "id", "")), "YoutubePlaylist" elif info == 'youtubeusersearch': if params.get("id", ""): data = GetYoutubeUserVideos(params.get( "id", "")), "YoutubeUserSearch" elif info == 'nearevents': data = GetNearEvents(params.get("tag", ""), params.get("festivalsonly", ""), params.get("lat", ""), params.get("lon", ""), params.get("location", ""), params.get("distance", "")), "NearEvents" elif info == 'trackinfo': homewindow.setProperty('%sSummary' % params.get("prefix", ""), "") # set properties if params["artistname"] and params["trackname"]: TrackInfo = GetTrackInfo(params["artistname"], params["trackname"]) homewindow.setProperty('%sSummary' % params.get("prefix", ""), TrackInfo["summary"]) # set properties elif info == 'venueevents': if params["location"]: params["id"] = GetVenueID(params["location"]) if params.get("id", ""): data = GetVenueEvents(params.get("id", "")), "VenueEvents" else: Notify("Error", "Could not find venue") elif info == 'topartistsnearevents': artists = GetXBMCArtists() data = GetArtistNearEvents( artists["result"]["artists"][0:49]), "TopArtistsNearEvents" elif info == 'channels': channels = create_channel_list() # prettyprint(channels) elif info == 'favourites': if params.get("id", ""): favourites = GetFavouriteswithType(params.get("id", "")) else: favourites = GetFavourites() homewindow.setProperty('favourite.count', str(len(favourites))) if len(favourites) > 0: homewindow.setProperty('favourite.1.name', favourites[-1]["Label"]) data = favourites, "Favourites" elif info == 'json': data = GetYoutubeVideos(params["feed"]), "RSS" elif info == 'similarlocal' and "dbid" in params: data = GetSimilarFromOwnLibrary( params["dbid"]), "SimilarLocalMovies" elif info == 'iconpanel': data = GetIconPanel(int(self.id)), "IconPanel" + str(self.id) elif info == 'weather': data = GetWeatherImages(), "WeatherImages" elif info == 'updatexbmcdatabasewithartistmbidbg': SetMusicBrainzIDsForAllArtists(False, False) elif info == 'setfocus': params["control"] = "" # workaround to avoid breaking PlayMedia xbmc.executebuiltin("SetFocus(22222)") elif info == 'playliststats': GetPlaylistStats(params.get("id", "")) elif info == "sortletters": data = GetSortLetters(params["path"], params.get("id", "")), "SortLetters" elif info == 'slideshow': windowid = xbmcgui.getCurrentWindowId() Window = xbmcgui.Window(windowid) # focusid = Window.getFocusId() itemlist = Window.getFocus() numitems = itemlist.getSelectedPosition() log("items:" + str(numitems)) for i in range(0, numitems): Notify(item.getProperty("Image")) elif info == 'action': xbmc.executebuiltin(params.get("id", "")) elif info == 'bounce': homewindow.setProperty(params.get("name", ""), "True") xbmc.sleep(200) homewindow.clearProperty(params.get("name", "")) elif info == "youtubevideo": if params.get("id", ""): params[ "control"] = "" # workaround to avoid breaking PlayMedia xbmc.executebuiltin("Dialog.Close(all,true)") PlayTrailer(params.get("id", "")) elif info == 'playtrailer': xbmc.executebuiltin("ActivateWindow(busydialog)") xbmc.sleep(500) if params.get("id", ""): MovieId = params.get("id", "") elif int(params.get("dbid", -1)) > 0: MovieId = GetImdbIDFromDatabase("movie", params["dbid"]) log("MovieDBID from local DB:" + str(MovieId)) elif params.get("imdbid", ""): MovieId = GetMovieDBID(params.get("imdbid", "")) else: MovieId = "" if MovieId: trailer = GetTrailer(MovieId) xbmc.executebuiltin("Dialog.Close(busydialog)") if trailer: PlayTrailer(trailer) params[ "control"] = "" # workaround to avoid breaking PlayMedia else: Notify("Error", "No Trailer available") elif info == 'updatexbmcdatabasewithartistmbid': SetMusicBrainzIDsForAllArtists(True, False) elif info == 'deletecache': for the_file in os.listdir(Addon_Data_Path): file_path = os.path.join(Addon_Data_Path, the_file) try: if os.path.isfile( file_path) and not the_file == "settings.xml": os.unlink(file_path) except Exception, e: log(e) Notify("Cache deleted") elif info == 'syncwatchlist': pass
def _StartInfoActions(self): for info in self.infos: ########### Images ##################### if info == 'xkcd': passListToSkin('XKCD', GetXKCDInfo(), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'flickr': passListToSkin('Flickr', GetFlickrImages(), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'cyanide': passListToSkin('CyanideHappiness', GetCandHInfo(), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'dailybabes': passListToSkin('DailyBabes', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) passListToSkin('DailyBabes', GetDailyBabes(), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'dailybabe': passListToSkin('DailyBabe', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) passListToSkin('DailyBabe', GetDailyBabes(single=True), self.prop_prefix, self.window, self.control, self.handle, self.limit) ########### Audio ##################### elif info == 'discography': passListToSkin('Discography', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) Discography = GetDiscography(self.ArtistName) if len(Discography) == 0: Discography = GetArtistTopAlbums(self.Artist_mbid) passListToSkin('Discography', Discography, self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'mostlovedtracks': passListToSkin('MostLovedTracks', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) passListToSkin('MostLovedTracks', GetMostLovedTracks(self.ArtistName), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'artistdetails': passListToSkin('Discography', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) passListToSkin('MusicVideos', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) ArtistDetails = GetArtistDetails(self.ArtistName) if "audiodbid" in ArtistDetails: MusicVideos = GetMusicVideos(ArtistDetails["audiodbid"]) passListToSkin('MusicVideos', MusicVideos, self.prop_prefix, self.window, self.control, self.handle, self.limit) passListToSkin('Discography', GetDiscography(self.ArtistName), self.prop_prefix, self.window, self.control, self.handle, self.limit) passDictToSkin(ArtistDetails, self.prop_prefix) elif info == 'albuminfo': if self.id: AlbumDetails = GetAlbumDetails(self.id) Trackinfo = GetTrackDetails(self.id) passDictToSkin(AlbumDetails, self.prop_prefix) passListToSkin('Trackinfo', Trackinfo, self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'albumshouts': passListToSkin('Shout', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) if self.ArtistName and self.AlbumName: passListToSkin( 'Shout', GetAlbumShouts(self.ArtistName, self.AlbumName), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'artistshouts': passListToSkin('Shout', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) if self.ArtistName: passListToSkin('Shout', GetArtistShouts(self.ArtistName), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'topartists': passListToSkin('TopArtists', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) passListToSkin('TopArtists', GetTopArtists(), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'hypedartists': passListToSkin('HypedArtists', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) passListToSkin('HypedArtists', GetHypedArtists(), self.prop_prefix, self.window, self.control, self.handle, self.limit) ### RottenTomatoesMovies ################################################################################# elif info == 'intheaters': passListToSkin('InTheatersMovies', GetRottenTomatoesMovies("movies/in_theaters"), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'boxoffice': passListToSkin('BoxOffice', GetRottenTomatoesMovies("movies/box_office"), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'opening': passListToSkin('Opening', GetRottenTomatoesMovies("movies/opening"), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'comingsoon': passListToSkin('ComingSoonMovies', GetRottenTomatoesMovies("movies/upcoming"), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'toprentals': passListToSkin('TopRentals', GetRottenTomatoesMovies("dvds/top_rentals"), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'currentdvdreleases': passListToSkin( 'CurrentDVDs', GetRottenTomatoesMovies("dvds/current_releases"), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'newdvdreleases': passListToSkin('NewDVDs', GetRottenTomatoesMovies("dvds/new_releases"), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'upcomingdvds': passListToSkin('UpcomingDVDs', GetRottenTomatoesMovies("dvds/upcoming"), self.prop_prefix, self.window, self.control, self.handle, self.limit) ### The MovieDB ########################################################################################## elif info == 'incinemas': passListToSkin('InCinemasMovies', GetMovieDBMovies("now_playing"), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'upcoming': passListToSkin('UpcomingMovies', GetMovieDBMovies("upcoming"), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'topratedmovies': passListToSkin('TopRatedMovies', GetMovieDBMovies("top_rated"), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'popularmovies': passListToSkin('PopularMovies', GetMovieDBMovies("popular"), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'airingtodaytvshows': passListToSkin('AiringTodayTVShows', GetMovieDBTVShows("airing_today"), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'onairtvshows': passListToSkin('OnAirTVShows', GetMovieDBTVShows("on_the_air"), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'topratedtvshows': passListToSkin('TopRatedTVShows', GetMovieDBTVShows("top_rated"), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'populartvshows': passListToSkin('PopularTVShows', GetMovieDBTVShows("popular"), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'similarmovies': passListToSkin('SimilarMovies', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) if self.id: MovieId = self.id elif self.dbid and (int(self.dbid) > -1): MovieId = GetImdbIDFromDatabase("movie", self.dbid) log("IMDBId from local DB:" + str(MovieId)) else: MovieId = "" if MovieId: passListToSkin('SimilarMovies', GetSimilarMovies(MovieId), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'studio': passListToSkin('StudioInfo', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) if self.studio: CompanyId = SearchforCompany(self.studio) passListToSkin('StudioInfo', GetCompanyInfo(CompanyId), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'set': passListToSkin('MovieSetItems', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) if self.dbid and not "show" in str(self.type): name = GetMovieSetName(self.dbid) if name: self.setid = SearchForSet(name) if self.setid: SetData, info = GetSetMovies(self.setid) if SetData: passListToSkin('MovieSetItems', SetData, self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'movielists': passListToSkin('MovieLists', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) if self.dbid: movieid = GetImdbIDFromDatabase("movie", self.dbid) log("MovieDB Id:" + str(movieid)) if movieid: passListToSkin('MovieLists', GetMovieLists(movieid), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'keywords': passListToSkin('Keywords', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) if self.dbid: movieid = GetImdbIDFromDatabase("movie", self.dbid) log("MovieDB Id:" + str(movieid)) if movieid: passListToSkin('Keywords', GetMovieKeywords(movieid), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'popularpeople': passListToSkin('PopularPeople', GetPopularActorList(), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'extendedinfo': from DialogVideoInfo import DialogVideoInfo if self.handle: xbmcplugin.endOfDirectory(self.handle) dialog = DialogVideoInfo(u'script-%s-DialogVideoInfo.xml' % addon_name, addon_path, id=self.id, dbid=self.dbid, imdbid=self.imdbid, name=self.name) dialog.doModal() elif info == 'extendedactorinfo': from DialogActorInfo import DialogActorInfo dialog = DialogActorInfo(u'script-%s-DialogInfo.xml' % addon_name, addon_path, id=self.id, name=self.name) dialog.doModal() elif info == 'extendedtvinfo': from DialogTVShowInfo import DialogTVShowInfo if self.handle: xbmcplugin.endOfDirectory(self.handle) dialog = DialogTVShowInfo(u'script-%s-DialogVideoInfo.xml' % addon_name, addon_path, id=self.id, dbid=self.dbid, imdbid=self.imdbid, name=self.name) dialog.doModal() elif info == 'seasoninfo': passListToSkin("SeasonVideos", None, self.prop_prefix, self.window, self.control, self.handle, self.limit) if self.tvshow and self.season: from DialogSeasonInfo import DialogSeasonInfo dialog = DialogSeasonInfo( u'script-%s-DialogVideoInfo.xml' % addon_name, addon_path, tvshow=self.tvshow, season=self.season) dialog.doModal() elif info == 'directormovies': passListToSkin('DirectorMovies', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) if self.director: directorid = GetPersonID(self.director) if directorid: passListToSkin('DirectorMovies', GetDirectorMovies(directorid), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'writermovies': passListToSkin('WriterMovies', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) if self.writer and not self.writer.split( " / ")[0] == self.director.split(" / ")[0]: writerid = GetPersonID(self.writer) if writerid: passListToSkin('WriterMovies', GetDirectorMovies(writerid), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'similarmoviestrakt': passListToSkin('SimilarMovies', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) if (self.id or self.dbid): if self.dbid: movieid = GetImdbIDFromDatabase("movie", self.dbid) else: movieid = self.id passListToSkin('SimilarMovies', GetSimilarTrakt("movie", movieid), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'similartvshowstrakt': passListToSkin('SimilarTVShows', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) if (self.id or self.dbid): if self.dbid: if self.type == "episode": tvshowid = GetImdbIDFromDatabasefromEpisode( self.dbid) else: tvshowid = GetImdbIDFromDatabase( "tvshow", self.dbid) else: tvshowid = self.id passListToSkin('SimilarTVShows', GetSimilarTrakt("show", tvshowid), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'airingshows': passListToSkin('AiringShows', GetTraktCalendarShows("shows"), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'premiereshows': passListToSkin('PremiereShows', GetTraktCalendarShows("premieres"), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'trendingshows': passListToSkin('TrendingShows', GetTrendingShows(), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'trendingmovies': passListToSkin('TrendingMovies', GetTrendingMovies(), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'similarartistsinlibrary': passListToSkin('SimilarArtists', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) if self.Artist_mbid: passListToSkin( 'SimilarArtists', GetSimilarArtistsInLibrary(self.Artist_mbid), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'artistevents': passListToSkin('ArtistEvents', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) if self.Artist_mbid: passListToSkin('ArtistEvents', GetEvents(self.Artist_mbid), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'youtubesearch': homewindow.setProperty('%sSearchValue' % self.prop_prefix, self.id) # set properties passListToSkin('YoutubeSearch', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) if self.id: passListToSkin( 'YoutubeSearch', GetYoutubeSearchVideosV3(self.id, self.hd, self.orderby), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'youtubeplaylist': passListToSkin('YoutubePlaylist', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) if self.id: passListToSkin('YoutubePlaylist', GetYoutubePlaylistVideos(self.id), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'youtubeusersearch': passListToSkin('YoutubeUserSearch', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) if self.id: passListToSkin('YoutubeUserSearch', GetYoutubeUserVideos(self.id), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'nearevents': passListToSkin('NearEvents', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) passListToSkin( 'NearEvents', GetNearEvents(self.tag, self.festivalsonly, self.lat, self.lon, self.location, self.distance), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'trackinfo': homewindow.setProperty('%sSummary' % self.prop_prefix, "") # set properties if self.ArtistName and self.TrackName: TrackInfo = GetTrackInfo(self.ArtistName, self.TrackName) homewindow.setProperty( '%sSummary' % self.prop_prefix, TrackInfo["summary"]) # set properties elif info == 'venueevents': passListToSkin('VenueEvents', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) if self.location: self.id = GetVenueID(self.location) if self.id: passListToSkin('VenueEvents', GetVenueEvents(self.id), self.prop_prefix, self.window, self.control, self.handle, self.limit) else: Notify("Error", "Could not find venue") elif info == 'topartistsnearevents': passListToSkin('TopArtistsNearEvents', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) artists = GetXBMCArtists() events = GetArtistNearEvents( artists["result"]["artists"][0:49]) passListToSkin('TopArtistsNearEvents', events, self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'channels': channels = create_channel_list() # prettyprint(channels) elif info == 'favourites': if self.id: favourites = GetFavouriteswithType(self.id) else: favourites = GetFavourites() homewindow.setProperty('favourite.count', str(len(favourites))) if len(favourites) > 0: homewindow.setProperty('favourite.1.name', favourites[-1]["Label"]) passListToSkin('Favourites', favourites, self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'json': passListToSkin('RSS', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) videos = GetYoutubeVideos(self.feed, self.prop_prefix) passListToSkin('RSS', videos, self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'similarlocal' and self.dbid: passListToSkin('SimilarLocalMovies', None, self.prop_prefix, self.window, self.control, self.handle, self.limit) passListToSkin('SimilarLocalMovies', GetSimilarFromOwnLibrary(self.dbid), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'iconpanel': passListToSkin('IconPanel', GetIconPanel(1), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'weather': passListToSkin('WeatherImages', GetWeatherImages(), self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'updatexbmcdatabasewithartistmbidbg': SetMusicBrainzIDsForAllArtists(False, False) elif info == 'setfocus': self.control = "" # workaround to avoid breaking PlayMedia xbmc.executebuiltin("SetFocus(22222)") elif info == 'playliststats': GetPlaylistStats(self.id) elif info == "sortletters": listitems = GetSortLetters(self.path, self.id) passListToSkin('SortLetters', listitems, self.prop_prefix, self.window, self.control, self.handle, self.limit) elif info == 'slideshow': windowid = xbmcgui.getCurrentWindowId() Window = xbmcgui.Window(windowid) focusid = Window.getFocusId() itemlist = Window.getFocus() numitems = itemlist.getSelectedPosition() log("items:" + str(numitems)) for i in range(0, numitems): Notify(item.getProperty("Image")) elif info == 'action': xbmc.executebuiltin(self.id) elif info == "youtubevideo": if self.id: self.control = "" # workaround to avoid breaking PlayMedia PlayTrailer(self.id) elif info == 'playtrailer': xbmc.executebuiltin("ActivateWindow(busydialog)") xbmc.sleep(500) if self.id: MovieId = self.id elif self.dbid and (int(self.dbid) > -1): MovieId = GetImdbIDFromDatabase("movie", self.dbid) log("MovieDBID from local DB:" + str(MovieId)) elif self.imdbid: MovieId = GetMovieDBID(self.imdbid) else: MovieId = "" if MovieId: trailer = GetTrailer(MovieId) xbmc.executebuiltin("Dialog.Close(busydialog)") if trailer: PlayTrailer(trailer) self.control = "" # workaround to avoid breaking PlayMedia else: Notify("Error", "No Trailer available") elif info == 'updatexbmcdatabasewithartistmbid': SetMusicBrainzIDsForAllArtists(True, False)