Library Operations¶
There are a variety of Library Operations that can be utilized in a library.
Within each library, operations can be defined by using the operations
attribute, as demonstrated below.
When not using a list under operations
the whole operations value is one block.
libraries:
Movies:
collection_files:
- default: imdb
operations:
mass_critic_rating_update: tmdb
split_duplicates: true
Operation Blocks¶
You can create individual blocks of operations by using a list under operations
with each item in the list being a "block" that can be individually scheduled.
libraries:
Movies:
collection_files:
- default: imdb
operations:
- schedule: weekly(friday)
mass_critic_rating_update: tmdb
- schedule: weekly(saturday)
split_duplicates: true
A Note on Data Sources¶
Several of these operations use data from external sources such as MDBList. Some of these sources have free and paid tiers of access. Your entire library may not be able to be updated in a single run on a free tier; you may need to make multiple runs over some number of days. For example, MDBList's free tier is limited [at time of writing] to 1000 API requests daily. Changes in external site paid/free status and limits are not under Kometa's control.
Operation Attributes¶
Assets For All¶
assets_for_all
- Used to search the asset directories for images for all items in the library.¶
Ordinarily, Kometa searches the asset directories for collection artwork. Enabling this Operation tells Kometa
to searches the asset directories for images for all items [movies, shows, seasons, episodes, etc] in the library.
Attribute: assets_for_all
Accepted Values: true
or false
.
Delete Collections¶
delete_collections
- Deletes collections based on a set of given attribute.¶
Deletes collections based on a set of given attributes. The Collection must match all set attributes to be deleted.
Attribute: delete_collections
Accepted Values: There are a few different options to determine how the delete_collections
works.
managed: true | Collection must be Managed to be deleted. (collection has the Kometa label) |
managed: false | Collection must be Unmanaged to be deleted. (collection does not have the Kometa label) |
configured: true | Collection must be Configured to be deleted. (collection is in the config file of the specific Kometa run) |
configured: false | Collection must be Unconfigured to be deleted. (collection is not in the config file of the specific Kometa run) |
less: ### | Collection must contain less than the given number of items to be deleted.### is a Number greater than 0Optional value which if undefined means collections will be deleted regardless of how many items they have. |
ignore_empty_smart_collections: false | Do not apply less check to empty smart collections This allows retaining things like smart collections that show movies without subtitles or the like. |
The collection does not need to be scheduled to be considered configured and only needs to be in the config file.
Mass Genre Update¶
mass_genre_update
- Updates the genres of every item in the library.¶
Updates every item's genres in the library to the chosen site's genres.
Attribute: mass_genre_update
Accepted Values: Source or List of sources to use in that order.
tmdb | Use TMDb for Genres. |
tvdb | Use TVDb for Genres. |
imdb | Use IMDb for Genres. |
omdb | Use IMDb through OMDb for Genres. |
anidb | Use AniDB Main Tags for Genres. |
anidb_3_0 | Use AniDB Main Tags and All 3 Star Tags and above for Genres. |
anidb_2_5 | Use AniDB Main Tags and All 2.5 Star Tags and above for Genres. |
anidb_2_0 | Use AniDB Main Tags and All 2 Star Tags and above for Genres. |
anidb_1_5 | Use AniDB Main Tags and All 1.5 Star Tags and above for Genres. |
anidb_1_0 | Use AniDB Main Tags and All 1 Star Tags and above for Genres. |
anidb_0_5 | Use AniDB Main Tags and All 0.5 Star Tags and above for Genres. |
mal | Use MyAnimeList for Genres. |
lock | Lock all Genre Field. |
unlock | Unlock all Genre Field. |
remove | Remove all Genres and Lock all Field. |
reset | Remove all Genres and Unlock all Field. |
List of Strings for Genres. (["String 1", "String 2"] ) |
Mass Content Rating Update¶
mass_content_rating_update
- Updates the content rating of every item in the library.¶
Updates every item's content rating in the library to the chosen site's content rating.
Attribute: mass_content_rating_update
Accepted Values: Source or List of sources to use in that order.
Note on mdb
sources
MDBList is not a live reflection of third-party sites such as CommonSense and Trakt. The data on MDBList is often days, weeks and months out of date as it is only
periodically refreshed. As such, the data that Kometa applies using mdb_
operations applies may not be the same as you see if you visit those third-party sources
directly.
mdb | Use MDBList for Content Ratings. |
mdb_commonsense | Use Common Sense Rating through MDBList for Content Ratings. |
mdb_commonsense0 | Use Common Sense Rating with Zero Padding through MDBList for Content Ratings. |
mdb_age_rating | Use MDBList Age Rating for Content Ratings. |
mdb_age_rating0 | Use MDBList Age Rating with Zero Padding for Content Ratings. |
omdb | Use IMDb through OMDb for Content Ratings. |
mal | Use MyAnimeList for Content Ratings. |
lock | Lock Content Rating Field. |
unlock | Unlock Content Rating Field. |
remove | Remove Content Rating and Lock Field. |
reset | Remove Content Rating and Unlock Field. |
Any String for Content Ratings. |
Mass Original Title Update¶
mass_original_title_update
- Updates the original title of every item in the library.¶
Updates every item's original title in the library to the chosen site's original title.
Attribute: mass_original_title_update
Accepted Values: Source or List of sources to use in that order
anidb | Use AniDB Main Title for Original Titles. |
anidb_official | Use AniDB Official Title based on the language attribute in the config file for Original Titles. |
mal | Use MyAnimeList Main Title for Original Titles. |
mal_english | Use MyAnimeList English Title for Original Titles. |
mal_japanese | Use MyAnimeList Japanese Title for Original Titles. |
lock | Lock Original Title Field. |
unlock | Unlock Original Title Field. |
remove | Remove Original Title and Lock Field. |
reset | Remove Original Title and Unlock Field. |
Any String for Original Titles. |
Mass Studio Update¶
mass_studio_update
- Updates the studio of every item in the library.¶
Updates every item's studio in the library to the chosen site's studio.
Attribute: mass_studio_update
Accepted Values: Source or List of sources to use in that order
anidb | Use AniDB Animation Work for Studio. |
mal | Use MyAnimeList Studio for Studio. |
tmdb | Use TMDb Studio for Studio. |
lock | Lock Studio Field. |
unlock | Unlock Studio Field. |
remove | Remove Studio and Lock Field. |
reset | Remove Studio and Unlock Field. |
Any String for Studio. |
Mass Originally Available Update¶
mass_originally_available_update
- Updates the originally available date of every item in the library.¶
Updates every item's originally available date in the library to the chosen site's date.
Tip
As plex does not allow this field to be empty, using remove
or reset
will set the date to the Plex default date, which is 1969-12-31
.
Attribute: mass_originally_available_update
Accepted Values: Source or List of sources to use in that order.
Note on mdb
sources
MDBList is not a live reflection of third-party sites such as CommonSense and Trakt. The data on MDBList is often days, weeks and months out of date as it is only
periodically refreshed. As such, the data that Kometa applies using mdb_
operations applies may not be the same as you see if you visit those third-party sources
directly.
tmdb | Use TMDb Release Date. |
tvdb | Use TVDb Release Date. |
omdb | Use IMDb Release Date through OMDb. |
mdb | Use MDBList Release Date. |
mdb_digital | Use MDBList Digital Release Date. |
anidb | Use AniDB Release Date. |
mal | Use MyAnimeList Release Date. |
lock | Lock Originally Available Field. |
unlock | Unlock Originally Available Field. |
remove | Remove Originally Available and Lock Field. |
reset | Remove Originally Available and Unlock Field. |
Any String in the Format: YYYY-MM-DD for Originally Available. (2022-05-28 ) |
Mass Added At Update¶
mass_added_at_update
- Updates the added at date of every item in the library.¶
Updates every item's added at date in the library to the chosen site's date.
Attribute: mass_added_at_update
Accepted Values: Source or List of sources to use in that order.
Note on mdb
sources
MDBList is not a live reflection of third-party sites such as CommonSense and Trakt. The data on MDBList is often days, weeks and months out of date as it is only
periodically refreshed. As such, the data that Kometa applies using mdb_
operations applies may not be the same as you see if you visit those third-party sources
directly.
tmdb | Use TMDb Release Date. |
tvdb | Use TVDb Release Date. |
omdb | Use IMDb Release Date through OMDb. |
mdb | Use MDBList Release Date. |
mdb_digital | Use MDBList Digital Release Date. |
anidb | Use AniDB Release Date. |
mal | Use MyAnimeList Release Date. |
lock | Lock Added At Field. |
unlock | Unlock Added At Field. |
remove | Remove Added At and Lock Field. |
reset | Remove Added At and Unlock Field. |
Any String in the Format: YYYY-MM-DD for Added At. (2022-05-28 ) |
Mass Rating Update¶
mass_***_rating_update
- Updates the audience/critic/user rating of every item in the library.¶
Updates every item's audience/critic/user rating in the library to the chosen site's rating.
Important Note
This does not affect the icons displayed in the Plex UI. This will place the number of your choice in the relevant field in the Plex database. In other words, if Plex is configured to use Rotten Tomatoes ratings, then no matter what happens with this mass rating update Operation, the icons in the Plex UI will remain Rotten Tomatoes. The human who decided to put TMDb ratings in the critic slot and Letterboxd ratings in the audience slot is the only party who knows that the ratings are no longer Rotten Tomatoes. One primary use of this feature is to put ratings overlays on posters. More information on what Kometa can do with these ratings can be found here.
Attribute: mass_audience_rating_update
/mass_critic_rating_update
/mass_user_rating_update
Accepted Values: Source or List of sources to use in that order.
Note on mdb
sources
MDBList is not a live reflection of third-party sites such as CommonSense and Trakt. The data on MDBList is often days, weeks and months out of date as it is only
periodically refreshed. As such, the data that Kometa applies using mdb_
operations applies may not be the same as you see if you visit those third-party sources
directly.
anidb_average | Use AniDB Average. |
anidb_rating | Use AniDB Rating. |
anidb_score | Use AniDB Review Score. |
imdb | Use IMDb Rating. |
mal | Use MyAnimeList Score. |
mdb_average | Use MDBList Average Score. |
mdb_imdb | Use IMDb Rating through MDBList. |
mdb_letterboxd | Use Letterboxd Rating through MDBList. |
mdb_metacritic | Use Metacritic Rating through MDBList. |
mdb_metacriticuser | Use Metacritic User Rating through MDBList. |
mdb_myanimelist | Use MyAnimeList Rating through MDBList. |
mdb_tmdb | Use TMDb Rating through MDBList. |
mdb_tomatoes | Use Rotten Tomatoes Rating through MDBList. |
mdb_tomatoesaudience | Use Rotten Tomatoes Audience Rating through MDBList. |
mdb_trakt | Use Trakt Rating through MDBList. |
mdb | Use MDBList Score. |
omdb_metascore | Use Metacritic Metascore through OMDb. |
omdb_tomatoes | Use Rotten Tomatoes rating through OMDb. |
omdb | Use IMDbRating through OMDb. |
plex_imdb | Use IMDB Rating through Plex. |
plex_tmdb | Use TMDB Rating through Plex. |
plex_tomatoes | Use Rotten Tomatoes Rating through Plex. |
plex_tomatoesaudience | Use Rotten Tomatoes Audience Rating through Plex. |
tmdb | Use TMDb Rating. |
trakt_user | Use Trakt User's Personal Rating. |
trakt | Use Trakt Rating. |
lock | Lock Rating Field. |
unlock | Unlock Rating Field. |
remove | Remove Rating and Lock Field. |
reset | Remove Rating and Unlock Field. |
Any Number between 0.0-10.0 for Ratings. |
Mass Episode Rating Update¶
mass_episode_***_rating_update
- Updates the audience/critic/user rating of every episode in the library.¶
Updates every item's episode's audience/critic/user rating in the library to the chosen site's rating.
Important Note
This does not affect the icons displayed in the Plex UI. This will place the number of your choice in the relevant field in the Plex database. In other words, if Plex is configured to use Rotten Tomatoes ratings, then no matter what happens with this mass rating update Operation, the icons in the Plex UI will remain Rotten Tomatoes. The human who decided to put TMDb ratings in the critic slot and Letterboxd ratings in the audience slot is the only party who knows that the ratings are no longer Rotten Tomatoes. One primary use of this feature is to put ratings overlays on posters. More information on what Kometa can do with these ratings can be found here.
Attribute: mass_episode_audience_rating_update
/mass_episode_critic_rating_update
/mass_episode_user_rating_update
Accepted Values: Source or List of sources to use in that order.
imdb | Use IMDb Rating. |
plex_imdb | Use IMDB Rating through Plex. |
plex_tmdb | Use TMDB Rating through Plex. |
tmdb | Use TMDb Rating. |
trakt | Use Trakt Rating. |
lock | Lock Rating Field. |
unlock | Unlock Rating Field. |
remove | Remove Rating and Lock Field. |
reset | Remove Rating and Unlock Field. |
Any Number between 0.0-10.0 for Ratings. |
Mass Poster Update¶
mass_poster_update
- Updates the poster of every item in the library.¶
Updates every item's poster to the chosen sites poster. Will fall back to plex
if the given option fails.
Assets will be used over anything else.
Warning
When used in combination with Overlays, this could cause Kometa to reset the poster and then reapply all overlays on each run, which will result in image bloat.
Attribute: mass_poster_update
Accepted Values:
source | Source of the poster update. | tmdb , plex , lock , or unlock |
seasons | Update season posters while updating shows. Default: true | true or false |
episodes | Update episode posters while updating shows. Default: true | true or false |
ignore_locked | Skip updating image if the poster field is locked1. Default: false | true or false |
ignore_overlays | Skip updating image if the current image has an Overlay2. Default: false | true or false |
- The poster field will be locked if a previous
mass_poster_update
was run or if an Overlay has been applied. - Kometa checks for the
Overlay
label on the item in Plex to determine if an Overlay is applied.
Mass Background Update¶
mass_background_update
- Updates the background of every item in the library.¶
Updates every item's background to the chosen sites background. Will fall back to plex
if the given option fails.
Assets will be used over anything else.
Warning
When used in combination with Overlays, this could cause Kometa to reset the background and then reapply all overlays on each run, which will result in image bloat.
Attribute: mass_background_update
Accepted Values:
source | Source of the poster update. | tmdb , plex , lock , or unlock |
seasons | Update season posters while updating shows. Default: true | true or false |
episodes | Update episode posters while updating shows. Default: true | true or false |
ignore_locked | Skip updating image if the poster field is locked.1 Default: false | true or false |
- The background field will be locked if a previous
mass_background_update
was run.
Mass IMDb Parental Labels¶
mass_imdb_parental_labels
- Adds IMDb Parental labels of every item in the library.¶
Updates every item's labels in the library to match the IMDb Parental Guide.
Attribute: mass_imdb_parental_labels
Accepted Values:
none | Apply all Parental Labels with a value of None , Mild , Moderate , or Severe . |
mild | Apply all Parental Labels with a value of Mild , Moderate , or Severe . |
moderate | Apply all Parental Labels with a value of Moderate or Severe . |
severe | Apply all Parental Labels with a value of Severe . |
Mass Collection Mode¶
mass_collection_mode
- Updates the Collection Mode of every item in the library.¶
Updates every Collection in your library to the specified Collection Mode.
Attribute: mass_collection_mode
Accepted Values:
default | Library default. |
hide | Hide Collection. |
hide_items | Hide Items in this Collection. |
show_items | Show this Collection and its Items. |
Update Blank Track Titles¶
update_blank_track_titles
- Updates blank track titles of every item in the library.¶
Search though every track in a music library and replace any blank track titles with the tracks sort title.
Attribute: update_blank_track_titles
Accepted Values: true
or false
.
Remove Title Parentheses¶
remove_title_parentheses
- Removes title parentheses of every item in the library.¶
Search through every title and remove all ending parentheses in an items title if the title is not locked.
Attribute: remove_title_parentheses
Accepted Values: true
or false
.
Split Duplicates¶
split_duplicates
- Splits all duplicate items found in this library.¶
Splits all duplicate items found in this library.
Attribute: split_duplicates
Accepted Values: true
or false
.
Radarr Add All¶
radarr_add_all
- Adds every item in the library to Radarr.¶
Adds every item in the library to Radarr.
Warning
The existing paths in plex will be used as the root folder of each item, if the paths in Plex are not the same as your Radarr
paths you can use the plex_path
and radarr_path
Radarr details to convert the paths.
Attribute: radarr_add_all
Accepted Values: true
or false
.
Radarr Remove By Tag¶
radarr_remove_by_tag
- Removes every item from Radarr with the Tags given.¶
Removes every item from Radarr with the Tags given.
Attribute: radarr_remove_by_tag
Accepted Values: List or comma separated string of tags.
Sonarr Add All¶
sonarr_add_all
- Adds every item in the library to Sonarr.¶
Adds every item in the library to Sonarr.
Warning
The existing paths in plex will be used as the root folder of each item, if the paths in Plex are not the same as your Sonarr
paths you can use the plex_path
and sonarr_path
Sonarr details to convert the paths.
Attribute: sonarr_add_all
Accepted Values: true
or false
.
Sonarr Remove By Tag¶
sonarr_remove_by_tag
- Removes every item from Sonarr with the Tags given.¶
Removes every item from Sonarr with the Tags given.
Attribute: sonarr_remove_by_tag
Accepted Values: List or comma separated string of tags.
Genre Mapper¶
genre_mapper
- Maps genres in your library to be changed to other genres.¶
Maps genres in your library to be changed to other genres.
Attribute: genre_mapper
Accepted Values: Each attribute under genre_mapper
is a separate mapping and has two parts.
key | Genre you want mapped to the value | Action/Adventure, Action & Adventure in the example below. |
value | What the genre will end up as | Action in the example below. |
Example
This example will change go through every item in your library and change the genre Action/Adventure
or
Action & Adventure
to Action
and Romantic Comedy
to Comedy
.
libraries:
Movies:
# Metadata and Overlay files here
operations:
genre_mapper:
"Action/Adventure": Action
"Action & Adventure": Action
Romantic Comedy: Comedy
To just Remove a Genre without replacing it just set the Genre to nothing like this.
libraries:
Movies:
# Metadata and Overlay files here
operations:
genre_mapper:
"Action/Adventure": Action
"Action & Adventure": Action
Romantic Comedy:
The above example will change go through every item in your library and change the genre Action/Adventure
or
Action & Adventure
to Action
and remove every instance of the Genre Romantic Comedy
.
Content Rating Mapper¶
content_rating_mapper
- Maps content ratings in your library to be changed to other content ratings.¶
Maps content ratings in your library to be changed to other content ratings.
Attribute: content_rating_mapper
Accepted Values: Each attribute under content_rating_mapper
is a separate mapping and has two parts.
key | Content rating you want mapped to the value. | PG , PG-13 in the example below. |
value | What the content rating will end up as. | Y-10 in the example below. |
Example
This example will change go through every item in your library and change the content rating PG
or PG-13
to
Y-10
and R
to Y-17
.
libraries:
Movies:
# Metadata and Overlay files here
operations:
content_rating_mapper:
PG: Y-10
"PG-13": Y-10
R: Y-17
To just Remove a content rating without replacing it just set the content rating to nothing like this.
libraries:
Movies:
# Metadata and Overlay files here
operations:
content_rating_mapper:
PG: Y-10
"PG-13": Y-10
R:
The above example will change go through every item in your library and change the content rating
PG
or PG-13
to Y-10
and remove every instance of the content rating R
.
Metadata Backup¶
metadata_backup
- Creates/Maintains a Kometa Metadata File for the library.¶
Creates/Maintains a Kometa Metadata File with a full metadata
mapping based on the library's items locked attributes.
If you point to an existing Metadata File then Kometa will sync the changes to the file, so you won't lose non plex changes in the file.
Attribute: metadata_backup
Accepted Values: There are a few different options to determine how the metadata_backup
works.
path | Path to where the metadata will be saved/maintained. Default: <<library_name>>_Metadata_Backup.yml in your config folder Values: Path to Metadata File. |
exclude | Exclude all listed attributes from being saved in the Collection File. Values: Comma-separated string or list of attributes . |
sync_tags | All Tag Attributes will have the .sync option and blank attribute will be added to sync.Default: false Values: true or false . |
add_blank_entries | Will add a line for entries that have no metadata changes. Default: true Values: true or false . |
Example
The resulting Metadata File can be used like any other Metadata File in Kometa, for example, you can use it to apply metadata to a new library or to restore metadata to a library.