Open Amateur-God opened 2 years ago
Would like to see this added as I have the same problem.
Would like to see this added as I have the same problem.
I've just ended up switching to emby and using the emby anidb and trakt plugins, works perfectly. I recommend it if your system can handle emby
Can you give examples of anime which are "not handled very well" by Plex agent and for which anidb is a best choice ?
Can you give examples of anime which are "not handled very well" by Plex agent and for which anidb is a best choice ?
Dragon Ball Z Kai for example on Trakt: https://trakt.tv/shows/dragon-ball-z-kai
Shows 6 seasons because it follows tmdb. But with the hama plugin you get only 2 seasons because it follows tvdb and anidb I guess.
You don't answer the question. Using Plex agent for Dragon Ball Z Kai is working good. Matches and sync perfectly with trakt.
You don't answer the question. Using Plex agent for Dragon Ball Z Kai is working good. Matches and sync perfectly with trakt.
Renamed my DBZ Kai pack back to tvdb numbering with FileBot (how it orginally downloaded my files, i renamed them to the Trakt order with 6 seasons to fix scrobbling)
Changed the agent back to Plex with as default tmdb ordering. It changed my 6 seasons back to 2 seasons. Everything up to a certain episode in season 1 won't scrobble anymore because Trakt only knows DBZ Kai as 6 seasons.
Metadata dissapeared and scrobbling doesn't work.
<PlexGuid:local://4158> because provider local has no external Id
WARNING <Episode:4159:Dragon-Ball-Z-Kai-s01e158>: Skipping
<PlexGuid:local://4159> because provider local has no external Id
WARNING <Episode:4160:Dragon-Ball-Z-Kai-s01e159>: Skipping
<PlexGuid:local://4160> because provider local has no external Id
So not sure what you mean with it matches and syncs perfectly tbh. It only scrobbles fine if I rename my DBZ Kai to the TMDB episode ordering in FileBot. Then it makes it 6 seasons instead of 2 and everything works fine.
If i change the episode ordering back to TVDB in Plex the metadata looks fine for the 2 seasons for all episodes. But still scrobbling wont work, sync gives this error:
<PlexGuid:imdb://tt1528230> not found on Trakt
WARNING <Episode:4356:Dragon-Ball-Z-Kai-s01e29>: Skipping guid
<PlexGuid:tvdb://1233481> not found on Trakt
WARNING <Episode:4356:Dragon-Ball-Z-Kai-s01e29>: Skipping guid
<PlexGuid:imdb://tt1531707> not found on Trakt
Plex TV Series
agentTheTVDB (Aired)
trakt_cache.sqlite
to trakt_cache.sqlite.backup
0.25.3
plextraktsync sync --sync=shows
You will only have mismatch with season 1 episode 98 because it is a special (s00e01) and shouldn't be in season 1.
AniDB is not needed here. Any other example where AniDB is supposed to be better than Plex TV Series agent ?
@twolaw I bring back this, not only due to the fact of Hama being far feature rich beyond the Plex TV options, it's not only series being handled wrong (very rare cases), but also some of these reasons:
I will say plex tv scanner does a great job with anime, but not the best and these additonal features and settings is why I use hama
Hama also works with the vip trakt scrobbling, which I presume works with a lucky search of sorts.
you could write a script to get the metadata provider of the library and then use the metadata provider of the library to sync with trakt, something like to get the libraries metadata provider
import requests
PLEX_SERVER_IP = "YOUR_PLEX_SERVER_IP"
PLEX_API_KEY = "YOUR_PLEX_API_KEY"
def get_all_plex_metadata_providers():
url = f"http://{PLEX_SERVER_IP}:32400/library/sections"
params = {
"X-Plex-Token": PLEX_API_KEY
}
response = requests.get(url, params=params)
if response.status_code == 200:
libraries = response.json()["MediaContainer"]["Directory"]
metadata_providers = {}
for library in libraries:
library_id = library["key"]
metadata_provider = library.get("agent")
metadata_providers[library_id] = metadata_provider
return metadata_providers
else:
print(f"Error retrieving metadata providers. Status code: {response.status_code}")
return None
# Example usage
metadata_providers = get_all_plex_metadata_providers()
if metadata_providers:
for library_id, metadata_provider in metadata_providers.items():
print(f"Library ID {library_id} uses metadata provider: {metadata_provider}")
then something like to set the prefered provider based on the libraries metadata provider
def choose_correct_show_info(anidb_info, tvdb_info, tmdb_info, imdb_info, plex_metadata_provider):
# Define the preferred metadata providers for each Plex metadata provider
provider_preferences = {
"anidb": [anidb_info, tvdb_info, tmdb_info, imdb_info],
"tvdb": [tvdb_info, anidb_info, tmdb_info, imdb_info],
"tmdb": [tmdb_info, tvdb_info, anidb_info, imdb_info],
"imdb": [imdb_info, tmdb_info, tvdb_info, anidb_info]
}
# Use the Plex metadata provider to get the preferred order
preferred_providers = provider_preferences.get(plex_metadata_provider, [])
for provider_info in preferred_providers:
if provider_info and "id" in provider_info:
return provider_info
# If none of the preferred providers have valid information, you might want to handle this case
return None
and then something like to get show information from each of the providers
# Function to get show information from AniDB
def get_anidb_info(title):
url = f"http://api.anidb.net:9001/httpapi?request=anime&client=plex-sync&clientver=1&protover=1&aid=0&title={title}"
response = requests.get(url)
return response.json()
# Function to get show information from TVdb
def get_tvdb_info(title):
url = f"https://api.thetvdb.com/search/series?name={title}"
headers = {
"Authorization": f"Bearer {TVDB_API_KEY}"
}
response = requests.get(url, headers=headers)
return response.json()
# Function to get show information from TMdb
def get_tmdb_info(title):
url = f"https://api.themoviedb.org/3/search/tv?api_key={TMDB_API_KEY}&query={title}"
response = requests.get(url)
return response.json()
# Function to get show information from IMDb
def get_imdb_info(title):
url = f"https://v2.sg.media-imdb.com/suggests/{title[0]}/{title}.json"
response = requests.get(url)
return response.json()
however my python isnt great so ive probably made lots of mistakes in this but its just to give an idea of how i would personally implement it
Feature description
add anidb along with tvdb and imdb for anime,
Use case
i use the hama plugin for plex to use anidb for metadata for my anime shows as tvdb isnt always correct and doesnt handle anime very well, however this results in a
Unable to parse a valid provider from guid <PlexGuid:com.plexapp.agents.hama://anidb-4776?lang=en>
error.