Comments (6)
It seems Medusa does this too: https://github.com/pymedusa/Medusa/blob/master/medusa/name_parser/rules/rules.py#L256
but they only search for the "title - alternative_title" combo. I'll push a change to use that instead of the first element only. Please report back if it worked or if we need fallbacks to single "title" search.
from kyoo.
Seems to be good for all the examples I gave, thank you! I still have many import issues I need to investigate 😭
from kyoo.
I did not know guessit could return lists for titles. Thanks for the detailed report, I'll fix it right away.
from kyoo.
Thanks for your fast reply @zoriya
After applying your patch I can give you another example of an episode that was not correctly identified.
/media/series/Star Trek - Discovery/Season 4/Star Trek - Discovery - S04E03 - Choose to Live SDTV.mkv
2024-04-28 10:41:42 INFO:matcher.matcher:Identied /video/Star Trek - Discovery/Season 4/Star Trek - Discovery - S04E03 - Choose to Live SDTV.mkv: MatchesDict({'title': ['Star Trek', 'Discovery'], 'season': 4, 'episode_title': 'Star Trek', 'alternative_title': 'Discovery', 'episode': 3, 'source': 'TV', 'container': 'mkv', 'mimetype': 'video/x-matroska', 'type': 'episode'})
2024-04-28 10:41:42 ERROR:matcher.matcher:Could not find episode 3 of season 4 of serie 253 (absolute: 82)
Here keeping the first element results in searching Star Trek
in tmdb which is show 253. But the actual show is Star Trek : Discovery
id 67198
I'm not sure if it could break others setup but why not giving guessit only the filename instead of the entire path?
Jellyfin tests for reference: https://github.com/jellyfin/jellyfin/blob/master/tests/Jellyfin.Naming.Tests/TV/EpisodePathParserTest.cs
from kyoo.
Using the filename gives the same result. Guessit thinks the - means an alternative title, and kyoo does not search based on alternative titles.
We use thexem to identify some alternative titles of value. For example, here is a custom rule:
Example: "JoJo's Bizarre Adventure - Diamond is Unbreakable - 12.mkv"
Default:
```json
{
"title": "JoJo's Bizarre Adventure",
"alternative_title": "Diamond is Unbreakable",
"episode": 12,
}
```
Expected:
```json
{
"title": "JoJo's Bizarre Adventure - Diamond is Unbreakable",
"episode": 12,
}
```
I think the correct fix would be to first search multiples times and taking the first hit. Using something like this list: ["title - alternative_title", "title", "alternative_title"]
. This might have an impact on scan time tho.
from kyoo.
Please get back with them, for now some anime are badly passed (most part2 shows don't work). I know some others issues but the goal is to slowly fix them all.
For anime, I want to use anilist or something like that for better parsing but that's way harder than It should (look at issue #352 for more info).
from kyoo.
Related Issues (20)
- WOL Supports HOT 1
- Improved anime detection (Like `Attack on Titan Season 3 Part 2 12.mkv`) HOT 3
- Dim search/top bar on details/home pages (it's pretty hard to read right now) HOT 1
- Add an option to disable transcoding
- Improve unsure movie/episode type scanning
- Create a good empty home page (when you don't have any videos)
- See Library scan status in frontend
- Seperate Libraies by content HOT 2
- There are too many Docker containers, can we consolidate them?
- frontend support multiple servers HOT 1
- matcher (edge latest docker) - trace Unhandled errorerror HOT 1
- duplicate keys HOT 3
- tvOS / iOS / iPadOS / macOS HOT 1
- Redirect Loop during Setup HOT 6
- Switch to fmp4 segments to support a broader range of codecs
- Roku support
- Support using Postgres database without public schema HOT 1
- Support RabbitMQ Vhosts
- Support "unmatched" subfolders in library HOT 3
- Transcoder: Handle Base64 path with slash HOT 2
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 kyoo.