trakt / Plex-Trakt-Scrobbler

Add what you are watching on Plex to trakt.tv
1.45k stars 166 forks source link

No longer syncs with series which use HAMA (AniDB) agent #574

Open RickDB opened 4 years ago

RickDB commented 4 years ago

Hi,

A while back now AniDB agent support was added:

https://github.com/trakt/Plex-Trakt-Scrobbler/issues/190

However this no longer seems to function for at least series of the past 2 years or so (out of date reference table?). Scheduled sync and scrobble will report nothing with anything from a library using the HAMA agent.

To reproduce this error:

https://github.com/ZeroQI/Hama.bundle

Deca-Dence Cautious Hero Bofuri Fire Force Gleipnir

eunai commented 4 years ago

Weird, still working here for me. TraktTV Screenshot

RickDB commented 4 years ago

Bleach probably works because it’s an older show and linked in existing reference table. Could you try with a series from the reproduce steps?

alcroito commented 4 years ago

The problem is that the database at https://github.com/OpenEntityMap/oem-database-anidb-tvdb is outdated, and doesn't contain mappings for newer shows.

Apparently from what I read, the developer is on hiatus. So it's not clear if it will ever be officially updated.

KingJ commented 4 years ago

I did make an attempt at updating the lists myself a few months back;

https://github.com/KingJ/oem-database-anidb-imdb https://github.com/KingJ/oem-database-anidb-tvdb

You should be able to modify the agent code to pull from those repositories instead. They're still missing a few months of changes, but are still more up to date than the current ones in the OpenEntityMap org.

alcroito commented 4 years ago

@KingJ I wish I'd seen you forks before I did mine. Would've saved me some time with some of the setup :)

My current forks are a bit more up-to-date compared to yours. https://github.com/alcroito/oem-database-anidb-imdb https://github.com/alcroito/oem-database-anidb-tvdb

If somebody would like to use those, they can simply replace their plugin with the one from https://github.com/alcroito/Plex-Trakt-Scrobbler/archive/master.zip

KingJ commented 4 years ago

Oh brilliant! I'll switch over to using yours - given the time it took to get the sync going previously, getting it up to date again is something i'd rather avoid if possible!

RickDB commented 4 years ago

@KingJ and @alcroito Thanks!

enchained commented 4 years ago

You're amazing, guys, thanks! I wanted to ask a few questions.

I've never updated my trakt plugin manually before. Can I keep the same config instead of setting it up all over again? By backing up and overwriting some config file after swapping the plugin folder. Or is the config stored separately from the bundle? I don't even remember my settings and apparently can't quickly look it up anymore since the plugins UI long dead.

Another question is about those databases in general. How often do they require updating? Every time a new title added to the anime-lists? Is it title-based or episode-based? i.e. if the show is in the db, will its episodes that came after the last db update be scrobblable? Just want to know which cases would need a manual check-in. And are those db updates completely impossible to automate?

alcroito commented 4 years ago

Regarding the databases, they need to be manually updated. As often as there are updates to anime-lists. It's title-based, with certain adjustments for episode deltas for multi-season shows (from what i've seen). So once a show's mapping is in anime-lists (for a certain season), no episode adjustments are needed (afaik).

The oem-database repos can probably be automated using a CI solution like Travis o github-actions. KingJ has that in their forks.

I suspect more automation may be possible for anime-lists based on fuzzy matching, but for now it's a manual (and slow) crowdsourced process.

You can see the process at https://github.com/ScudLee/anime-lists/pulls

No idea where the config is stored.

enchained commented 4 years ago

It's title-based, with certain adjustments for episode deltas for multi-season shows (from what i've seen). So once a show's mapping is in anime-lists (for a certain season), no episode adjustments are needed (afaik).

Thanks for explaining. Then it looks like updating before the start of Jan, Apr, Jul and Oct could be enough to cover most of the titles. I wish it could be possible to streamline that process a bit. I will look more into both of your and also anime-lists commits in the future to figure out how the conversion happens.

The oem-database repos can probably be automated using a CI solution like Travis o github-actions. KingJ has that in their forks.

That's interesting. @KingJ, could you elaborate a bit, please? Do your forks despite the CI solution still require a lot of effort to maintain continuously, or it's plausible to re-run once a couple of months? Cause from your last message it sounded like the former.

I suspect more automation may be possible for anime-lists based on fuzzy matching, but for now it's a manual (and slow) crowdsourced process.

I meant automated regarding the anime-lists to oem conversion only, cause the initial data definitely needs some manual entry, and even with the fuzzy matching it would need moderation. But in general for databases like thetdb there's manual entry too, but that data is easily accessible from everywhere. I wonder why no-one still turned anime-lists into a web service with api, if those lists are a structured extractable data. I think I even saw someone wanting to do that, but haven't heard any news. I'm even curious to see if I could do something like that, but sadly have no backend experience and no funds for a stable server with big traffic potential. I wonder if there are other serious technical obstacles to implementing that, besides the obvious knowledge/time/funds.

No idea where the config is stored.

And did your plugin settings completely reset when you've installed your fork?

UPD: Nevermind on the config, found out you can see your config via that url which is said to help setting up accounts. Also looks like Kitana could bring the UI for plugins back

alcroito commented 4 years ago

It's title-based, with certain adjustments for episode deltas for multi-season shows (from what i've seen). So once a show's mapping is in anime-lists (for a certain season), no episode adjustments are needed (afaik).

Thanks for explaining. Then it looks like updating before the start of Jan, Apr, Jul and Oct could be enough to cover most of the titles. I wish it could be possible to streamline that process a bit. I will look more into both of your and also anime-lists commits in the future to figure out how the conversion happens.

I'm fuzzy on when exactly the new seasons start, but given the nature of the crowdsourcing of anime-lists, it would make sense to delay that until some of the data trickles in.

The oem-database repos can probably be automated using a CI solution like Travis o github-actions. KingJ has that in their forks.

That's interesting. @KingJ, could you elaborate a bit, please? Do your forks despite the CI solution still require a lot of effort to maintain continuously, or it's plausible to re-run once a couple of months? Cause from your last message it sounded like the former.

Assuming an up-to-date anime-lists, automated updating of the oem databases should be possible. Iirc the hard part is sourcing all the script dependencies because of the curious / outdated script structure. After that, it's just running the script, git add-ing the modifications, pushing it to the repo and creating a new github release using that. Most of that is covered by https://github.com/KingJ/oem-database-anidb-imdb/blob/master/.travis.yml I think.

I suspect more automation may be possible for anime-lists based on fuzzy matching, but for now it's a manual (and slow) crowdsourced process.

I meant automated regarding the anime-lists to oem conversion only, cause the initial data definitely needs some manual entry, and even with the fuzzy matching it would need moderation. But in general for databases like thetdb there's manual entry too, but that data is easily accessible from everywhere. I wonder why no-one still turned anime-lists into a web service with api, if those lists are a structured extractable data.

I suspect it's just a question of time and commitment. The bandwidth of PRs in anime-lists seems very low, so I don't think a beefy server is required. I'd worry more about moderation, spam and DDOS attacks.