Comments (4)
Thanks @revam, I think getting our plugins to work together makes absolute sense, since they both compliment each other, and I will most definitely take you up on that offer.
Like I said in my previous comment, I am currently away from my dev PC so I am not extending the functionality of the plugin at the moment and really only fixing major bugs, but when I am next able to work on the plugin (should be mid to late May) I'll look into adding support for the Shokofin plugin.
If I have any questions (I'm sure I will) I'll open an issue/discussion on the Shokofin repo.
Thanks again for offering to work together on this!
from jellyfin-ani-sync.
Special support by the plugin has always been a bit awkward. I have been meaning to re-write some of the logic around the detection of specials because, as you have experienced, its not good.
My question is that if a season already has an AniDB id set, shouldn't that just be returned directly from the GetAniDbId method? I have tested this myself and it seems to make it work as intended. As far as I am aware the Anidb plugin only sets this id on a series level, so anything set at season level should only be set by Shokofin.
Yes, you are right, we should be using the season level AniDB ID, if it exists. The reason that we don't bother checking was because of the AniDB metadata plugin that, as you outlined, sets it at the series level which forces the plugin to use the season number set by Jellyfin which isn't always accurate.
That being said, I am now aware of the Shokofin plugin, and would like to add support for its metadata capabilities to this plugin. As it sets the AniDB ID at the season level, it could very potentially become the most compatible metadata provider for the plugin.
I am currently away from my dev PC so development is slow, but I will take a look at this when I get a chance. As a quick, temporary workaround I will test your solution of just returning the season level AniDB ID and see if I can get it into the upcoming beta release.
from jellyfin-ani-sync.
I have compiled my own version of ani-sync which just returns the AniDB id when its set on a season level and it has been working great for now.
Shokofin's solution does require Shoko Server, so it cannot work on its own, but compared to every other provider, it probably gives the best experience for anime in Jellyfin, so thank you for considering support for it!
from jellyfin-ani-sync.
Just adding some information from my/our side on this issue:
The Shokofin plugin currently provides the AniDB anime ID on season/series entries and the AniDB episode ID for the first episode of the given type on episode entries to Jellyfin for other plugins to use. Though when using the IDs in a library managed by the plugin, there are a couple of specific challenges that need addressing:
- Users can hide episodes in Shoko, which impacts the episode numbers displayed in Jellyfin. The episode numbers used by the Shokofin plugin are based on the relative-ness of the non-hidden episodes in Shoko, thus they only match AniDB episode numbers if no episodes are hidden. If you need the exact AniDB episode number(s) for an episode entity in Jellyfin — whether as a range that includes all episode numbers or just the first one, with or without the type prefix — we can provide that for your plugin to consume in the future, but it is not currently available.
- Shokofin is generating "seasons" based on the user's collection in Shoko, and may generate them in an order that does not confront to any online databases (such as TvDB or TMDB), generating up to two different "seasons" per anime within the "series," such as one "season" for normal type episodes and another for other type episodes. Most of the time there will be no other type "season," but there exists edge cases where it will generate the normal type, both, or the other type.
In 99% of use cases, these challenges won't be an issue. However, for the remaining 1%, using just the AniDB anime ID and the episode number within the season to determine episodes for syncing can be problematic. Deeper integration between the plugins will be necessary to ensure accurate syncing of AniList episode statuses in libraries managed by the Shokofin plugin. Feel free to ask me for more details about Shokofin or Shoko (if needed) or propose a solution if you believe we can work together to integrate our plugins. Or, if you believe this is outside the scope of your plugin to support, feel free to say no, and we'll leave it at this. We'll respect your decision either way. 🙂
from jellyfin-ani-sync.
Related Issues (20)
- Shikimori provider resets score HOT 2
- Anilist API Manual Sync erroring out. HOT 4
- NPE during status update with Shikimori provider
- Unable to access auth callback URL, given a 400 error "One or more validation errors occurred." HOT 6
- Manual Sync (Jellyfin -> Provider) not respecting "Libraries to check" HOT 12
- Update documentation to include adding "Callback Redirect URL" HOT 14
- Support for Jellyfin 10.9 Unstable Support HOT 7
- Support for shokofin's VFS HOT 1
- AniList timeout issue HOT 7
- Jellyfin 10.9 released HOT 3
- Can't open select a provider HOT 6
- Jellyfin 10.9 - "Not Supported" with v3.2 HOT 2
- TVDB Episode translation to MAL or Anilist HOT 2
- Settings seem to be lost on refresh HOT 3
- AniSync 3.2.0.0 Status: NotSupported HOT 3
- Sync not working for anime with proper mappings in anime-offline-database
- Unable to authorise MAL login HOT 2
- Episodes not being logged after previously working. HOT 2
- shikimori does not create an application with a redirect to http HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jellyfin-ani-sync.