Script to provide skinners the option to call The Movie DB for actor and video infos. Unlike ExtendedInfo it requires a skin integration and it does not include a browser and it only crawls for the most basic and required information.
It also includes a lightweight alternative to script.tv.show.next.aired based on Trakt.tv plus the TVDb.
Some examples
RunScript(script.embuary.info,call=person,query='"Bruce Willis"')RunScript(script.embuary.info,call=tv,query='"Californication"')RunScript(script.embuary.info,call=movie,query='"Iron Man"')RunScript(script.embuary.info,call=movie,query='"Iron Man"',year=2008)RunScript(script.embuary.info,call=movie,query='"Iron Man"',year=2008,exact=true)
'" "' is not required, but useful if a string contains special characters. which needs to be escaped.
Multiple results The script provides a selection dialog if multiple results were returned.
RunScript(script.embuary.info,call=person,tmbd_id=65)RunScript(script.embuary.info,call=tv,tmbd_id=65)RunScript(script.embuary.info,call=tv,tmbd_id=65,season=1)RunScript(script.embuary.info,call=tv,external_id=70559)(ID must be TVDb or IMDb)RunScript(script.embuary.info,call=tv,dbid=1)(fetches TVDb from uniqueid table in the database if available; title + year is used as fallback)RunScript(script.embuary.info,call=movie,tmbd_id=65)RunScript(script.embuary.info,call=movie,external_id=tt0371746)(IMDb ID)RunScript(script.embuary.info,call=movie,dbid=1)(fetches IMDb ID from uniqueid table in the database if available; title + year is used as fallback)
- An TMDb API key is already shipped but can be replaced in the add-on settings
- To get support for Rotten Tomatoes or IMDb ratings it's required to add a own OMDb key in the settings
- EN is used as default language. It can be changed in the add-on settings, but will still be used if important informations are missing from the result (The Movie DB doesn't have a own fallback logic).
- US is used as default country locale for certifications. Other supported locales can be set in the add-on settings.
Important
- I hate it if a script takes control about the focus. Because of that it's up to the skinner to add a
<defaultcontrol>tag. ListItem.DBIDis filled if the found item is part of the local library.- All actions on the control IDs below are controlled by the script.
- The script doesn't set any window property for the called item. You have to call it from the main container. Examples:
$INFO[Container(10051).ListItem.Directors],$INFO[Container(10051).ListItem.Rating],$INFO[Container(10051).ListItem.Art(thumb)]
script-embuary-person.xml
- List control ID
10051= All available information of the called person. - List control ID
10052= All movies starring with actor xyz - List control ID
10053= All shows starring with actor xyz - List control ID
10054= Actor portraits - List control ID
10055= A combined list of all movies and shows starring with actor xyz
Special properties:
Container(10051).ListItem.Property(TotalMedia)= Total count of media which is also available in your libraryContainer(10051).ListItem.Property(TotalTVShows)= Total count of shows which is also available in your libraryContainer(10051).ListItem.Property(TotalMovies)= Total count of movies which is also available in your libraryContainer(10051).ListItem.Property(Birthday)= Date of birthContainer(10051).ListItem.Property(Deathday)= Date of deathContainer(10051).ListItem.Property(Age)= Current age / died at the age ofContainer(10051).ListItem.Property(Place_Of_Birth)= Place of birthContainer(10051).ListItem.Property(Known_For_Department)= Known for department (acting, directing, etc.)Container(10051).ListItem.Property(Gender)= Gender (male/female)Container(10051).ListItem.Property(Biography)= BiographyContainer(10052).ListItem.Property(Role)= Character roleContainer(10053).ListItem.Property(Role)= Character roleContainer(10055).ListItem.Property(Role)= Character role
script-embuary-video.xml
- List control ID
10051= All available information of the called item. - List control ID
10052= Cast - List control ID
10053= Similar titles - List control ID
10054= YouTube results - List control ID
10055= Backdrop images - List control ID
10056= Crew (for seasons it is used to display guest stars) - List control ID
10057= Collection items - List control ID
10058= Seasons - List control ID
10059= Poster images
Special properties for all items:
Container(id).ListItem.Property(UnwatchedEpisodes)= Local unwatched episodesContainer(id).ListItem.Property(WatchedEpisodes)= Local watched episodesContainer(id).ListItem.Property(TotalEpisodes)= Local available episodesContainer(id).ListItem.Property(File)= Local filename and path of movie
Special properties:
Container(10051).ListItem.Property(Votes.IMDB)= IMDb votesContainer(10051).ListItem.Property(Rating.IMDB)= IMDb ratingContainer(10051).ListItem.Property(Rating.Rotten)= Rotten Tomatoes ratingContainer(10051).ListItem.Property(Rating.Rotten_Avg)= Average Rotten Tomatoes ratingContainer(10051).ListItem.Property(Votes.Rotten)= Rotten Tomatoes votesContainer(10051).ListItem.Property(Rating.Rotten_User)= Rotten Tomatoes user ratingContainer(10051).ListItem.Property(Rating.Rotten_User_Avg)= Average Rotten Tomatoes user ratingContainer(10051).ListItem.Property(Votes.Rotten_User)= Rotten Tomatoes user votesContainer(10051).ListItem.Property(Rating.Metacritic)= Metacritic ratingContainer(10051).ListItem.Property(Release)= Retail release dateContainer(10051).ListItem.Property(Budget)= BudgetContainer(10051).ListItem.Property(Revenue)= RevenueContainer(10051).ListItem.Property(Awards)= AwardsContainer(10051).ListItem.Property(Homepage)= HomepageContainer(10051).ListItem.Property(Network.%i)= Network name (%i = 0,1,2,3,...)Container(10051).ListItem.Property(Network.icon.%i)= Network icon (%i = 0,1,2,3,...)Container(10051).ListItem.Property(Studio.%i)= Studio name (%i = 0,1,2,3,...)Container(10051).ListItem.Property(Studio.icon.%i)= Studio icon (%i = 0,1,2,3,...)Container(10051).ListItem.Property(Collection)= Belongs to collectionContainer(10051).ListItem.Property(Collection_id)= Collection IDContainer(10051).ListItem.Property(Collection_poster)= Collection poster artContainer(10051).ListItem.Property(Collection_fanart)= Collection fanartContainer(10051).ListItem.Property(NextEpisode)= Next aired episode nameContainer(10051).ListItem.Property(NextEpisode_number)= Next aired episode numberContainer(10051).ListItem.Property(NextEpisode_season)= Next aired episode season numberContainer(10051).ListItem.Property(NextEpisode_plot)= Next aired episode plotContainer(10051).ListItem.Property(NextEpisode_date)= Next aired episode dateContainer(10051).ListItem.Property(NextEpisode_thumb)= Next aired episode thumbContainer(10051).ListItem.Property(LastEpisode)= Last aired episode nameContainer(10051).ListItem.Property(LastEpisode_number)= Last aired episode numberContainer(10051).ListItem.Property(LastEpisode_season)= Last aired episode season numberContainer(10051).ListItem.Property(LastEpisode_plot)= Last aired episode plotContainer(10051).ListItem.Property(LastEpisode_date)= Last aired episode dateContainer(10051).ListItem.Property(LastEpisode_thumb)= Last aired episode thumbContainer(10051).ListItem.Property(Region_release)= Movie release date of set country if it's different to ListItem.Premiered
script-embuary-image.xml
- List control ID
1= Is used to display a portrait/backdrop images in fullscreen. - Scrollbar control ID
2= Will be the focused on window init.
additional properties
- Configured language code
Window(home).Property(script.embuary.info-language_code) - Configured country code
Window(home).Property(script.embuary.info-country_code) - Filled property if a next script is going to be called
Window(home).Property(script.embuary.info-nextcall). Will be cleared afterwards.
You can add a custom onback or a general onclose action in script-embuary-video.xml and script-embuary-person.xml
Example
<onload>SetProperty(onclose,SetFocus(100))</onload>= To set a general action if a window is going to be closed. Like reseting the focus to a default control.<onload>SetProperty(onnext,SetFocus(100))</onload>= To set a general action if a window is going to be closed and a script window is called. Like reseting the focus to a default control.<onload>SetProperty(onback_10052,SetFocus(900))</onload>= Don't close the window, but set focus to ID 900 if onback was called while container 10052 was in focus.
The script ships following widgets:
-
plugin://script.embuary.info/movie/trending= trending movies -
plugin://script.embuary.info/movie/upcoming= upcoming movies -
plugin://script.embuary.info/movie/now_playing= now playing movies -
plugin://script.embuary.info/movie/top_rated= top rated movies -
plugin://script.embuary.info/movie/popular= popular movies -
plugin://script.embuary.info/tv/trending= trending shows -
plugin://script.embuary.info/tv/top_rated= top rates shows -
plugin://script.embuary.info/tv/popular= popular shows -
plugin://script.embuary.info/tv/airing_today= shows airing today -
plugin://script.embuary.info/tv/on_the_air= shows on the air -
plugin://script.embuary.info/discover/tv/all= discover shows -
plugin://script.embuary.info/discover/tv/year/1996= discover shows by year -
plugin://script.embuary.info/discover/tv/genre/28= discover shows by TMDb genre ID -
plugin://script.embuary.info/discover/movie/all= discover movies -
plugin://script.embuary.info/discover/movie/year/1996= discover movies by year -
plugin://script.embuary.info/discover/movie/genre/28= discover movies by TMDb genre ID -
plugin://script.embuary.info/discover/person= discover persons -
plugin://script.embuary.info/nextaired/week= airing episodes based on your local TV show library (Monday - Sunday) -
plugin://script.embuary.info/nextaired/0= airing episodes based on your local TV show library (Monday) -
plugin://script.embuary.info/nextaired/1= airing episodes based on your local TV show library (Tuesday) -
plugin://script.embuary.info/nextaired/2= airing episodes based on your local TV show library (Wednesday) -
plugin://script.embuary.info/nextaired/3= airing episodes based on your local TV show library (Thursday) -
plugin://script.embuary.info/nextaired/4= airing episodes based on your local TV show library (Friday) -
plugin://script.embuary.info/nextaired/5= airing episodes based on your local TV show library (Saturday) -
plugin://script.embuary.info/nextaired/6= airing episodes based on your local TV show library (Sunday)
Next airing special properties:
ListItem.Property(AirDay)= Airing day (Monday, Wednesday, etc.)ListItem.Property(AirTime)= Airing time
All of them can be accessed by the addons -> video addons node so it's easy to set them with the skinshortcuts script.