mirror of
https://github.com/meisnate12/Plex-Meta-Manager
synced 2024-11-13 00:07:13 +00:00
[13] add spellcheck
This commit is contained in:
parent
54c0128893
commit
204449ddd3
46 changed files with 535 additions and 174 deletions
330
.github/.wordlist.txt
vendored
Normal file
330
.github/.wordlist.txt
vendored
Normal file
|
@ -0,0 +1,330 @@
|
||||||
|
AAC
|
||||||
|
accessModes
|
||||||
|
Addon
|
||||||
|
Adlib
|
||||||
|
Amblin
|
||||||
|
analytics
|
||||||
|
AniDB
|
||||||
|
AniDB's
|
||||||
|
AniList
|
||||||
|
anilist
|
||||||
|
AniList's
|
||||||
|
API
|
||||||
|
apikey
|
||||||
|
APIs
|
||||||
|
apiVersion
|
||||||
|
AppleTV
|
||||||
|
ArrAPI
|
||||||
|
Arrowverse
|
||||||
|
Atmos
|
||||||
|
Avenir
|
||||||
|
BAFTA
|
||||||
|
BBFC
|
||||||
|
bearlikelion
|
||||||
|
Berlinale
|
||||||
|
Bestest
|
||||||
|
BING
|
||||||
|
bing
|
||||||
|
bitrate
|
||||||
|
BOING
|
||||||
|
boolean
|
||||||
|
BoxOfficeMojo
|
||||||
|
boxofficemojo
|
||||||
|
BPjM
|
||||||
|
BritBox
|
||||||
|
britbox
|
||||||
|
bullmoose
|
||||||
|
burkasaurusrex
|
||||||
|
bw
|
||||||
|
Cappella
|
||||||
|
cd
|
||||||
|
chazlarson
|
||||||
|
codec
|
||||||
|
codecs
|
||||||
|
collectionless
|
||||||
|
config
|
||||||
|
configs
|
||||||
|
cpp
|
||||||
|
cpt
|
||||||
|
CPUs
|
||||||
|
cron
|
||||||
|
CronJob
|
||||||
|
cronjob
|
||||||
|
crontab
|
||||||
|
Crunchyroll
|
||||||
|
customizable
|
||||||
|
customizations
|
||||||
|
César
|
||||||
|
dbader
|
||||||
|
de
|
||||||
|
deva
|
||||||
|
DIIIVOY
|
||||||
|
diiivoy
|
||||||
|
diiivoycolor
|
||||||
|
DIR
|
||||||
|
dir
|
||||||
|
DiskStation
|
||||||
|
dockerfile
|
||||||
|
dockerfiles
|
||||||
|
DockerHub
|
||||||
|
dockerhub
|
||||||
|
dolby
|
||||||
|
DreamWorks
|
||||||
|
dropdown
|
||||||
|
DTS
|
||||||
|
DV
|
||||||
|
Emmys
|
||||||
|
ENV
|
||||||
|
env
|
||||||
|
etree
|
||||||
|
eventartworks
|
||||||
|
favorited
|
||||||
|
fawkes
|
||||||
|
FFFFFF
|
||||||
|
Fi
|
||||||
|
filepath
|
||||||
|
filetype
|
||||||
|
FLAC
|
||||||
|
FlixPatrol
|
||||||
|
flixpatrol
|
||||||
|
fontawesome
|
||||||
|
Fribb
|
||||||
|
FSK
|
||||||
|
Galician
|
||||||
|
generalizable
|
||||||
|
GitHub
|
||||||
|
github
|
||||||
|
githubusercontent
|
||||||
|
gotify
|
||||||
|
Grenvilles
|
||||||
|
GUID
|
||||||
|
HAMA
|
||||||
|
hayu
|
||||||
|
HD
|
||||||
|
HDR
|
||||||
|
Hemsworth
|
||||||
|
homescreen
|
||||||
|
homescreens
|
||||||
|
HRA
|
||||||
|
html
|
||||||
|
http
|
||||||
|
https
|
||||||
|
Hulu
|
||||||
|
ICheckMovies
|
||||||
|
ImageMaid
|
||||||
|
IMAX
|
||||||
|
IMDb
|
||||||
|
imdb
|
||||||
|
IMDb's
|
||||||
|
IMDbList
|
||||||
|
img
|
||||||
|
includer
|
||||||
|
init
|
||||||
|
integrations
|
||||||
|
io
|
||||||
|
iteratively
|
||||||
|
Jinja
|
||||||
|
jkirkcaldy
|
||||||
|
JohnFawkes
|
||||||
|
JonnyWong
|
||||||
|
jpeg
|
||||||
|
jpg
|
||||||
|
json
|
||||||
|
kesleyalfa
|
||||||
|
Koltom
|
||||||
|
kometa
|
||||||
|
Kometa
|
||||||
|
Kometa's
|
||||||
|
kometateam
|
||||||
|
kometautils
|
||||||
|
Kubernetes
|
||||||
|
kuesel
|
||||||
|
Launchd
|
||||||
|
Letterboxd
|
||||||
|
LGBTQ
|
||||||
|
linas
|
||||||
|
Lingala
|
||||||
|
linux
|
||||||
|
LinuxServer
|
||||||
|
linuxserver
|
||||||
|
linuxserver's
|
||||||
|
localhost
|
||||||
|
Looper
|
||||||
|
LSIO
|
||||||
|
lsio
|
||||||
|
Luxembourgish
|
||||||
|
LXML
|
||||||
|
lxml
|
||||||
|
macOS
|
||||||
|
mal
|
||||||
|
MB
|
||||||
|
mb
|
||||||
|
MCU
|
||||||
|
md
|
||||||
|
mdb
|
||||||
|
MDBList
|
||||||
|
mdblist
|
||||||
|
MediaStinger
|
||||||
|
mediastinger
|
||||||
|
mediastingers
|
||||||
|
MediUX
|
||||||
|
mediux
|
||||||
|
meisnate
|
||||||
|
metacritic
|
||||||
|
microsoft
|
||||||
|
mikenobbs
|
||||||
|
minikube
|
||||||
|
mnt
|
||||||
|
monetization
|
||||||
|
Mossi
|
||||||
|
MPAA
|
||||||
|
MyAnimeList
|
||||||
|
myanimelist
|
||||||
|
MyAnimeList's
|
||||||
|
MyCollections
|
||||||
|
MyOverlays
|
||||||
|
MyPlaylists
|
||||||
|
mza
|
||||||
|
namespace
|
||||||
|
NAS
|
||||||
|
natively
|
||||||
|
nitsua
|
||||||
|
Nokmål
|
||||||
|
NOSUCHLIBRARY
|
||||||
|
notifiarr
|
||||||
|
Nynorsk
|
||||||
|
OAuth
|
||||||
|
oauth
|
||||||
|
octicons
|
||||||
|
OMDb
|
||||||
|
oscar
|
||||||
|
OSX
|
||||||
|
ozzy
|
||||||
|
pathing
|
||||||
|
PCM
|
||||||
|
PersistentVolumeClaim
|
||||||
|
PGID
|
||||||
|
pgid
|
||||||
|
pkkid
|
||||||
|
plex
|
||||||
|
plex's
|
||||||
|
plexapi
|
||||||
|
PlexCollection
|
||||||
|
PlexPosters
|
||||||
|
PNG
|
||||||
|
Pokémon
|
||||||
|
popularplex
|
||||||
|
portainer
|
||||||
|
Powershell
|
||||||
|
pre
|
||||||
|
prepend
|
||||||
|
PUID
|
||||||
|
puid
|
||||||
|
QNAP
|
||||||
|
radarr
|
||||||
|
Razzie
|
||||||
|
Razzies
|
||||||
|
README
|
||||||
|
Readme
|
||||||
|
ReadWriteOnce
|
||||||
|
reciperr
|
||||||
|
reddit
|
||||||
|
RedHeadJedi
|
||||||
|
REMUX
|
||||||
|
repo
|
||||||
|
repos
|
||||||
|
rholder
|
||||||
|
RogerEvert
|
||||||
|
Romani
|
||||||
|
runtime
|
||||||
|
runtimes
|
||||||
|
schemas
|
||||||
|
Sci-Fi
|
||||||
|
SciFi
|
||||||
|
ScudLee
|
||||||
|
SDTV
|
||||||
|
SemVer
|
||||||
|
ShawShank
|
||||||
|
Skywalker
|
||||||
|
Sohjiro
|
||||||
|
Sohjiro's
|
||||||
|
sonarr
|
||||||
|
SSL
|
||||||
|
StevenLu
|
||||||
|
StevenLu's
|
||||||
|
subprocess
|
||||||
|
Sundance
|
||||||
|
SxxEyy
|
||||||
|
symlinks
|
||||||
|
Synology
|
||||||
|
Systemctl
|
||||||
|
Taglist
|
||||||
|
Tautulli
|
||||||
|
Tautulli's
|
||||||
|
TELESYNC
|
||||||
|
Templatizing
|
||||||
|
th
|
||||||
|
TheMovieDb
|
||||||
|
themoviedb
|
||||||
|
ThePosterDB
|
||||||
|
TheTVDb
|
||||||
|
TMDb
|
||||||
|
tmdb
|
||||||
|
TMDb's
|
||||||
|
TMDbAPIs
|
||||||
|
Toastjuh
|
||||||
|
TODO
|
||||||
|
tomatometer
|
||||||
|
trakt
|
||||||
|
trakt's
|
||||||
|
transcoded
|
||||||
|
transcoding
|
||||||
|
TRaSH
|
||||||
|
TrueHD
|
||||||
|
ttf
|
||||||
|
tutin
|
||||||
|
tv
|
||||||
|
TVDb
|
||||||
|
UI
|
||||||
|
unionfs
|
||||||
|
unmanaged
|
||||||
|
unplayed
|
||||||
|
unraid
|
||||||
|
unRAID
|
||||||
|
URI
|
||||||
|
URL
|
||||||
|
url
|
||||||
|
urls
|
||||||
|
UserList
|
||||||
|
userlist
|
||||||
|
utills
|
||||||
|
Vecteezy
|
||||||
|
VENV
|
||||||
|
venv
|
||||||
|
visualstudio
|
||||||
|
vladimir
|
||||||
|
Wachowski
|
||||||
|
walkthrough
|
||||||
|
walkthroughs
|
||||||
|
watchlist
|
||||||
|
webhook
|
||||||
|
webhooks
|
||||||
|
WEBP
|
||||||
|
webserver
|
||||||
|
whitespace
|
||||||
|
wildcarded
|
||||||
|
Witherspoon
|
||||||
|
Wizarding
|
||||||
|
Wolof
|
||||||
|
www
|
||||||
|
xmark
|
||||||
|
XYZ
|
||||||
|
yaml
|
||||||
|
yml
|
||||||
|
YourName
|
||||||
|
yourname
|
||||||
|
Yozora
|
||||||
|
YozoraXCII
|
||||||
|
YYYY
|
||||||
|
zaP
|
||||||
|
ZeroQI
|
12
.github/workflows/spellcheck.yml
vendored
Normal file
12
.github/workflows/spellcheck.yml
vendored
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
name: Spellcheck Action
|
||||||
|
|
||||||
|
on: pull_request
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
spellcheck:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- uses: rojopolis/spellcheck-github-actions@0.36.0
|
19
.spellcheck.yml
Normal file
19
.spellcheck.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
matrix:
|
||||||
|
- name: Markdown
|
||||||
|
sources:
|
||||||
|
- '**/*.md'
|
||||||
|
- 'CHANGELOG'
|
||||||
|
aspell:
|
||||||
|
lang: en
|
||||||
|
dictionary:
|
||||||
|
wordlists:
|
||||||
|
- .github/.wordlist.txt
|
||||||
|
encoding: utf-8
|
||||||
|
pipeline:
|
||||||
|
- pyspelling.filters.markdown:
|
||||||
|
- pyspelling.filters.html:
|
||||||
|
comments: false
|
||||||
|
ignores:
|
||||||
|
- code
|
||||||
|
- pre
|
||||||
|
default_encoding: utf-8
|
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
||||||
2.0.0-develop12
|
2.0.0-develop13
|
||||||
|
|
|
@ -122,7 +122,7 @@ templates:
|
||||||
rating<<rating_num>>_image_url:
|
rating<<rating_num>>_image_url:
|
||||||
conditions:
|
conditions:
|
||||||
- rating<<rating_num>>_image: anidb
|
- rating<<rating_num>>_image: anidb
|
||||||
value: Anidb
|
value: AniDB
|
||||||
- rating<<rating_num>>_image: imdb
|
- rating<<rating_num>>_image: imdb
|
||||||
value: IMDb
|
value: IMDb
|
||||||
- rating<<rating_num>>_image: letterboxd
|
- rating<<rating_num>>_image: letterboxd
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# MdbList Attributes
|
# MDBList Attributes
|
||||||
|
|
||||||
Configuring [MdbList](https://mdblist.com/) is optional but can allow you to mass edit metadata.
|
Configuring [MDBList](https://mdblist.com/) is optional but can allow you to mass edit metadata.
|
||||||
|
|
||||||
A `mdblist` mapping is in the root of the config file.
|
A `mdblist` mapping is in the root of the config file.
|
||||||
|
|
||||||
|
@ -13,12 +13,12 @@ mdblist:
|
||||||
|
|
||||||
| Attribute | Allowed Values | Default | Required |
|
| Attribute | Allowed Values | Default | Required |
|
||||||
|:-------------------|:--------------------------------------------------------------------------|:--------|:------------------------------------------:|
|
|:-------------------|:--------------------------------------------------------------------------|:--------|:------------------------------------------:|
|
||||||
| `apikey` | MdbList API Key | N/A | :fontawesome-solid-circle-check:{ .green } |
|
| `apikey` | MDBList API Key | N/A | :fontawesome-solid-circle-check:{ .green } |
|
||||||
| `cache_expiration` | Number of days before each cache mapping expires and has to be re-cached. | 60 | :fontawesome-solid-circle-xmark:{ .red } |
|
| `cache_expiration` | Number of days before each cache mapping expires and has to be re-cached. | 60 | :fontawesome-solid-circle-xmark:{ .red } |
|
||||||
|
|
||||||
???+ tip
|
???+ tip
|
||||||
|
|
||||||
The MdbList apikey can be found [here](https://mdblist.com/preferences/).
|
The MDBList apikey can be found [here](https://mdblist.com/preferences/).
|
||||||
|
|
||||||
The free apikey is limited to 1000 requests per day so if you hit your limit the program should be able to pick up
|
The free apikey is limited to 1000 requests per day so if you hit your limit the program should be able to pick up
|
||||||
where it left off the next day as long as the `cache` [Setting](settings.md#cache) is enabled.
|
where it left off the next day as long as the `cache` [Setting](settings.md#cache) is enabled.
|
||||||
|
|
|
@ -66,7 +66,7 @@ To connect to MyAnimeList.net you must create a MyAnimeList application and supp
|
||||||
|
|
||||||
You will need to stop that web server while you're doing this in order to grab that localhost URL.
|
You will need to stop that web server while you're doing this in order to grab that localhost URL.
|
||||||
|
|
||||||
19. Run Kometa and the auth will be completed.
|
19. Run Kometa and the authentication will be completed.
|
||||||
|
|
||||||
## Alternative Way of Letting Kometa make the URL
|
## Alternative Way of Letting Kometa make the URL
|
||||||
|
|
||||||
|
@ -127,6 +127,6 @@ the container normally.
|
||||||
## Online Authorization
|
## Online Authorization
|
||||||
|
|
||||||
{%
|
{%
|
||||||
include-markdown "./auth.md"
|
include-markdown "./authentication.md"
|
||||||
start="# Trakt and MyAnimeList Authentication"
|
start="# Trakt and MyAnimeList Authentication"
|
||||||
%}
|
%}
|
|
@ -158,11 +158,11 @@ You can create individual blocks of operations by using a list under `operations
|
||||||
**Accepted Values:** Source or List of sources to use in that order
|
**Accepted Values:** Source or List of sources to use in that order
|
||||||
|
|
||||||
<table class="clearTable">
|
<table class="clearTable">
|
||||||
<tr><td>`mdb`</td><td>Use MdbList for Content Ratings</td></tr>
|
<tr><td>`mdb`</td><td>Use MDBList for Content Ratings</td></tr>
|
||||||
<tr><td>`mdb_commonsense`</td><td>Use Common Sense Rating through MDbList for Content Ratings</td></tr>
|
<tr><td>`mdb_commonsense`</td><td>Use Common Sense Rating through MDBList for Content Ratings</td></tr>
|
||||||
<tr><td>`mdb_commonsense0`</td><td>Use Common Sense Rating with Zero Padding through MDbList for Content Ratings</td></tr>
|
<tr><td>`mdb_commonsense0`</td><td>Use Common Sense Rating with Zero Padding through MDBList for Content Ratings</td></tr>
|
||||||
<tr><td>`mdb_age_rating`</td><td>Use MDbList Age Rating for Content Ratings</td></tr>
|
<tr><td>`mdb_age_rating`</td><td>Use MDBList Age Rating for Content Ratings</td></tr>
|
||||||
<tr><td>`mdb_age_rating0`</td><td>Use MDbList Age Rating with Zero Padding for Content Ratings</td></tr>
|
<tr><td>`mdb_age_rating0`</td><td>Use MDBList Age Rating with Zero Padding for Content Ratings</td></tr>
|
||||||
<tr><td>`omdb`</td><td>Use IMDb through OMDb for Content Ratings</td></tr>
|
<tr><td>`omdb`</td><td>Use IMDb through OMDb for Content Ratings</td></tr>
|
||||||
<tr><td>`mal`</td><td>Use MyAnimeList for Content Ratings</td></tr>
|
<tr><td>`mal`</td><td>Use MyAnimeList for Content Ratings</td></tr>
|
||||||
<tr><td>`lock`</td><td>Lock Content Rating Field</td></tr>
|
<tr><td>`lock`</td><td>Lock Content Rating Field</td></tr>
|
||||||
|
@ -279,8 +279,8 @@ You can create individual blocks of operations by using a list under `operations
|
||||||
<tr><td>`tmdb`</td><td>Use TMDb Release Date</td></tr>
|
<tr><td>`tmdb`</td><td>Use TMDb Release Date</td></tr>
|
||||||
<tr><td>`tvdb`</td><td>Use TVDb Release Date</td></tr>
|
<tr><td>`tvdb`</td><td>Use TVDb Release Date</td></tr>
|
||||||
<tr><td>`omdb`</td><td>Use IMDb Release Date through OMDb</td></tr>
|
<tr><td>`omdb`</td><td>Use IMDb Release Date through OMDb</td></tr>
|
||||||
<tr><td>`mdb`</td><td>Use MdbList Release Date</td></tr>
|
<tr><td>`mdb`</td><td>Use MDBList Release Date</td></tr>
|
||||||
<tr><td>`mdb_digital`</td><td>Use MdbList Digital Release Date</td></tr>
|
<tr><td>`mdb_digital`</td><td>Use MDBList Digital Release Date</td></tr>
|
||||||
<tr><td>`anidb`</td><td>Use AniDB Release Date</td></tr>
|
<tr><td>`anidb`</td><td>Use AniDB Release Date</td></tr>
|
||||||
<tr><td>`mal`</td><td>Use MyAnimeList Release Date</td></tr>
|
<tr><td>`mal`</td><td>Use MyAnimeList Release Date</td></tr>
|
||||||
<tr><td>`lock`</td><td>Lock Originally Available Field</td></tr>
|
<tr><td>`lock`</td><td>Lock Originally Available Field</td></tr>
|
||||||
|
@ -330,17 +330,17 @@ You can create individual blocks of operations by using a list under `operations
|
||||||
<tr><td>`imdb`</td><td>Use IMDb Rating</td></tr>
|
<tr><td>`imdb`</td><td>Use IMDb Rating</td></tr>
|
||||||
<tr><td>`trakt_user`</td><td>Use Trakt User's Personal Rating</td></tr>
|
<tr><td>`trakt_user`</td><td>Use Trakt User's Personal Rating</td></tr>
|
||||||
<tr><td>`omdb`</td><td>Use IMDbRating through OMDb</td></tr>
|
<tr><td>`omdb`</td><td>Use IMDbRating through OMDb</td></tr>
|
||||||
<tr><td>`mdb`</td><td>Use MdbList Score</td></tr>
|
<tr><td>`mdb`</td><td>Use MDBList Score</td></tr>
|
||||||
<tr><td>`mdb_average`</td><td>Use MdbList Average Score</td></tr>
|
<tr><td>`mdb_average`</td><td>Use MDBList Average Score</td></tr>
|
||||||
<tr><td>`mdb_imdb`</td><td>Use IMDb Rating through MDbList</td></tr>
|
<tr><td>`mdb_imdb`</td><td>Use IMDb Rating through MDBList</td></tr>
|
||||||
<tr><td>`mdb_metacritic`</td><td>Use Metacritic Rating through MDbList</td></tr>
|
<tr><td>`mdb_metacritic`</td><td>Use Metacritic Rating through MDBList</td></tr>
|
||||||
<tr><td>`mdb_metacriticuser`</td><td>Use Metacritic User Rating through MDbList</td></tr>
|
<tr><td>`mdb_metacriticuser`</td><td>Use Metacritic User Rating through MDBList</td></tr>
|
||||||
<tr><td>`mdb_trakt`</td><td>Use Trakt Rating through MDbList</td></tr>
|
<tr><td>`mdb_trakt`</td><td>Use Trakt Rating through MDBList</td></tr>
|
||||||
<tr><td>`mdb_tomatoes`</td><td>Use Rotten Tomatoes Rating through MDbList</td></tr>
|
<tr><td>`mdb_tomatoes`</td><td>Use Rotten Tomatoes Rating through MDBList</td></tr>
|
||||||
<tr><td>`mdb_tomatoesaudience`</td><td>Use Rotten Tomatoes Audience Rating through MDbList</td></tr>
|
<tr><td>`mdb_tomatoesaudience`</td><td>Use Rotten Tomatoes Audience Rating through MDBList</td></tr>
|
||||||
<tr><td>`mdb_tmdb`</td><td>Use TMDb Rating through MDbList</td></tr>
|
<tr><td>`mdb_tmdb`</td><td>Use TMDb Rating through MDBList</td></tr>
|
||||||
<tr><td>`mdb_letterboxd`</td><td>Use Letterboxd Rating through MDbList</td></tr>
|
<tr><td>`mdb_letterboxd`</td><td>Use Letterboxd Rating through MDBList</td></tr>
|
||||||
<tr><td>`mdb_myanimelist`</td><td>Use MyAnimeList Rating through MDbList</td></tr>
|
<tr><td>`mdb_myanimelist`</td><td>Use MyAnimeList Rating through MDBList</td></tr>
|
||||||
<tr><td>`anidb_rating`</td><td>Use AniDB Rating</td></tr>
|
<tr><td>`anidb_rating`</td><td>Use AniDB Rating</td></tr>
|
||||||
<tr><td>`anidb_average`</td><td>Use AniDB Average</td></tr>
|
<tr><td>`anidb_average`</td><td>Use AniDB Average</td></tr>
|
||||||
<tr><td>`anidb_score`</td><td>Use AniDB Review Score</td></tr>
|
<tr><td>`anidb_score`</td><td>Use AniDB Review Score</td></tr>
|
||||||
|
|
|
@ -52,6 +52,6 @@ To connect to Trakt.tv you must create a Trakt application and supply Kometa the
|
||||||
## Online Authorization
|
## Online Authorization
|
||||||
|
|
||||||
{%
|
{%
|
||||||
include-markdown "./auth.md"
|
include-markdown "./authentication.md"
|
||||||
start="# Trakt and MyAnimeList Authentication"
|
start="# Trakt and MyAnimeList Authentication"
|
||||||
%}
|
%}
|
|
@ -1,6 +1,6 @@
|
||||||
# Award Separator Collections
|
# Award Separator Collections
|
||||||
|
|
||||||
The `separator_award` Default Collection File is used to create a seperator collection for Awards.
|
The `separator_award` Default Collection File is used to create a separator collection for Awards.
|
||||||
|
|
||||||
![](../images/awardseparator.png)
|
![](../images/awardseparator.png)
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Chart Separator Collections
|
# Chart Separator Collections
|
||||||
|
|
||||||
The `separator_chart` Default Collection File is used to create a seperator collection for Charts.
|
The `separator_chart` Default Collection File is used to create a separator collection for Charts.
|
||||||
|
|
||||||
![](../images/chartseparator.png)
|
![](../images/chartseparator.png)
|
||||||
|
|
||||||
|
|
|
@ -70,7 +70,7 @@ work. Any value not specified will use its default value if it has one if not it
|
||||||
| `imdb_list_<<key>>`<sup>1</sup> | **Description:** Adds the Movies in the IMDb List to the specified key's collection. Overrides the [default imdb_list](#imdb-list) for that collection if used.<br>**Values:** List of IMDb List URLs | | |
|
| `imdb_list_<<key>>`<sup>1</sup> | **Description:** Adds the Movies in the IMDb List to the specified key's collection. Overrides the [default imdb_list](#imdb-list) for that collection if used.<br>**Values:** List of IMDb List URLs | | |
|
||||||
| `imdb_search_<<key>>`<sup>1</sup> | **Description:** Adds the Movies in the IMDb Search to the specified key's collection. Overrides the [default imdb_search](#imdb-search) for that collection if used.<br>**Values:** List of IMDb List URLs | | |
|
| `imdb_search_<<key>>`<sup>1</sup> | **Description:** Adds the Movies in the IMDb Search to the specified key's collection. Overrides the [default imdb_search](#imdb-search) for that collection if used.<br>**Values:** List of IMDb List URLs | | |
|
||||||
| `trakt_list_<<key>>`<sup>1</sup> | **Description:** Adds the Movies in the Trakt List to the specified key's collection. Overrides the [default trakt_list](#trakt-list) for that collection if used.<br>**Values:** List of Trakt List URLs | | | |
|
| `trakt_list_<<key>>`<sup>1</sup> | **Description:** Adds the Movies in the Trakt List to the specified key's collection. Overrides the [default trakt_list](#trakt-list) for that collection if used.<br>**Values:** List of Trakt List URLs | | | |
|
||||||
| `mdblist_list_<<key>>`<sup>1</sup> | **Description:** Adds the Movies in the MDb List to the specified key's collection. Overrides the [default mdblist_list](#mdblist-list) for that collection if used.<br>**Values:** List of MDbList URLs | | | |
|
| `mdblist_list_<<key>>`<sup>1</sup> | **Description:** Adds the Movies in the MDb List to the specified key's collection. Overrides the [default mdblist_list](#mdblist-list) for that collection if used.<br>**Values:** List of MDBList URLs | | | |
|
||||||
| `emoji` | **Description:** Controls the Emoji Prefix for all Collections. Set to `""` to remove all emojis.<br>**Values:** Any String |
|
| `emoji` | **Description:** Controls the Emoji Prefix for all Collections. Set to `""` to remove all emojis.<br>**Values:** Any String |
|
||||||
| `emoji_<<key>>`<sup>1</sup> | **Description:** Controls the Emoji Prefix for the specified key's collection. Overrides the [default emoji](#emoji) for that collection if used.<br>**Values:** Any String |
|
| `emoji_<<key>>`<sup>1</sup> | **Description:** Controls the Emoji Prefix for the specified key's collection. Overrides the [default emoji](#emoji) for that collection if used.<br>**Values:** Any String |
|
||||||
| `limit` | **Description:** Changes the Builder Limit for all collections in this file.<br>**Values:** Number Greater than 0 |
|
| `limit` | **Description:** Changes the Builder Limit for all collections in this file.<br>**Values:** Number Greater than 0 |
|
||||||
|
|
|
@ -62,7 +62,7 @@ Radarr/Sonarr.
|
||||||
When `radarr_add_existing`/`sonarr_add_existing` are true the items that exist in the collection/playlist will be added
|
When `radarr_add_existing`/`sonarr_add_existing` are true the items that exist in the collection/playlist will be added
|
||||||
to Radarr/Sonarr.
|
to Radarr/Sonarr.
|
||||||
|
|
||||||
If your Radarr/Sonarr has different file system mappings from your plex use `radarr_path`/`sonarr_path` along with
|
If your Radarr/Sonarr has different file system mappings from your Plex use `radarr_path`/`sonarr_path` along with
|
||||||
`plex_path` from your [Radarr](../config/radarr.md)/[Sonarr](../config/sonarr.md) global config settings.
|
`plex_path` from your [Radarr](../config/radarr.md)/[Sonarr](../config/sonarr.md) global config settings.
|
||||||
|
|
||||||
### Radarr Add Settings
|
### Radarr Add Settings
|
||||||
|
|
|
@ -197,7 +197,7 @@ The `sync_mode: sync` and `collection_order: custom` Setting are recommended sin
|
||||||
| `votes.lte` | Item must have a Number of Votes less than or equal to the given number.<br>**Options:** Any Integer greater than `0`<br>**Example:** `1000` |
|
| `votes.lte` | Item must have a Number of Votes less than or equal to the given number.<br>**Options:** Any Integer greater than `0`<br>**Example:** `1000` |
|
||||||
| `genre` | Item must match all genres given. Can be a comma-separated list.<br>**Options:** `action`, `adventure`, `animation`, `biography`, `comedy`, `documentary`, `drama`, `crime`, `family`, `history`, `news`, `short`, `western`, `sport`, `reality-tv`, `horror`, `fantasy`, `film-noir`, `music`, `romance`, `talk-show`, `thriller`, `war`, `sci-fi`, `musical`, `mystery`, `game-show` |
|
| `genre` | Item must match all genres given. Can be a comma-separated list.<br>**Options:** `action`, `adventure`, `animation`, `biography`, `comedy`, `documentary`, `drama`, `crime`, `family`, `history`, `news`, `short`, `western`, `sport`, `reality-tv`, `horror`, `fantasy`, `film-noir`, `music`, `romance`, `talk-show`, `thriller`, `war`, `sci-fi`, `musical`, `mystery`, `game-show` |
|
||||||
| `genre.any` | Item must match at least one given genre. Can be a comma-separated list.<br>**Options:** `action`, `adventure`, `animation`, `biography`, `comedy`, `documentary`, `drama`, `crime`, `family`, `history`, `news`, `short`, `western`, `sport`, `reality-tv`, `horror`, `fantasy`, `film-noir`, `music`, `romance`, `talk-show`, `thriller`, `war`, `sci-fi`, `musical`, `mystery`, `game-show` |
|
| `genre.any` | Item must match at least one given genre. Can be a comma-separated list.<br>**Options:** `action`, `adventure`, `animation`, `biography`, `comedy`, `documentary`, `drama`, `crime`, `family`, `history`, `news`, `short`, `western`, `sport`, `reality-tv`, `horror`, `fantasy`, `film-noir`, `music`, `romance`, `talk-show`, `thriller`, `war`, `sci-fi`, `musical`, `mystery`, `game-show` |
|
||||||
| `genre.not` | Item must not match any og the given genres. Can be a comma-separated list.<br>**Options:** `action`, `adventure`, `animation`, `biography`, `comedy`, `documentary`, `drama`, `crime`, `family`, `history`, `news`, `short`, `western`, `sport`, `reality-tv`, `horror`, `fantasy`, `film-noir`, `music`, `romance`, `talk-show`, `thriller`, `war`, `sci-fi`, `musical`, `mystery`, `game-show` |
|
| `genre.not` | Item must not match any of the given genres. Can be a comma-separated list.<br>**Options:** `action`, `adventure`, `animation`, `biography`, `comedy`, `documentary`, `drama`, `crime`, `family`, `history`, `news`, `short`, `western`, `sport`, `reality-tv`, `horror`, `fantasy`, `film-noir`, `music`, `romance`, `talk-show`, `thriller`, `war`, `sci-fi`, `musical`, `mystery`, `game-show` |
|
||||||
| `event` | Item must have been nominated for a category at the event given. Can be a comma-separated list.<br>**Options:** `cannes`, `choice`, `spirit`, `sundance`, `bafta`, `oscar`, `emmy`, `golden`, `oscar_picture`, `oscar_director`, `national_film_board_preserved`, `razzie`, or any [IMDb Event ID](https://www.imdb.com/event/all/) (ex. `ev0050888`) |
|
| `event` | Item must have been nominated for a category at the event given. Can be a comma-separated list.<br>**Options:** `cannes`, `choice`, `spirit`, `sundance`, `bafta`, `oscar`, `emmy`, `golden`, `oscar_picture`, `oscar_director`, `national_film_board_preserved`, `razzie`, or any [IMDb Event ID](https://www.imdb.com/event/all/) (ex. `ev0050888`) |
|
||||||
| `event.winning` | Item must have won a category at the event given. Can be a comma-separated list.<br>**Options:** `cannes`, `choice`, `spirit`, `sundance`, `bafta`, `oscar`, `emmy`, `golden`, `oscar_picture`, `oscar_director`, `national_film_board_preserved`, `razzie`, or any [IMDb Event ID](https://www.imdb.com/event/all/) (ex. `ev0050888`) |
|
| `event.winning` | Item must have won a category at the event given. Can be a comma-separated list.<br>**Options:** `cannes`, `choice`, `spirit`, `sundance`, `bafta`, `oscar`, `emmy`, `golden`, `oscar_picture`, `oscar_director`, `national_film_board_preserved`, `razzie`, or any [IMDb Event ID](https://www.imdb.com/event/all/) (ex. `ev0050888`) |
|
||||||
| `imdb_top` | Item must be in the top number of given Movies.<br>**Options:** Any Integer greater than `0` |
|
| `imdb_top` | Item must be in the top number of given Movies.<br>**Options:** Any Integer greater than `0` |
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
# MdbList Builders
|
# MDBList Builders
|
||||||
|
|
||||||
You can find items using the features of [MdbList.com](https://mdblist.com/) (MdbList).
|
You can find items using the features of [MDBList.com](https://mdblist.com/) (MDBList).
|
||||||
|
|
||||||
| Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
|
| Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
|
||||||
|:--------------------------------|:--------------------------------------------------------------------------|:------------------------------------------:|:------------------------------------------:|:------------------------------------------:|
|
|:--------------------------------|:--------------------------------------------------------------------------|:------------------------------------------:|:------------------------------------------:|:------------------------------------------:|
|
||||||
| [`mdblist_list`](#mdblist-list) | Gets every movie/show in a [MdbList List](https://mdblist.com/toplists/). | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
|
| [`mdblist_list`](#mdblist-list) | Gets every movie/show in a [MDBList List](https://mdblist.com/toplists/). | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
|
||||||
|
|
||||||
## MdbList List
|
## MDBList List
|
||||||
|
|
||||||
Finds every item in a [MdbList List](https://mdblist.com/toplists/).
|
Finds every item in a [MDBList List](https://mdblist.com/toplists/).
|
||||||
|
|
||||||
The expected input is an MdbList List URL. Multiple values are supported as a list only a comma-separated string will not work.
|
The expected input is an MDBList List URL. Multiple values are supported as a list only a comma-separated string will not work.
|
||||||
|
|
||||||
The `sync_mode: sync` and `collection_order: custom` Setting are recommended since the lists are continuously updated and in a specific order.
|
The `sync_mode: sync` and `collection_order: custom` Setting are recommended since the lists are continuously updated and in a specific order.
|
||||||
|
|
||||||
|
@ -40,9 +40,9 @@ The default `sort_by` when it's not specified is `rank.asc`.
|
||||||
|
|
||||||
| Option | Description |
|
| Option | Description |
|
||||||
|:----------------------------------------------|:-------------------------------|
|
|:----------------------------------------------|:-------------------------------|
|
||||||
| `rank.asc`<br>`rank.desc` | Sort by MdbList Rank |
|
| `rank.asc`<br>`rank.desc` | Sort by MDBList Rank |
|
||||||
| `score.asc`<br>`score.desc` | Sort by MdbList Score |
|
| `score.asc`<br>`score.desc` | Sort by MDBList Score |
|
||||||
| `score_average.asc`<br>`score_average.desc` | Sort by MdbList Average Score |
|
| `score_average.asc`<br>`score_average.desc` | Sort by MDBList Average Score |
|
||||||
| `released.asc`<br>`released.desc` | Sort by Release Date |
|
| `released.asc`<br>`released.desc` | Sort by Release Date |
|
||||||
| `imdbrating.asc`<br>`imdbrating.desc` | Sort by IMDb Rating |
|
| `imdbrating.asc`<br>`imdbrating.desc` | Sort by IMDb Rating |
|
||||||
| `imdbvotes.asc`<br>`imdbvotes.desc` | Sort by IMDb Votes |
|
| `imdbvotes.asc`<br>`imdbvotes.desc` | Sort by IMDb Votes |
|
||||||
|
|
|
@ -61,15 +61,15 @@ Builders use third-party services to source items to be added to the collection.
|
||||||
|
|
||||||
!!! builder
|
!!! builder
|
||||||
|
|
||||||
![MdbList logo](../../../assets/icons/mdblist.png){ align=right }
|
![MDBList logo](../../../assets/icons/mdblist.png){ align=right }
|
||||||
|
|
||||||
**[MdbList](../mdblist)** builders grab items based on lists on MdbList.com
|
**[MDBList](../mdblist)** builders grab items based on lists on MDBList.com
|
||||||
|
|
||||||
[:octicons-home-16: View Builder](../mdblist){ .md-button .md-button--primary }
|
[:octicons-home-16: View Builder](../mdblist){ .md-button .md-button--primary }
|
||||||
|
|
||||||
??? quicklink "Popular Builders"
|
??? quicklink "Popular Builders"
|
||||||
|
|
||||||
- [:octicons-list-ordered-16: MdbList List](../mdblist/#mdblist-list) - Gets every movie/show in a MDbList List.
|
- [:octicons-list-ordered-16: MDBList List](../mdblist/#mdblist-list) - Gets every movie/show in a MDBList List.
|
||||||
|
|
||||||
!!! builder
|
!!! builder
|
||||||
|
|
||||||
|
@ -98,7 +98,7 @@ Builders use third-party services to source items to be added to the collection.
|
||||||
|
|
||||||
- [:material-television-guide: TVDb Show](../tvdb/#tvdb-show) - Grabs the specified series.
|
- [:material-television-guide: TVDb Show](../tvdb/#tvdb-show) - Grabs the specified series.
|
||||||
- [:material-television-guide: TVDb Movie](../tvdb/#tvdb-movie) - Gets the specified movies.
|
- [:material-television-guide: TVDb Movie](../tvdb/#tvdb-movie) - Gets the specified movies.
|
||||||
- [:material-television-guide: TVDb List](../tvdb/#tvdb-list) - Gets every item in a TVDb List or TVDb Userlist.
|
- [:material-television-guide: TVDb List](../tvdb/#tvdb-list) - Gets every item in a TVDb List or TVDb UserList.
|
||||||
|
|
||||||
!!! builder
|
!!! builder
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ You can find items using the features of [Trakt.tv](https://trakt.tv/) (Trakt).
|
||||||
| [`trakt_list`](#trakt-list) | Finds every movie/show in the Trakt List | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
|
| [`trakt_list`](#trakt-list) | Finds every movie/show in the Trakt List | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
|
||||||
| [`trakt_list_details`](#trakt-list) | Finds every movie/show in the Trakt List and updates the collection summary with the list description | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
|
| [`trakt_list_details`](#trakt-list) | Finds every movie/show in the Trakt List and updates the collection summary with the list description | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
|
||||||
| [`trakt_chart`](#trakt-chart) | Finds the movies/shows in the Trakt Chart | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
|
| [`trakt_chart`](#trakt-chart) | Finds the movies/shows in the Trakt Chart | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
|
||||||
| [`trakt_userlist`](#trakt-userlist) | Finds every movie/show in the Trakt Userlist | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
|
| [`trakt_userlist`](#trakt-userlist) | Finds every movie/show in the Trakt UserList | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
|
||||||
| [`trakt_recommendations`](#trakt-recommendations) | Finds the movies/shows in Trakt's Personal Recommendations for your User [Movies](https://trakt.docs.apiary.io/#reference/recommendations/movies/get-movie-recommendations)/[Shows](https://trakt.docs.apiary.io/#reference/recommendations/shows/get-show-recommendations) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
|
| [`trakt_recommendations`](#trakt-recommendations) | Finds the movies/shows in Trakt's Personal Recommendations for your User [Movies](https://trakt.docs.apiary.io/#reference/recommendations/movies/get-movie-recommendations)/[Shows](https://trakt.docs.apiary.io/#reference/recommendations/shows/get-show-recommendations) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
|
||||||
| [`trakt_boxoffice`](#trakt-box-office) | Finds the 10 movies in Trakt's Top Box Office [Movies](https://trakt.tv/movies/boxoffice) list | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } |
|
| [`trakt_boxoffice`](#trakt-box-office) | Finds the 10 movies in Trakt's Top Box Office [Movies](https://trakt.tv/movies/boxoffice) list | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } |
|
||||||
|
|
||||||
|
@ -128,9 +128,9 @@ collections:
|
||||||
sync_mode: sync
|
sync_mode: sync
|
||||||
```
|
```
|
||||||
|
|
||||||
## Trakt Userlist
|
## Trakt UserList
|
||||||
|
|
||||||
Finds every movie/show in the Trakt Userlist.
|
Finds every movie/show in the Trakt UserList.
|
||||||
|
|
||||||
The `sync_mode: sync` and `collection_order: custom` Setting are recommended since the lists are continuously updated
|
The `sync_mode: sync` and `collection_order: custom` Setting are recommended since the lists are continuously updated
|
||||||
and in a specific order.
|
and in a specific order.
|
||||||
|
|
|
@ -6,8 +6,8 @@ No configuration is required for these builders.
|
||||||
|
|
||||||
| Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
|
| Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
|
||||||
|:------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------:|:------------------------------------------:|:------------------------------------------:|
|
|:------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------:|:------------------------------------------:|:------------------------------------------:|
|
||||||
| [`tvdb_list`](#tvdb-list) | Finds every item in a [TVDb List](https://www.thetvdb.com/lists) or [TVDb Userlist](https://www.thetvdb.com/lists/custom) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
|
| [`tvdb_list`](#tvdb-list) | Finds every item in a [TVDb List](https://www.thetvdb.com/lists) or [TVDb UserList](https://www.thetvdb.com/lists/custom) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
|
||||||
| [`tvdb_list_details`](#tvdb-list) | Finds every item in a [TVDb List](https://www.thetvdb.com/lists) or [TVDb Userlist](https://www.thetvdb.com/lists/custom) and updates the collection summary and poster with the TVDb list metadata | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
|
| [`tvdb_list_details`](#tvdb-list) | Finds every item in a [TVDb List](https://www.thetvdb.com/lists) or [TVDb UserList](https://www.thetvdb.com/lists/custom) and updates the collection summary and poster with the TVDb list metadata | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
|
||||||
| [`tvdb_show`](#tvdb-show) | Finds the series specified | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
|
| [`tvdb_show`](#tvdb-show) | Finds the series specified | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
|
||||||
| [`tvdb_show_details`](#tvdb-show) | Finds the series specified and updates the collection with the summary, poster, and background from the TVDb series | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
|
| [`tvdb_show_details`](#tvdb-show) | Finds the series specified and updates the collection with the summary, poster, and background from the TVDb series | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
|
||||||
| [`tvdb_movie`](#tvdb-movie) | Finds the movie specified | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
|
| [`tvdb_movie`](#tvdb-movie) | Finds the movie specified | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
|
||||||
|
@ -15,9 +15,9 @@ No configuration is required for these builders.
|
||||||
|
|
||||||
## TVDb List
|
## TVDb List
|
||||||
|
|
||||||
Finds every item in a [TVDb List](https://www.thetvdb.com/lists) or [TVDb Userlist](https://www.thetvdb.com/lists/custom)
|
Finds every item in a [TVDb List](https://www.thetvdb.com/lists) or [TVDb UserList](https://www.thetvdb.com/lists/custom)
|
||||||
|
|
||||||
The expected input is a TVDb List URL or TVDb Userlist URL. Multiple values are supported as either a list or a
|
The expected input is a TVDb List URL or TVDb UserList URL. Multiple values are supported as either a list or a
|
||||||
comma-separated string.
|
comma-separated string.
|
||||||
|
|
||||||
The `sync_mode: sync` and `collection_order: custom` Setting are recommended since the lists are continuously updated
|
The `sync_mode: sync` and `collection_order: custom` Setting are recommended since the lists are continuously updated
|
||||||
|
|
|
@ -319,17 +319,17 @@ Each Special Text Variables has multiple modifiers that can be used to format th
|
||||||
| `imdb_rating` | IMDb Rating | `Movies`, `Shows`, or `Episodes` |
|
| `imdb_rating` | IMDb Rating | `Movies`, `Shows`, or `Episodes` |
|
||||||
| `trakt_user_rating` | Trakt User Rating | `Movies` or `Shows` |
|
| `trakt_user_rating` | Trakt User Rating | `Movies` or `Shows` |
|
||||||
| `omdb_rating` | OMDb Rating | `Movies` or `Shows` |
|
| `omdb_rating` | OMDb Rating | `Movies` or `Shows` |
|
||||||
| `mdb_rating` | MDbList Rating | `Movies` or `Shows` |
|
| `mdb_rating` | MDBList Rating | `Movies` or `Shows` |
|
||||||
| `mdb_average_rating` | MDbList Average Rating | `Movies` or `Shows` |
|
| `mdb_average_rating` | MDBList Average Rating | `Movies` or `Shows` |
|
||||||
| `mdb_imdb_rating` | MDbList IMDb Rating | `Movies` or `Shows` |
|
| `mdb_imdb_rating` | MDBList IMDb Rating | `Movies` or `Shows` |
|
||||||
| `mdb_metacritic_rating` | MDbList Metacritic Rating | `Movies` or `Shows` |
|
| `mdb_metacritic_rating` | MDBList Metacritic Rating | `Movies` or `Shows` |
|
||||||
| `mdb_metacriticuser_rating` | MDbList Metacritic User Rating | `Movies` or `Shows` |
|
| `mdb_metacriticuser_rating` | MDBList Metacritic User Rating | `Movies` or `Shows` |
|
||||||
| `mdb_trakt_rating` | MDbList Trakt Rating | `Movies` or `Shows` |
|
| `mdb_trakt_rating` | MDBList Trakt Rating | `Movies` or `Shows` |
|
||||||
| `mdb_tomatoes_rating` | MDbList Rotten Tomatoes Rating | `Movies` or `Shows` |
|
| `mdb_tomatoes_rating` | MDBList Rotten Tomatoes Rating | `Movies` or `Shows` |
|
||||||
| `mdb_tomatoesaudience_rating` | MDbList Rotten Tomatoes Audience Rating | `Movies` or `Shows` |
|
| `mdb_tomatoesaudience_rating` | MDBList Rotten Tomatoes Audience Rating | `Movies` or `Shows` |
|
||||||
| `mdb_tmdb_rating` | MDbList TMDb Rating | `Movies` or `Shows` |
|
| `mdb_tmdb_rating` | MDBList TMDb Rating | `Movies` or `Shows` |
|
||||||
| `mdb_letterboxd_rating` | MDbList Letterboxd Rating | `Movies` or `Shows` |
|
| `mdb_letterboxd_rating` | MDBList Letterboxd Rating | `Movies` or `Shows` |
|
||||||
| `mdb_myanimelist_rating` | MDbList MyAnimeList Rating | `Movies` or `Shows` |
|
| `mdb_myanimelist_rating` | MDBList MyAnimeList Rating | `Movies` or `Shows` |
|
||||||
| `anidb_rating` | AniDB Rating | `Movies` or `Shows` |
|
| `anidb_rating` | AniDB Rating | `Movies` or `Shows` |
|
||||||
| `anidb_average_rating` | AniDB Average Rating | `Movies` or `Shows` |
|
| `anidb_average_rating` | AniDB Average Rating | `Movies` or `Shows` |
|
||||||
| `anidb_score_rating` | AniDB Score Rating | `Movies` or `Shows` |
|
| `anidb_score_rating` | AniDB Score Rating | `Movies` or `Shows` |
|
||||||
|
|
|
@ -123,12 +123,12 @@ There are multiple types of attributes that can be utilized within a playlist:
|
||||||
|
|
||||||
### Special Playlist Attributes
|
### Special Playlist Attributes
|
||||||
|
|
||||||
| Attribute | Description | Required |
|
| Attribute | Description | Required |
|
||||||
|:------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------:|
|
|:------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------:|
|
||||||
| `libraries` | Determine which libraries the playlist will be built from.<br>**Options:** Comma-separated string or list of library mapping names defined in the `libraries` attribute in the base of your [Configuration File](../overview.md. | :fontawesome-solid-circle-check:{ .green } |
|
| `libraries` | Determine which libraries the playlist will be built from.<br>**Options:** Comma-separated string or list of library mapping names defined in the `libraries` attribute in the base of your [Configuration File](../config/overview.md). | :fontawesome-solid-circle-check:{ .green } |
|
||||||
| `sync_to_users` | Determine which Users have the playlist synced.<br>This will override the global [`playlist_sync_to_users` Setting](../config/settings.md).<br>**Options:** Comma-separated string or list of users, `all` for every user who has server access, or leave blank for just the server owner. | :fontawesome-solid-circle-xmark:{ .red } |
|
| `sync_to_users` | Determine which Users have the playlist synced.<br>This will override the global [`playlist_sync_to_users` Setting](../config/settings.md).<br>**Options:** Comma-separated string or list of users, `all` for every user who has server access, or leave blank for just the server owner. | :fontawesome-solid-circle-xmark:{ .red } |
|
||||||
| `exclude_users` | Determine which Users will be excluded from having the playlist synced.<br>This will override the global [`playlist_excude_users` Setting](../config/settings.md).<br>**Options:** Comma-separated string or list of users, `all` for every user who has server access, or leave blank for just the server owner. | :fontawesome-solid-circle-xmark:{ .red } |
|
| `exclude_users` | Determine which Users will be excluded from having the playlist synced.<br>This will override the global [`playlist_excude_users` Setting](../config/settings.md).<br>**Options:** Comma-separated string or list of users, `all` for every user who has server access, or leave blank for just the server owner. | :fontawesome-solid-circle-xmark:{ .red } |
|
||||||
| `delete_playlist` | Will delete this playlist for the users defined by sync_to_users.<br>**Options:** `true` or `false` | :fontawesome-solid-circle-xmark:{ .red } |
|
| `delete_playlist` | Will delete this playlist for the users defined by sync_to_users.<br>**Options:** `true` or `false` | :fontawesome-solid-circle-xmark:{ .red } |
|
||||||
|
|
||||||
* Any defined playlist will be always be visible by The Plex Media Server owner, so it doesn't need to be defined within `sync_to_users`.
|
* Any defined playlist will be always be visible by The Plex Media Server owner, so it doesn't need to be defined within `sync_to_users`.
|
||||||
|
|
||||||
|
|
|
@ -28,11 +28,11 @@ These are the developers and creators who are an active part of the Kometa commu
|
||||||
| Acknowledgement | Reason | Sponsor the Developer |
|
| Acknowledgement | Reason | Sponsor the Developer |
|
||||||
|:---------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------:|
|
|:---------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------:|
|
||||||
| [chazlarson](https://github.com/chazlarson/) | Creator of [Media-Scripts](https://github.com/chazlarson/Media-Scripts) which offers supporting functionality to users of Kometa | [Click Here](https://www.google.com/search?q=food+shelf+near+me) |
|
| [chazlarson](https://github.com/chazlarson/) | Creator of [Media-Scripts](https://github.com/chazlarson/Media-Scripts) which offers supporting functionality to users of Kometa | [Click Here](https://www.google.com/search?q=food+shelf+near+me) |
|
||||||
| [linas](https://github.com/linaspurinis) | Creator of [MDBlist.com](https://github.com/deva5610/IMDBList2PlexCollection) which makes creating Kometa compatible lists easy | [Click Here](https://www.patreon.com/mdblist/posts) |
|
| [linas](https://github.com/linaspurinis) | Creator of [MDBList.com](https://github.com/deva5610/IMDbList2PlexCollection) which makes creating Kometa compatible lists easy | [Click Here](https://www.patreon.com/mdblist/posts) |
|
||||||
| [nitsua](https://github.com/austinwbest) | Creator of [Notifiarr](https://github.com/Notifiarr) which integrates Kometa with Discord | [Click Here](https://github.com/sponsors/Notifiarr) |
|
| [nitsua](https://github.com/austinwbest) | Creator of [Notifiarr](https://github.com/Notifiarr) which integrates Kometa with Discord | [Click Here](https://github.com/sponsors/Notifiarr) |
|
||||||
| [ZeroQI](https://github.com/ZeroQI) | Creator of [Absolute Series Scanner](https://github.com/ZeroQI/Absolute-Series-Scanner) and the [HTTP Anidb Metadata Agent (HAMA)](https://github.com/ZeroQI/Hama.bundle) | [Click Here](https://github.com/sponsors/ZeroQI) |
|
| [ZeroQI](https://github.com/ZeroQI) | Creator of [Absolute Series Scanner](https://github.com/ZeroQI/Absolute-Series-Scanner) and the [HTTP AniDB Metadata Agent (HAMA)](https://github.com/ZeroQI/Hama.bundle) | [Click Here](https://github.com/sponsors/ZeroQI) |
|
||||||
| [ScudLee](https://github.com/ScudLee) | Creator of [AniDb Anime Lists](https://github.com/Anime-Lists/anime-lists) | :fontawesome-solid-circle-xmark:{ .red } |
|
| [ScudLee](https://github.com/ScudLee) | Creator of [AniDB Anime Lists](https://github.com/Anime-Lists/anime-lists) | :fontawesome-solid-circle-xmark:{ .red } |
|
||||||
| [Fribb](https://github.com/Fribb) | Creator of the [MyAnimelist.net Metadata Agent](https://github.com/Fribb/MyAnimeList.bundle) which makes matching Anime easy for Kometa users | :fontawesome-solid-circle-xmark:{ .red } |
|
| [Fribb](https://github.com/Fribb) | Creator of the [MyAnimeList.net Metadata Agent](https://github.com/Fribb/MyAnimeList.bundle) which makes matching Anime easy for Kometa users | :fontawesome-solid-circle-xmark:{ .red } |
|
||||||
| [Koltom](https://mediux.pro/) | Creator of [Mediux](https://mediux.pro/) | :fontawesome-solid-circle-xmark:{ .red } |
|
| [Koltom](https://mediux.pro/) | Creator of [Mediux](https://mediux.pro/) | :fontawesome-solid-circle-xmark:{ .red } |
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
@ -43,8 +43,8 @@ These are the developers and creators who served as inspiration for Kometa.
|
||||||
|
|
||||||
| Acknowledgement | Reason | Sponsor the Developer |
|
| Acknowledgement | Reason | Sponsor the Developer |
|
||||||
|:--------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------:|
|
|:--------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------:|
|
||||||
| [JonnyWong16](https://github.com/JonnyWong16) | Creator of the [IMDb Top 250](https://gist.github.com/JonnyWong16/f5b9af386ea58e19bf18c09f2681df23) collection script which served as inspiration for IMDBList2PlexCollection (and for [Tautulli](https://github.com/Tautulli/Tautulli)!) | [Click Here](https://github.com/sponsors/JonnyWong16) |
|
| [JonnyWong16](https://github.com/JonnyWong16) | Creator of the [IMDb Top 250](https://gist.github.com/JonnyWong16/f5b9af386ea58e19bf18c09f2681df23) collection script which served as inspiration for IMDbList2PlexCollection (and for [Tautulli](https://github.com/Tautulli/Tautulli)!) | [Click Here](https://github.com/sponsors/JonnyWong16) |
|
||||||
| [deva5610](https://github.com/deva5610) | Creator of [IMDBList2PlexCollection](https://github.com/deva5610/IMDBList2PlexCollection) which prompted vladimir-tutin to write the original Plex Auto Collections | :fontawesome-solid-circle-xmark:{ .red } |
|
| [deva5610](https://github.com/deva5610) | Creator of [IMDbList2PlexCollection](https://github.com/deva5610/IMDbList2PlexCollection) which prompted vladimir-tutin to write the original Plex Auto Collections | :fontawesome-solid-circle-xmark:{ .red } |
|
||||||
| [vladimir-tutin](https://github.com/vladimir-tutin) | Creator of the original [Plex Auto Collections](https://github.com/vladimir-tutin/Plex-Auto-Collections) which is the inspiration for Kometa. | :fontawesome-solid-circle-xmark:{ .red } |
|
| [vladimir-tutin](https://github.com/vladimir-tutin) | Creator of the original [Plex Auto Collections](https://github.com/vladimir-tutin/Plex-Auto-Collections) which is the inspiration for Kometa. | :fontawesome-solid-circle-xmark:{ .red } |
|
||||||
| [mza921](https://github.com/mza921) and [burkasaurusrex](https://github.com/burkasaurusrex) | Maintaining a forked [Plex Auto Collections](https://github.com/mza921/Plex-Auto-Collections) | :fontawesome-solid-circle-xmark:{ .red } |
|
| [mza921](https://github.com/mza921) and [burkasaurusrex](https://github.com/burkasaurusrex) | Maintaining a forked [Plex Auto Collections](https://github.com/mza921/Plex-Auto-Collections) | :fontawesome-solid-circle-xmark:{ .red } |
|
||||||
| [jkirkcaldy](https://github.com/jkirkcaldy) | Creator of [plex-utills](https://github.com/jkirkcaldy/plex-utills) which served as inspiration for Image Overlay | [Click Here](https://opencollective.com/themainframe) |
|
| [jkirkcaldy](https://github.com/jkirkcaldy) | Creator of [plex-utills](https://github.com/jkirkcaldy/plex-utills) which served as inspiration for Image Overlay | [Click Here](https://opencollective.com/themainframe) |
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
search:
|
search:
|
||||||
boost: 4
|
boost: 4
|
||||||
---
|
---
|
||||||
# FAQ & Knowledgebase
|
# FAQ & Knowledge Base
|
||||||
|
|
||||||
This page aims to provide knowledge based on combined user experience, and to answer the frequent questions that we are asked in our [Discord Server](https://kometa.wiki/en/latest/discord/).
|
This page aims to provide knowledge based on combined user experience, and to answer the frequent questions that we are asked in our [Discord Server](https://kometa.wiki/en/latest/discord/).
|
||||||
|
|
||||||
|
@ -380,7 +380,7 @@ Your Kometa installation may not be located at the paths referenced below. These
|
||||||
|
|
||||||
There is nothing that Kometa or our support staff can really do to resolve a 500 error.
|
There is nothing that Kometa or our support staff can really do to resolve a 500 error.
|
||||||
|
|
||||||
## Knowledgebase
|
## Knowledge Base
|
||||||
|
|
||||||
This section aims to provide some insight as to articles/information that we feel is important to document as they may pop up infrequently but often enough to require entry here.
|
This section aims to provide some insight as to articles/information that we feel is important to document as they may pop up infrequently but often enough to require entry here.
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ These guides will walk you through installing Kometa on your system.
|
||||||
|
|
||||||
## Explanations
|
## Explanations
|
||||||
|
|
||||||
The below guides and recipes have been created to assist users with various aspects of Komets and its companion scripts.
|
The below guides and recipes have been created to assist users with various aspects of Kometa's and its companion scripts.
|
||||||
|
|
||||||
- [Plex Ratings Explained](ratings.md)
|
- [Plex Ratings Explained](ratings.md)
|
||||||
- [Scheduling Kometa Runs Guide](scheduling.md)
|
- [Scheduling Kometa Runs Guide](scheduling.md)
|
||||||
|
@ -80,10 +80,10 @@ A lot of these guides are stored on Google Drive as using the traditional wiki p
|
||||||
- Stores the Rainier actor posters
|
- Stores the Rainier actor posters
|
||||||
- [People Images Signature (signature)](https://github.com/Kometa-Team/People-Images-signature)
|
- [People Images Signature (signature)](https://github.com/Kometa-Team/People-Images-signature)
|
||||||
- Stores the Signature actor posters
|
- Stores the Signature actor posters
|
||||||
- [People Images DIIVOY (diiivoy)](https://github.com/Kometa-Team/People-Images-diiivoy)
|
- [People Images DIIIVOY (diiivoy)](https://github.com/Kometa-Team/People-Images-diiivoy)
|
||||||
- Stores the DIIVOY actor posters
|
- Stores the DIIIVOY actor posters
|
||||||
- [People Images DIIVOY Color (diiivoycolor)](https://github.com/Kometa-Team/People-Images-diiivoycolor)
|
- [People Images DIIIVOY Color (diiivoycolor)](https://github.com/Kometa-Team/People-Images-diiivoycolor)
|
||||||
- Stores the DIIVOY Color actor posters
|
- Stores the DIIIVOY Color actor posters
|
||||||
- [People Images Transparent (transparent)](https://github.com/Kometa-Team/People-Images-transparent)
|
- [People Images Transparent (transparent)](https://github.com/Kometa-Team/People-Images-transparent)
|
||||||
- Stores the Transparent actor posters
|
- Stores the Transparent actor posters
|
||||||
|
|
||||||
|
|
|
@ -202,7 +202,7 @@ The log will show Kometa updating those values.
|
||||||
|
|
||||||
#### Use Trakt Rating
|
#### Use Trakt Rating
|
||||||
|
|
||||||
Let's change the Trakt rating to that trakt public rating of `85%` instead, which is available via MDbList:
|
Let's change the Trakt rating to that trakt public rating of `85%` instead, which is available via MDBList:
|
||||||
|
|
||||||
??? example "Updated config (click to expand)"
|
??? example "Updated config (click to expand)"
|
||||||
|
|
||||||
|
|
|
@ -102,13 +102,13 @@ This message shows that your installation appears to be working correctly.
|
||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
If that doesn't work, stop here until you fix that. Diagnoing and repairing Docker install problems is out of the scope of this walkthrough.
|
If that doesn't work, stop here until you fix that. Diagnosing and repairing Docker install problems is out of the scope of this walkthrough.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
#### Important note on Docker images
|
#### Important note on Docker images
|
||||||
|
|
||||||
This tutorial uses the official image, and you should, too. Don't change `kometateam/kometa` to the `linuxserver.io` image or any other; other images may have [idiosyncracies](images.md) that will prevent this walkthrough from working. The official image *will* behave exactly as documented below. Others very possibly won't.
|
This tutorial uses the official image, and you should, too. Don't change `kometateam/kometa` to the `linuxserver.io` image or any other; other images may have [idiosyncrasies](images.md) that will prevent this walkthrough from working. The official image *will* behave exactly as documented below. Others very possibly won't.
|
||||||
|
|
||||||
The great thing about Docker is that all the setup you'd have to do to run Kometa is already done inside the docker image.
|
The great thing about Docker is that all the setup you'd have to do to run Kometa is already done inside the docker image.
|
||||||
|
|
||||||
|
|
|
@ -287,7 +287,7 @@ the cronjob starts each time. This can be done by including an init container w
|
||||||
|
|
||||||
### Including the Init Container in the Cron Job
|
### Including the Init Container in the Cron Job
|
||||||
|
|
||||||
NOTE the environment value nameed `JINJA_DEST_FILE` is the resulting name of the generated config file.
|
NOTE the environment value named `JINJA_DEST_FILE` is the resulting name of the generated config file.
|
||||||
|
|
||||||
```
|
```
|
||||||
apiVersion: batch/v1
|
apiVersion: batch/v1
|
||||||
|
|
|
@ -204,7 +204,7 @@ Later on you can move it elsewhere if you want, but for now put it there. This
|
||||||
```
|
```
|
||||||
git pull
|
git pull
|
||||||
```
|
```
|
||||||
No need to download a new ZIP, uncompress it, etc.
|
No need to download a new ZIP, decompress it, etc.
|
||||||
Also, if you are asked to [or want to] switch to the latest develop or nightly code, you can do so with:
|
Also, if you are asked to [or want to] switch to the latest develop or nightly code, you can do so with:
|
||||||
```
|
```
|
||||||
git checkout develop
|
git checkout develop
|
||||||
|
@ -634,10 +634,10 @@ deactivate
|
||||||
|
|
||||||
### I want to use the nightly branch
|
### I want to use the nightly branch
|
||||||
|
|
||||||
Follow the instructions for the `develop` branch above, subsituting `nightly` for `develop`
|
Follow the instructions for the `develop` branch above, substituting `nightly` for `develop`
|
||||||
|
|
||||||
### I want to use the master branch
|
### I want to use the master branch
|
||||||
|
|
||||||
Follow the instructions for the `develop` branch above, subsituting `master` for `develop`
|
Follow the instructions for the `develop` branch above, substituting `master` for `develop`
|
||||||
|
|
||||||
The installation of requirements every time is probably overkill, but it's harmless and ensures that you always get any new versions or new requirements.
|
The installation of requirements every time is probably overkill, but it's harmless and ensures that you always get any new versions or new requirements.
|
||||||
|
|
|
@ -13,7 +13,7 @@ If you have some specific reason to avoid Docker, or you prefer running it as a
|
||||||
|
|
||||||
## Where to install Kometa
|
## Where to install Kometa
|
||||||
|
|
||||||
Kometa communicates with all services [Plex, Radarr, Trakt, etc] via their network APIs, so Kometa does *not* have to be installed on the same machine as Plex. Kometa does not require [nor would it use] access to the filesystem behind your Plex libraries.
|
Kometa communicates with all services [Plex, Radarr, Trakt, etc] via their network APIs, so Kometa does *not* have to be installed on the same machine as Plex. Kometa does not require [nor would it use] access to the file system behind your Plex libraries.
|
||||||
|
|
||||||
Perhaps your Plex server is remote and you want to run Kometa on a machine in your home. That's fine. The relative locations of Kometa and Plex have no effect on the installation [except perhaps the URL you would use in the config].
|
Perhaps your Plex server is remote and you want to run Kometa on a machine in your home. That's fine. The relative locations of Kometa and Plex have no effect on the installation [except perhaps the URL you would use in the config].
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,7 @@ To install a container from docker hub, you will need community applications - a
|
||||||
|
|
||||||
#### Important note on Docker images
|
#### Important note on Docker images
|
||||||
|
|
||||||
This tutorial uses the official image, and you should, too. Don't change `kometateam/kometa` to the `linuxserver.io` image or any other. Other images may have [idiosyncracies](images.md) that will prevent this walkthrough from working. The official image *will* behave exactly as documented below. Others very possibly won't.
|
This tutorial uses the official image, and you should, too. Don't change `kometateam/kometa` to the `linuxserver.io` image or any other. Other images may have [idiosyncrasies](images.md) that will prevent this walkthrough from working. The official image *will* behave exactly as documented below. Others very possibly won't.
|
||||||
|
|
||||||
The great thing about Docker is that all the setup you'd have to do to run Kometa is already done inside the docker image.
|
The great thing about Docker is that all the setup you'd have to do to run Kometa is already done inside the docker image.
|
||||||
|
|
||||||
|
@ -98,7 +98,7 @@ You can now close the unRAID terminal and start the Kometa container.
|
||||||
|
|
||||||
**_From this point forward, you can Console `>_Console` into the running container as it will stay running_**
|
**_From this point forward, you can Console `>_Console` into the running container as it will stay running_**
|
||||||
|
|
||||||
Open a Console by left-clicking on the running Kometcontainer and selecting `>_Console`. This will open up an interactive session within the container to be able to run the commands we want.
|
Open a Console by left-clicking on the running Kometa Container and selecting `>_Console`. This will open up an interactive session within the container to be able to run the commands we want.
|
||||||
|
|
||||||
### Create a directory to quiet an error later
|
### Create a directory to quiet an error later
|
||||||
|
|
||||||
|
|
|
@ -58,7 +58,7 @@ You will ultimately need an entry here for each of the libraries on which you wa
|
||||||
|
|
||||||
For now, delete the “TV Shows”, “Anime”, and "Music" sections from the config file and change the name of the “Movies” section to “Movies-NOSUCHLIBRARY":
|
For now, delete the “TV Shows”, “Anime”, and "Music" sections from the config file and change the name of the “Movies” section to “Movies-NOSUCHLIBRARY":
|
||||||
|
|
||||||
The top bit of your config file should now looke like this:
|
The top bit of your config file should now look like this:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
libraries:
|
libraries:
|
||||||
|
@ -74,5 +74,5 @@ playlist_files:
|
||||||
|
|
||||||
This is intended to cause an error for illustration that you will then fix.
|
This is intended to cause an error for illustration that you will then fix.
|
||||||
|
|
||||||
Be very careful with the indentation and ensure it looks exactly like the above; each line indented using two spaces, NOT TABS, with `playlist_files:` all teh way over on the left. Indentation is significant in YAML.
|
Be very careful with the indentation and ensure it looks exactly like the above; each line indented using two spaces, NOT TABS, with `playlist_files:` all the way over on the left. Indentation is significant in YAML.
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ Kometa provides an extensive collection of "default" collection files.
|
||||||
|
|
||||||
These files provide a simple way for you to create collections based on franchises or awards or actors, etc.
|
These files provide a simple way for you to create collections based on franchises or awards or actors, etc.
|
||||||
|
|
||||||
The default config links to two of them, thse two lines in your config file:
|
The default config links to two of them, these two lines in your config file:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
libraries:
|
libraries:
|
||||||
|
|
|
@ -8,8 +8,8 @@ For best results *with this walkthrough*, your test library will contain:
|
||||||
|
|
||||||
- At least two comedy movies released since 2012.
|
- At least two comedy movies released since 2012.
|
||||||
- At least two movies from the [IMDB top 250](https://www.imdb.com/chart/top/).
|
- At least two movies from the [IMDB top 250](https://www.imdb.com/chart/top/).
|
||||||
- At least two movies from [IMDB's Popular list](https://www.imdb.com/chart/moviemeter).
|
- At least two movies from [IMDb's Popular list](https://www.imdb.com/chart/moviemeter).
|
||||||
- At least two movies from [IMDB's Lowest Rated](https://www.imdb.com/chart/bottom).
|
- At least two movies from [IMDb's Lowest Rated](https://www.imdb.com/chart/bottom).
|
||||||
- A couple different resolutions among the movies.
|
- A couple different resolutions among the movies.
|
||||||
|
|
||||||
That will ensure there's something to go into each of the example collections that will be created.
|
That will ensure there's something to go into each of the example collections that will be created.
|
||||||
|
|
|
@ -69,43 +69,43 @@ This section aims to explain some commonly seen event messages that are produced
|
||||||
|
|
||||||
This table details examples of the most commonly-seen `[CRITICAL]` events and what they mean for the user.
|
This table details examples of the most commonly-seen `[CRITICAL]` events and what they mean for the user.
|
||||||
|
|
||||||
| Type | Short Info | Description | Recommendation |
|
| Type | Short Info | Description | Recommendation |
|
||||||
|:-----------|:----------------------------------------------------|:------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------|
|
|:-----------|:----------------------------------------------------|:---------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------|
|
||||||
| `CRITICAL` | `Failed to Connect to https://api.themoviedb.org/3` | Current step Kometa was on made an API call to TMDb, but it aborted and moved on | Determine if TMDb was offline and not replying to api requests. Try again and see if it fails again or not. |
|
| `CRITICAL` | `Failed to Connect to https://api.themoviedb.org/3` | Current step Kometa was on made an API call to TMDb, but it aborted and moved on | Determine if TMDb was offline and not replying to API requests. Try again and see if it fails again or not. |
|
||||||
|
|
||||||
#### ERROR
|
#### ERROR
|
||||||
|
|
||||||
This table details examples of the most commonly-seen `[ERROR]` events and what they mean for the user.
|
This table details examples of the most commonly-seen `[ERROR]` events and what they mean for the user.
|
||||||
|
|
||||||
| Type | Short Info | Description | Recommendation |
|
| Type | Short Info | Description | Recommendation |
|
||||||
|:--------|:------------------------------------------------------------------|:---------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|:--------|:------------------------------------------------------------------|:------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| `ERROR` | `Playlist Error: Library: XYZ not defined` | Plex library XYZ is not found | Ensure that your config file has defined the proper library name as found in Plex |
|
| `ERROR` | `Playlist Error: Library: XYZ not defined` | Plex library XYZ is not found | Ensure that your config file has defined the proper library name as found in Plex |
|
||||||
| `ERROR` | `Plex Error: resolution: No matches found with regex pattern XYZ` | While looking for a pattern in Plex, this one was not found | This may be normal and require 0 actions. However, if you expect that Plex should have returned records, check the pattern to ensure it is working properly |
|
| `ERROR` | `Plex Error: resolution: No matches found with regex pattern XYZ` | While looking for a pattern in Plex, this one was not found | This may be normal and require 0 actions. However, if you expect that Plex should have returned records, check the pattern to ensure it is working properly |
|
||||||
| `ERROR` | `Plex Error: No Items found in Plex` | While using the Kometa builder, no items with that criteria were returned from Plex | This may be normal and require 0 actions. However, if you expect that Plex should have returned records, check the builder to ensure it is working properly |
|
| `ERROR` | `Plex Error: No Items found in Plex` | While using the Kometa builder, no items with that criteria were returned from Plex | This may be normal and require 0 actions. However, if you expect that Plex should have returned records, check the builder to ensure it is working properly |
|
||||||
| `ERROR` | `IMDb Error: Failed to parse URL:` | While using the Kometa builder, url does not exist | This may be normal and require 0 actions. However, if you expect that the URL should have returned records, check the url in your browser to ensure it is working properly |
|
| `ERROR` | `IMDb Error: Failed to parse URL:` | While using the Kometa builder, url does not exist | This may be normal and require 0 actions. However, if you expect that the URL should have returned records, check the url in your browser to ensure it is working properly |
|
||||||
| `ERROR` | `Trakt Error: No TVDb ID found for Nightfall (2022)` | Online sources are missing information | These sorts of errors indicate that the thing can't be cross-referenced between sites.</br>For example, at the time of that error, the Trakt record for "Nightfall (2022)" didn't contain a TVDb ID.</br>This could be because the record just hasn't been updated, or because "Nightfall (2022)" is not listed on TVDb.</br>The fix is for someone [like you, perhaps] to go to the relevant site and fill in the missing data. |
|
| `ERROR` | `Trakt Error: No TVDb ID found for Nightfall (2022)` | Online sources are missing information | These sorts of errors indicate that the thing can't be cross-referenced between sites.</br>For example, at the time of that error, the Trakt record for "Nightfall (2022)" didn't contain a TVDb ID.</br>This could be because the record just hasn't been updated, or because "Nightfall (2022)" is not listed on TVDb.</br>The fix is for someone [like you, perhaps] to go to the relevant site and fill in the missing data. |
|
||||||
| `ERROR` | `MdbList Error: Not Found` | Online sources are missing information | These sorts of errors indicate that the thing can't be cross-referenced between sites. For example, at the time of that error, the MDBlist record was trying to get a rating for a media item and could not find it. |
|
| `ERROR` | `MDBList Error: Not Found` | Online sources are missing information | These sorts of errors indicate that the thing can't be cross-referenced between sites. For example, at the time of that error, the MDBList record was trying to get a rating for a media item and could not find it. |
|
||||||
| `ERROR` | `Plex Error: actor: Mel B not found` | Actor not found and hence unable to create the collection | Report error in #kometa-help channel and see if there is a fix. |
|
| `ERROR` | `Plex Error: actor: Mel B not found` | Actor not found and hence unable to create the collection | Report error in #kometa-help channel and see if there is a fix. |
|
||||||
| `ERROR` | `Input Failed` | A token or password is no longer valid for an online source of information | Review the kometa.log for more information |
|
| `ERROR` | `Input Failed` | A token or password is no longer valid for an online source of information | Review the kometa.log for more information |
|
||||||
| `ERROR` | `Collection Error: trakt_list requires Trakt to be configured` | You are using a builder that has not been configured yet. | Review the kometa.log for more information on what went wrong. Refer to the wiki for details on how to set this up (in this case Trakt) |
|
| `ERROR` | `Collection Error: trakt_list requires Trakt to be configured` | You are using a builder that has not been configured yet. | Review the kometa.log for more information on what went wrong. Refer to the wiki for details on how to set this up (in this case Trakt) |
|
||||||
|
|
||||||
#### WARNING
|
#### WARNING
|
||||||
|
|
||||||
This table details examples of the most commonly-seen `[WARNING]` events and what they mean for the user.
|
This table details examples of the most commonly-seen `[WARNING]` events and what they mean for the user.
|
||||||
|
|
||||||
| Type | Short Info | Description | Recommendation |
|
| Type | Short Info | Description | Recommendation |
|
||||||
|:----------|:-----------------------------------------------------------------|:-----------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|:----------|:-------------------------------------------------------------------|:----------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| `WARNING` | `Convert Warning: No TVDb ID Found for TMDb ID: 15733` | Online sources are missing information | These sorts of errors indicate that the thing can't be cross-referenced between sites.</br>For example, at the time of that error, the TMDb record for "The Two Mrs. Grenvilles" [ID 15733] didn't contain a TVDb ID.</br>This could be because the record just hasn't been updated, or because "The Two Mrs. Grenvilles" is not listed on TVDB.</br>The fix is for someone [like you, perhaps] to go to the relevant site and fill in the missing data. |
|
| `WARNING` | `Convert Warning: No TVDb ID Found for TMDb ID: 15733` | Online sources are missing information | These sorts of errors indicate that the thing can't be cross-referenced between sites.</br>For example, at the time of that error, the TMDb record for "The Two Mrs. Grenvilles" [ID 15733] didn't contain a TVDb ID.</br>This could be because the record just hasn't been updated, or because "The Two Mrs. Grenvilles" is not listed on TVDB.</br>The fix is for someone [like you, perhaps] to go to the relevant site and fill in the missing data. |
|
||||||
| `WARNING` | `Convert Warning: AniDB ID not found for AniList ID: 21400` | Online sources are missing information | These sorts of errors indicate that the thing can't be cross-referenced between sites. The fix is for someone [like you, perhaps] to go to the relevant site and fill in the missing data. |
|
| `WARNING` | `Convert Warning: AniDB ID not found for AniList ID: 21400` | Online sources are missing information | These sorts of errors indicate that the thing can't be cross-referenced between sites. The fix is for someone [like you, perhaps] to go to the relevant site and fill in the missing data. |
|
||||||
| `WARNING` | `Convert Warning: No TVDb ID or IMDb ID found for AniDB ID: 14719` | Online sources are missing information | These sorts of errors indicate that the thing can't be cross-referenced between sites. The fix is for someone [like you, perhaps] to go to the relevant site and fill in the missing data. |
|
| `WARNING` | `Convert Warning: No TVDb ID or IMDb ID found for AniDB ID: 14719` | Online sources are missing information | These sorts of errors indicate that the thing can't be cross-referenced between sites. The fix is for someone [like you, perhaps] to go to the relevant site and fill in the missing data. |
|
||||||
| `WARNING` | `Convert Warning: AniDB ID not found for MyAnimeList ID: 36838` | Online sources are missing information | These sorts of errors indicate that the thing can't be cross-referenced between sites. The fix is for someone [like you, perhaps] to go to the relevant site and fill in the missing data. |
|
| `WARNING` | `Convert Warning: AniDB ID not found for MyAnimeList ID: 36838` | Online sources are missing information | These sorts of errors indicate that the thing can't be cross-referenced between sites. The fix is for someone [like you, perhaps] to go to the relevant site and fill in the missing data. |
|
||||||
|
|
||||||
#### INFO
|
#### INFO
|
||||||
|
|
||||||
This table details examples of the most commonly-seen `[INFO]` events and what they mean for the user.
|
This table details examples of the most commonly-seen `[INFO]` events and what they mean for the user.
|
||||||
|
|
||||||
| Type | Short Info | Description | Recommendation |
|
| Type | Short Info | Description | Recommendation |
|
||||||
|:-------|:----------------------------------------------|:--------------------------------------|:------------------------------------------------------------------------------------------------------------------------------|
|
|:-------|:----------------------------------------------|:--------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| `INFO` | `Detail: TMDb_person updated poster to [URL]` | Person image was downloaded from TMDb | May require you to update the people poster image to your style or request it in the style of the Kometa defaults people posters |
|
| `INFO` | `Detail: TMDb_person updated poster to [URL]` | Person image was downloaded from TMDb | May require you to update the people poster image to your style or request it in the style of the Kometa defaults people posters |
|
||||||
|
|
||||||
### Other Troubleshooting Examples
|
### Other Troubleshooting Examples
|
||||||
|
|
|
@ -184,25 +184,25 @@ message: 3: YAML # breaks as a : is a special character
|
||||||
"message: 3": YAML # Works as the key string is quoted
|
"message: 3": YAML # Works as the key string is quoted
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Multiline Strings
|
#### Multi-Line Strings
|
||||||
|
|
||||||
Strings can be interpreted as multiline using the pipe (`|`) character.
|
Strings can be interpreted as multi-line using the pipe (`|`) character.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
message: |
|
message: |
|
||||||
this is
|
this is
|
||||||
a real multiline
|
a real multi-line
|
||||||
message
|
message
|
||||||
```
|
```
|
||||||
|
|
||||||
This would be read as `this is\na real multiline\nmessage`
|
This would be read as `this is\na real multi-line\nmessage`
|
||||||
|
|
||||||
## Comments
|
## Comments
|
||||||
|
|
||||||
YAML file also supports comments, unlike JSON. A comment starts with #.
|
YAML file also supports comments, unlike JSON. A comment starts with #.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Strats with a top level Dictionary with keys `libraries` and `settings`
|
# Starts with a top level Dictionary with keys `libraries` and `settings`
|
||||||
libraries: # Value is a Dictionary with keys `Movies` and `TV Shows`
|
libraries: # Value is a Dictionary with keys `Movies` and `TV Shows`
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -4,4 +4,4 @@
|
||||||
|
|
||||||
See the [Installation Page](../kometa/install/overview.md) for info on how to install Kometa.
|
See the [Installation Page](../kometa/install/overview.md) for info on how to install Kometa.
|
||||||
|
|
||||||
This guide is assuming you know how to run Kometwith the `--run` run command or the `KOMETA_RUN` environment variable to perform immediate runs
|
This guide is assuming you know how to run Kometa with the `--run` run command or the `KOMETA_RUN` environment variable to perform immediate runs
|
|
@ -65,7 +65,7 @@ Now let's use the `sort_title` attribute to reorder these collections slightly
|
||||||
sort_title: "%&'Collection 2"
|
sort_title: "%&'Collection 2"
|
||||||
```
|
```
|
||||||
|
|
||||||
You will often see users using sort titles such as `+++++++_My Collection` or `!010_My Collection` in order to force a specific order of collections. Whilst it may not seem logical at a glance, the ASCII sort order allows a lot of fleixibility for power users to be able to tailor the ordering of collections.
|
You will often see users using sort titles such as `+++++++_My Collection` or `!010_My Collection` in order to force a specific order of collections. Whilst it may not seem logical at a glance, the ASCII sort order allows a lot of flexibility for power users to be able to tailor the ordering of collections.
|
||||||
|
|
||||||
### Kometa Default Collection Sorting
|
### Kometa Default Collection Sorting
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@ Then open your config file in an editor that supports the use of JSON schema.
|
||||||
|
|
||||||
For example, VS Code with the Red Hat YAML extension.
|
For example, VS Code with the Red Hat YAML extension.
|
||||||
|
|
||||||
This will give you context-sensitve hints and auto-complete for much of the Kometa `config.yml`
|
This will give you context-sensitive hints and auto-complete for much of the Kometa `config.yml`
|
||||||
|
|
||||||
![image](https://github.com/Kometa-Team/Kometa/assets/3865541/62133e59-ed12-4764-a4da-23595824d4da)
|
![image](https://github.com/Kometa-Team/Kometa/assets/3865541/62133e59-ed12-4764-a4da-23595824d4da)
|
||||||
|
|
||||||
|
|
|
@ -183,7 +183,7 @@ nav:
|
||||||
- Tautulli: config/tautulli.md
|
- Tautulli: config/tautulli.md
|
||||||
- Github: config/github.md
|
- Github: config/github.md
|
||||||
- OMDb: config/omdb.md
|
- OMDb: config/omdb.md
|
||||||
- MdbList: config/mdblist.md
|
- MDBList: config/mdblist.md
|
||||||
- Notifiarr: config/notifiarr.md
|
- Notifiarr: config/notifiarr.md
|
||||||
- Gotify: config/gotify.md
|
- Gotify: config/gotify.md
|
||||||
- AniDB: config/anidb.md
|
- AniDB: config/anidb.md
|
||||||
|
@ -327,7 +327,7 @@ nav:
|
||||||
- Tautulli Builders: files/builders/tautulli.md
|
- Tautulli Builders: files/builders/tautulli.md
|
||||||
- Radarr Builders: files/builders/radarr.md
|
- Radarr Builders: files/builders/radarr.md
|
||||||
- Sonarr Builders: files/builders/sonarr.md
|
- Sonarr Builders: files/builders/sonarr.md
|
||||||
- MdbList Builders: files/builders/mdblist.md
|
- MDBList Builders: files/builders/mdblist.md
|
||||||
- Letterboxd Builders: files/builders/letterboxd.md
|
- Letterboxd Builders: files/builders/letterboxd.md
|
||||||
- ICheckMovies Builders: files/builders/icheckmovies.md
|
- ICheckMovies Builders: files/builders/icheckmovies.md
|
||||||
- BoxOfficeMojo Builders: files/builders/mojo.md
|
- BoxOfficeMojo Builders: files/builders/mojo.md
|
||||||
|
|
|
@ -298,7 +298,7 @@ class AniList:
|
||||||
logger.info(f"Processing AniList Relations: ({data}) {name} ({len(anilist_ids)} Anime)")
|
logger.info(f"Processing AniList Relations: ({data}) {name} ({len(anilist_ids)} Anime)")
|
||||||
elif method == "anilist_userlist":
|
elif method == "anilist_userlist":
|
||||||
anilist_ids = self._userlist(data["username"], data["list_name"], data["sort_by"], data["score"])
|
anilist_ids = self._userlist(data["username"], data["list_name"], data["sort_by"], data["score"])
|
||||||
logger.info(f"Processing AniList Userlist: {data['list_name']} from {data['username']} sorted by {pretty_user[data['sort_by']]}")
|
logger.info(f"Processing AniList UserList: {data['list_name']} from {data['username']} sorted by {pretty_user[data['sort_by']]}")
|
||||||
else:
|
else:
|
||||||
if method == "anilist_popular":
|
if method == "anilist_popular":
|
||||||
data = {"limit": data, "popularity.gt": 3, "sort_by": "popular"}
|
data = {"limit": data, "popularity.gt": 3, "sort_by": "popular"}
|
||||||
|
|
|
@ -1965,7 +1965,7 @@ class CollectionBuilder:
|
||||||
self.builders.append((method_name, util.parse(self.Type, method_name, method_data, "bool")))
|
self.builders.append((method_name, util.parse(self.Type, method_name, method_data, "bool")))
|
||||||
|
|
||||||
def _mdblist(self, method_name, method_data):
|
def _mdblist(self, method_name, method_data):
|
||||||
for mdb_dict in self.config.Mdblist.validate_mdblist_lists(self.Type, method_data):
|
for mdb_dict in self.config.MDBList.validate_mdblist_lists(self.Type, method_data):
|
||||||
self.builders.append((method_name, mdb_dict))
|
self.builders.append((method_name, mdb_dict))
|
||||||
|
|
||||||
def _tautulli(self, method_name, method_data):
|
def _tautulli(self, method_name, method_data):
|
||||||
|
@ -2214,7 +2214,7 @@ class CollectionBuilder:
|
||||||
elif "mojo" in method:
|
elif "mojo" in method:
|
||||||
ids = self.config.BoxOfficeMojo.get_imdb_ids(method, value)
|
ids = self.config.BoxOfficeMojo.get_imdb_ids(method, value)
|
||||||
elif "mdblist" in method:
|
elif "mdblist" in method:
|
||||||
ids = self.config.Mdblist.get_tmdb_ids(method, value, self.library.is_movie if not self.playlist else None)
|
ids = self.config.MDBList.get_tmdb_ids(method, value, self.library.is_movie if not self.playlist else None)
|
||||||
elif "tmdb" in method:
|
elif "tmdb" in method:
|
||||||
ids = self.config.TMDb.get_tmdb_ids(method, value, self.library.is_movie, self.tmdb_region)
|
ids = self.config.TMDb.get_tmdb_ids(method, value, self.library.is_movie, self.tmdb_region)
|
||||||
elif "trakt" in method:
|
elif "trakt" in method:
|
||||||
|
|
|
@ -22,7 +22,7 @@ from modules.plex import Plex
|
||||||
from modules.radarr import Radarr
|
from modules.radarr import Radarr
|
||||||
from modules.sonarr import Sonarr
|
from modules.sonarr import Sonarr
|
||||||
from modules.reciperr import Reciperr
|
from modules.reciperr import Reciperr
|
||||||
from modules.mdblist import Mdblist
|
from modules.mdblist import MDBList
|
||||||
from modules.tautulli import Tautulli
|
from modules.tautulli import Tautulli
|
||||||
from modules.tmdb import TMDb
|
from modules.tmdb import TMDb
|
||||||
from modules.trakt import Trakt
|
from modules.trakt import Trakt
|
||||||
|
@ -63,9 +63,9 @@ mass_genre_options = {
|
||||||
}
|
}
|
||||||
mass_content_options = {
|
mass_content_options = {
|
||||||
"lock": "Lock Rating", "unlock": "Unlock Rating", "remove": "Remove and Lock Rating", "reset": "Remove and Unlock Rating",
|
"lock": "Lock Rating", "unlock": "Unlock Rating", "remove": "Remove and Lock Rating", "reset": "Remove and Unlock Rating",
|
||||||
"omdb": "Use IMDb Rating through OMDb", "mdb": "Use MdbList Rating",
|
"omdb": "Use IMDb Rating through OMDb", "mdb": "Use MDBList Rating",
|
||||||
"mdb_commonsense": "Use Commonsense Rating through MDbList", "mdb_commonsense0": "Use Commonsense Rating with Zero Padding through MDbList",
|
"mdb_commonsense": "Use Commonsense Rating through MDBList", "mdb_commonsense0": "Use Commonsense Rating with Zero Padding through MDBList",
|
||||||
"mdb_age_rating": "Use MDbList Age Rating", "mdb_age_rating0": "Use MDbList Age Rating with Zero Padding",
|
"mdb_age_rating": "Use MDBList Age Rating", "mdb_age_rating0": "Use MDBList Age Rating with Zero Padding",
|
||||||
"mal": "Use MyAnimeList Rating"
|
"mal": "Use MyAnimeList Rating"
|
||||||
}
|
}
|
||||||
mass_collection_content_options = {
|
mass_collection_content_options = {
|
||||||
|
@ -90,7 +90,7 @@ mass_original_title_options = {
|
||||||
}
|
}
|
||||||
mass_available_options = {
|
mass_available_options = {
|
||||||
"lock": "Lock Originally Available", "unlock": "Unlock Originally Available", "remove": "Remove and Lock Originally Available", "reset": "Remove and Unlock Originally Available",
|
"lock": "Lock Originally Available", "unlock": "Unlock Originally Available", "remove": "Remove and Lock Originally Available", "reset": "Remove and Unlock Originally Available",
|
||||||
"tmdb": "Use TMDb Release", "omdb": "Use IMDb Release through OMDb", "mdb": "Use MdbList Release", "mdb_digital": "Use MdbList Digital Release", "tvdb": "Use TVDb Release",
|
"tmdb": "Use TMDb Release", "omdb": "Use IMDb Release through OMDb", "mdb": "Use MDBList Release", "mdb_digital": "Use MDBList Digital Release", "tvdb": "Use TVDb Release",
|
||||||
"anidb": "Use AniDB Release", "mal": "Use MyAnimeList Release"
|
"anidb": "Use AniDB Release", "mal": "Use MyAnimeList Release"
|
||||||
}
|
}
|
||||||
mass_image_options = {
|
mass_image_options = {
|
||||||
|
@ -109,17 +109,17 @@ mass_rating_options = {
|
||||||
"imdb": "Use IMDb Rating",
|
"imdb": "Use IMDb Rating",
|
||||||
"trakt_user": "Use Trakt User Rating",
|
"trakt_user": "Use Trakt User Rating",
|
||||||
"omdb": "Use IMDb Rating through OMDb",
|
"omdb": "Use IMDb Rating through OMDb",
|
||||||
"mdb": "Use MdbList Score",
|
"mdb": "Use MDBList Score",
|
||||||
"mdb_average": "Use MdbList Average Score",
|
"mdb_average": "Use MDBList Average Score",
|
||||||
"mdb_imdb": "Use IMDb Rating through MDbList",
|
"mdb_imdb": "Use IMDb Rating through MDBList",
|
||||||
"mdb_metacritic": "Use Metacritic Rating through MDbList",
|
"mdb_metacritic": "Use Metacritic Rating through MDBList",
|
||||||
"mdb_metacriticuser": "Use Metacritic User Rating through MDbList",
|
"mdb_metacriticuser": "Use Metacritic User Rating through MDBList",
|
||||||
"mdb_trakt": "Use Trakt Rating through MDbList",
|
"mdb_trakt": "Use Trakt Rating through MDBList",
|
||||||
"mdb_tomatoes": "Use Rotten Tomatoes Rating through MDbList",
|
"mdb_tomatoes": "Use Rotten Tomatoes Rating through MDBList",
|
||||||
"mdb_tomatoesaudience": "Use Rotten Tomatoes Audience Rating through MDbList",
|
"mdb_tomatoesaudience": "Use Rotten Tomatoes Audience Rating through MDBList",
|
||||||
"mdb_tmdb": "Use TMDb Rating through MDbList",
|
"mdb_tmdb": "Use TMDb Rating through MDBList",
|
||||||
"mdb_letterboxd": "Use Letterboxd Rating through MDbList",
|
"mdb_letterboxd": "Use Letterboxd Rating through MDBList",
|
||||||
"mdb_myanimelist": "Use MyAnimeList Rating through MDbList",
|
"mdb_myanimelist": "Use MyAnimeList Rating through MDBList",
|
||||||
"anidb_rating": "Use AniDB Rating",
|
"anidb_rating": "Use AniDB Rating",
|
||||||
"anidb_average": "Use AniDB Average",
|
"anidb_average": "Use AniDB Average",
|
||||||
"anidb_score": "Use AniDB Review Dcore",
|
"anidb_score": "Use AniDB Review Dcore",
|
||||||
|
@ -624,21 +624,21 @@ class ConfigFile:
|
||||||
|
|
||||||
logger.separator()
|
logger.separator()
|
||||||
|
|
||||||
self.Mdblist = Mdblist(self)
|
self.MDBList = MDBList(self)
|
||||||
if "mdblist" in self.data:
|
if "mdblist" in self.data:
|
||||||
logger.info("Connecting to Mdblist...")
|
logger.info("Connecting to MDBList...")
|
||||||
try:
|
try:
|
||||||
self.Mdblist.add_key(
|
self.MDBList.add_key(
|
||||||
check_for_attribute(self.data, "apikey", parent="mdblist", throw=True),
|
check_for_attribute(self.data, "apikey", parent="mdblist", throw=True),
|
||||||
check_for_attribute(self.data, "cache_expiration", parent="mdblist", var_type="int", default=60, int_min=1)
|
check_for_attribute(self.data, "cache_expiration", parent="mdblist", var_type="int", default=60, int_min=1)
|
||||||
)
|
)
|
||||||
logger.info("Mdblist Connection Successful")
|
logger.info("MDBList Connection Successful")
|
||||||
except Failed as e:
|
except Failed as e:
|
||||||
if str(e).endswith("is blank"):
|
if str(e).endswith("is blank"):
|
||||||
logger.warning(e)
|
logger.warning(e)
|
||||||
else:
|
else:
|
||||||
logger.error(e)
|
logger.error(e)
|
||||||
logger.info("Mdblist Connection Failed")
|
logger.info("MDBList Connection Failed")
|
||||||
else:
|
else:
|
||||||
logger.info("mdblist attribute not found")
|
logger.info("mdblist attribute not found")
|
||||||
|
|
||||||
|
@ -992,8 +992,8 @@ class ConfigFile:
|
||||||
for source in sources:
|
for source in sources:
|
||||||
if source and source == "omdb" and self.OMDb is None:
|
if source and source == "omdb" and self.OMDb is None:
|
||||||
raise Failed(f"{source} without a successful OMDb Connection")
|
raise Failed(f"{source} without a successful OMDb Connection")
|
||||||
if source and str(source).startswith("mdb") and not self.Mdblist.has_key:
|
if source and str(source).startswith("mdb") and not self.MDBList.has_key:
|
||||||
raise Failed(f"{source} without a successful MdbList Connection")
|
raise Failed(f"{source} without a successful MDBList Connection")
|
||||||
if source and str(source).startswith("anidb") and not self.AniDB.is_authorized:
|
if source and str(source).startswith("anidb") and not self.AniDB.is_authorized:
|
||||||
raise Failed(f"{source} without a successful AniDB Connection")
|
raise Failed(f"{source} without a successful AniDB Connection")
|
||||||
if source and str(source).startswith("mal") and self.MyAnimeList is None:
|
if source and str(source).startswith("mal") and self.MyAnimeList is None:
|
||||||
|
|
|
@ -318,7 +318,7 @@ class MyAnimeList:
|
||||||
logger.info(f"Processing MyAnimeList Suggested: {data} Anime")
|
logger.info(f"Processing MyAnimeList Suggested: {data} Anime")
|
||||||
mal_ids = self._suggestions(data)
|
mal_ids = self._suggestions(data)
|
||||||
elif method == "mal_userlist":
|
elif method == "mal_userlist":
|
||||||
logger.info(f"Processing MyAnimeList Userlist: {data['limit']} Anime from {self._username() if data['username'] == '@me' else data['username']}'s {pretty_names[data['status']]} list sorted by {pretty_names[data['sort_by']]}")
|
logger.info(f"Processing MyAnimeList UserList: {data['limit']} Anime from {self._username() if data['username'] == '@me' else data['username']}'s {pretty_names[data['status']]} list sorted by {pretty_names[data['sort_by']]}")
|
||||||
mal_ids = self._userlist(data["username"], data["status"], data["sort_by"], data["limit"])
|
mal_ids = self._userlist(data["username"], data["status"], data["sort_by"], data["limit"])
|
||||||
else:
|
else:
|
||||||
raise Failed(f"MyAnimeList Error: Method {method} not supported")
|
raise Failed(f"MyAnimeList Error: Method {method} not supported")
|
||||||
|
|
|
@ -71,7 +71,7 @@ class MDbObj:
|
||||||
self.age_rating = data["age_rating"]
|
self.age_rating = data["age_rating"]
|
||||||
|
|
||||||
|
|
||||||
class Mdblist:
|
class MDBList:
|
||||||
def __init__(self, config):
|
def __init__(self, config):
|
||||||
self.config = config
|
self.config = config
|
||||||
self.apikey = None
|
self.apikey = None
|
||||||
|
@ -110,12 +110,12 @@ class Mdblist:
|
||||||
time.sleep(0.2 if self.supporter else 1)
|
time.sleep(0.2 if self.supporter else 1)
|
||||||
response = self.config.get_json(url, params=final_params)
|
response = self.config.get_json(url, params=final_params)
|
||||||
except JSONDecodeError:
|
except JSONDecodeError:
|
||||||
raise Failed("Mdblist Error: JSON Decoding Failed")
|
raise Failed("MDBList Error: JSON Decoding Failed")
|
||||||
if "response" in response and (response["response"] is False or response["response"] == "False"):
|
if "response" in response and (response["response"] is False or response["response"] == "False"):
|
||||||
if response["error"] in ["API Limit Reached!", "API Rate Limit Reached!"]:
|
if response["error"] in ["API Limit Reached!", "API Rate Limit Reached!"]:
|
||||||
self.limit = True
|
self.limit = True
|
||||||
raise LimitReached(f"MdbList Error: {response['error']}")
|
raise LimitReached(f"MDBList Error: {response['error']}")
|
||||||
raise Failed(f"MdbList Error: {response['error']}")
|
raise Failed(f"MDBList Error: {response['error']}")
|
||||||
return response
|
return response
|
||||||
|
|
||||||
def get_item(self, imdb_id=None, tmdb_id=None, tvdb_id=None, is_movie=True, ignore_cache=False):
|
def get_item(self, imdb_id=None, tmdb_id=None, tvdb_id=None, is_movie=True, ignore_cache=False):
|
||||||
|
@ -132,7 +132,7 @@ class Mdblist:
|
||||||
params["m"] = "movie" if is_movie else "show"
|
params["m"] = "movie" if is_movie else "show"
|
||||||
key = f"{'tvm' if is_movie else 'tvs'}{tvdb_id}"
|
key = f"{'tvm' if is_movie else 'tvs'}{tvdb_id}"
|
||||||
else:
|
else:
|
||||||
raise Failed("MdbList Error: Either IMDb ID, TVDb ID, or TMDb ID and TMDb Type Required")
|
raise Failed("MDBList Error: Either IMDb ID, TVDb ID, or TMDb ID and TMDb Type Required")
|
||||||
expired = None
|
expired = None
|
||||||
if self.config.Cache and not ignore_cache:
|
if self.config.Cache and not ignore_cache:
|
||||||
mdb_dict, expired = self.config.Cache.query_mdb(key, self.expiration)
|
mdb_dict, expired = self.config.Cache.query_mdb(key, self.expiration)
|
||||||
|
@ -198,7 +198,7 @@ class Mdblist:
|
||||||
|
|
||||||
def get_tmdb_ids(self, method, data, is_movie=None):
|
def get_tmdb_ids(self, method, data, is_movie=None):
|
||||||
if method == "mdblist_list":
|
if method == "mdblist_list":
|
||||||
logger.info(f"Processing Mdblist.com List: {data['url']}")
|
logger.info(f"Processing MDBList.com List: {data['url']}")
|
||||||
logger.info(f"Sort By: {data['sort_by']}")
|
logger.info(f"Sort By: {data['sort_by']}")
|
||||||
sort, direction = data["sort_by"].split(".")
|
sort, direction = data["sort_by"].split(".")
|
||||||
params = {"sort": sort, "sortorder": direction}
|
params = {"sort": sort, "sortorder": direction}
|
||||||
|
@ -216,14 +216,14 @@ class Mdblist:
|
||||||
if (isinstance(response, dict) and "error" in response) or (isinstance(response, list) and response and "error" in response[0]):
|
if (isinstance(response, dict) and "error" in response) or (isinstance(response, list) and response and "error" in response[0]):
|
||||||
err = response["error"] if isinstance(response, dict) else response[0]["error"]
|
err = response["error"] if isinstance(response, dict) else response[0]["error"]
|
||||||
if err in ["empty", "empty or private list"]:
|
if err in ["empty", "empty or private list"]:
|
||||||
raise Failed(f"Mdblist Error: No Items Returned. Lists can take 24 hours to update so try again later.")
|
raise Failed(f"MDBList Error: No Items Returned. Lists can take 24 hours to update so try again later.")
|
||||||
raise Failed(f"Mdblist Error: Invalid Response {response}")
|
raise Failed(f"MDBList Error: Invalid Response {response}")
|
||||||
results = []
|
results = []
|
||||||
for item in response:
|
for item in response:
|
||||||
if item["mediatype"] in ["movie", "show"]:
|
if item["mediatype"] in ["movie", "show"]:
|
||||||
results.append((item["id"], "tmdb" if item["mediatype"] == "movie" else "tmdb_show"))
|
results.append((item["id"], "tmdb" if item["mediatype"] == "movie" else "tmdb_show"))
|
||||||
return results
|
return results
|
||||||
except JSONDecodeError:
|
except JSONDecodeError:
|
||||||
raise Failed(f"Mdblist Error: Invalid JSON Response received")
|
raise Failed(f"MDBList Error: Invalid JSON Response received")
|
||||||
else:
|
else:
|
||||||
raise Failed(f"Mdblist Error: Method {method} not supported")
|
raise Failed(f"MDBList Error: Method {method} not supported")
|
||||||
|
|
|
@ -229,10 +229,10 @@ class Operations:
|
||||||
nonlocal _mdb_obj
|
nonlocal _mdb_obj
|
||||||
if _mdb_obj is None:
|
if _mdb_obj is None:
|
||||||
_mdb_obj = False
|
_mdb_obj = False
|
||||||
if self.config.Mdblist.limit is False:
|
if self.config.MDBList.limit is False:
|
||||||
if self.library.is_show and tvdb_id:
|
if self.library.is_show and tvdb_id:
|
||||||
try:
|
try:
|
||||||
_mdb_obj = self.config.Mdblist.get_series(tvdb_id)
|
_mdb_obj = self.config.MDBList.get_series(tvdb_id)
|
||||||
except LimitReached as err:
|
except LimitReached as err:
|
||||||
logger.debug(err)
|
logger.debug(err)
|
||||||
except Failed as err:
|
except Failed as err:
|
||||||
|
@ -242,7 +242,7 @@ class Operations:
|
||||||
raise
|
raise
|
||||||
if self.library.is_movie and tmdb_id:
|
if self.library.is_movie and tmdb_id:
|
||||||
try:
|
try:
|
||||||
_mdb_obj = self.config.Mdblist.get_movie(tmdb_id)
|
_mdb_obj = self.config.MDBList.get_movie(tmdb_id)
|
||||||
except LimitReached as err:
|
except LimitReached as err:
|
||||||
logger.debug(err)
|
logger.debug(err)
|
||||||
except Failed as err:
|
except Failed as err:
|
||||||
|
@ -252,7 +252,7 @@ class Operations:
|
||||||
raise
|
raise
|
||||||
if imdb_id and not _mdb_obj:
|
if imdb_id and not _mdb_obj:
|
||||||
try:
|
try:
|
||||||
_mdb_obj = self.config.Mdblist.get_imdb(imdb_id)
|
_mdb_obj = self.config.MDBList.get_imdb(imdb_id)
|
||||||
except LimitReached as err:
|
except LimitReached as err:
|
||||||
logger.debug(err)
|
logger.debug(err)
|
||||||
except Failed as err:
|
except Failed as err:
|
||||||
|
|
|
@ -301,10 +301,10 @@ class Overlays:
|
||||||
raise Failed("No Trakt User Rating Found")
|
raise Failed("No Trakt User Rating Found")
|
||||||
elif str(format_var).startswith("mdb"):
|
elif str(format_var).startswith("mdb"):
|
||||||
mdb_item = None
|
mdb_item = None
|
||||||
if self.config.Mdblist.limit is False:
|
if self.config.MDBList.limit is False:
|
||||||
if self.library.is_show and tvdb_id:
|
if self.library.is_show and tvdb_id:
|
||||||
try:
|
try:
|
||||||
mdb_item = self.config.Mdblist.get_series(tvdb_id)
|
mdb_item = self.config.MDBList.get_series(tvdb_id)
|
||||||
except LimitReached as err:
|
except LimitReached as err:
|
||||||
logger.debug(err)
|
logger.debug(err)
|
||||||
except Failed as err:
|
except Failed as err:
|
||||||
|
@ -314,7 +314,7 @@ class Overlays:
|
||||||
raise
|
raise
|
||||||
if self.library.is_movie and tmdb_id:
|
if self.library.is_movie and tmdb_id:
|
||||||
try:
|
try:
|
||||||
mdb_item = self.config.Mdblist.get_movie(tmdb_id)
|
mdb_item = self.config.MDBList.get_movie(tmdb_id)
|
||||||
except LimitReached as err:
|
except LimitReached as err:
|
||||||
logger.debug(err)
|
logger.debug(err)
|
||||||
except Failed as err:
|
except Failed as err:
|
||||||
|
@ -324,7 +324,7 @@ class Overlays:
|
||||||
raise
|
raise
|
||||||
if imdb_id and not mdb_item:
|
if imdb_id and not mdb_item:
|
||||||
try:
|
try:
|
||||||
mdb_item = self.config.Mdblist.get_imdb(imdb_id)
|
mdb_item = self.config.MDBList.get_imdb(imdb_id)
|
||||||
except LimitReached as err:
|
except LimitReached as err:
|
||||||
logger.debug(err)
|
logger.debug(err)
|
||||||
except Failed as err:
|
except Failed as err:
|
||||||
|
|
Loading…
Reference in a new issue