Skip to content

sualfred/script.metadata.editor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

script.metadata.editor

Kodi script to edit basic metadata information of library items with support to automatically update the .nfo file.

Supported .nfo types

The updating of .nfo items is only possible for video library items, because the JSON result doesn't return any path for music entries.

Supported .nfo namings:

  • %Filename%.nfo
  • tvshow.nfo
  • movie.nfo

By default the script is creating a .nfo if missing. This can be disabled in the settings.

Scrapers

The script is using TMDb (free) and OMDb.

I already have included a TMDb API key (hardcoded).

For OMDb please visit https://omdbapi.com/ and create your own API key and add it to the addon settings. Please note that the free available OMDb API key is limited to 1.000 calls a day. I highly recommend to become a patreon of the creator of OMDb. For $1 a month your daily limit gets increased to 100.000 calls / day. Support it and benefit.

TMDb scraper (not used for episodes, because of different global airing dates and episode orders):

  • Rating + votes
  • MPAA
  • Premiered year
  • TV show status
  • External unique IDs (IMDb, TVDb)

OMDb scraper:

  • Rotten ratings (all four of them incl. votes)
  • Metacritic (just rating, no votes available)
  • IMDb (ID + rating + votes)

Note: There is a experimental setting available to use title + year for the OMDb call, if the IMDb ID is not available. It's disabled by default, because there is a high chance for false positive returnings and wrong fetched metadata. I do not recommend to enable it.

Running service

  • Updates the watched states in the .nfo automatically if item is played or marked/unmarked as watched (can be disabled)
  • Option to rate your movie/episode after it has been played 100% (can be disabled)

Additional features of the rating updater

  • Updates MPAA (can be disabled)
  • Updates TV show status
  • Updates missing uniqueids
  • Updates original title

You can configure the preferred MPAA rating in the addon settings. It's also possible to skip "not rated" or to enable/disable the fallback to US ratings

Run the script / context menu

The script can be called with the context menu or RunScript() commands (useful for skinners). A library updating task can be started by starting the addon itself.

Context menu entries:

  • Metadata Editor / Open Editor = editor dialog or sub menu if more options are available
  • Add/remove available genres = quickly edit the genres which the item belongs to
  • Add/remove available tags = quickly edit the tags which the item belongs to
  • Add/remove favourite tag = shortcut to toggle the library tag Watchlist. Can be used to create custom splitted favourite widgets.
  • Update .nfo = updates the .nfo
  • Update ratings = will update ratings by using the OMDb and TMDb API

RunScript calls:

  • RunScript(script.metadata.editor,dbid=$INFO[ListItem.DBID],type=$INFO[ListItem.DBType]) = opens editor
  • RunScript(script.metadata.editor,action=setuserrating,dbid=$INFO[ListItem.DBID],type=$INFO[ListItem.DBType]) = sets user rating and updates the nfo if enabled
  • RunScript(script.metadata.editor,action=setgenres,dbid=$INFO[ListItem.DBID],type=$INFO[ListItem.DBType]) = opens genre selector
  • RunScript(script.metadata.editor,action=settags,dbid=$INFO[ListItem.DBID],type=$INFO[ListItem.DBType]) = opens tags selector
  • RunScript(script.metadata.editor,action=togglewatchlist,dbid=$INFO[ListItem.DBID],type=$INFO[ListItem.DBType]) = toggle watchlist tag
  • RunScript(script.metadata.editor,action=updatenfo,dbid=$INFO[ListItem.DBID],type=$INFO[ListItem.DBType]) = updates the .nfo

RunScript calls for updating ratings:

  • RunScript(script.metadata.editor) = Shows select dialog to update movies, shows and episodes or all of them
  • RunScript(script.metadata.editor,action=updaterating,dbid=$INFO[ListItem.DBID],type=$INFO[ListItem.DBType]) = Updates rating for the requested item
  • RunScript(script.metadata.editor,action=updaterating,content=movies) = Updates all ratings for movies (combination of available TMDb, TVDb, IMDb IDs)
  • RunScript(script.metadata.editor,action=updaterating,content=tvshows) = Updates all ratings for TV shows (combination of available TMDb, TVDb, IMDb IDs)
  • RunScript(script.metadata.editor,action=updaterating,content=episodes) = Updates all ratings for TV shows (only if IMDb is available)
  • RunScript(script.metadata.editor,action=updaterating,content=movies+tvshows+episodes) = Updates all ratings for provided content. Values are splitted by '+'