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.DBID
is 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.