autobrr / omegabrr

Omegabrr transforms monitored shows, movies, books and music from arrs into autobrr filters. It also supports adding titles from custom lists to autobrr filters.
https://autobrr.com
MIT License
127 stars 11 forks source link

Custom Trakt List incorrectly imported #51

Closed PrivatePasta closed 1 year ago

PrivatePasta commented 1 year ago

The trakt list in question is https://trakt.tv/users/acoucalancha/lists/upcoming-anticipated-movies

It seems that the movie - A Quiet Place: Day One - is being incorrectly formatted, substituting the colon for a <0xa0> character, which from what I understand is a non-breaking space. I've attached the json of my filter to show you what it looks like (renamed to .txt because Github)

filter.json.txt

s0up4200 commented 1 year ago

The trakt list in question is https://trakt.tv/users/acoucalancha/lists/upcoming-anticipated-movies

It seems that the movie - A Quiet Place: Day One - is being incorrectly formatted, substituting the colon for a <0xa0> character, which from what I understand is a non-breaking space. I've attached the json of my filter to show you what it looks like (renamed to .txt because Github)

filter.json.txt

How did you add this list to your config.yaml?

The title imports fine when I use this URL for example: https://api.trakt.tv/calendars/all/movies/2024-03-08/7

s0up4200 commented 1 year ago

Try to append items/movies to the list url. That worked for me.

So like this https://api.trakt.tv/users/acoucalancha/lists/upcoming-anticipated-movies/items/movies Let me know if that solved it.

Reference: https://trakt.docs.apiary.io/#reference/users/list-items/get-items-on-a-personal-list?console=1

My output: A?Quiet?Place? Day?One,A?Quiet?Place?Part?III

We need to figure out why it doesnt replace ? with * though.

PrivatePasta commented 1 year ago

This is what I have right now:

- name: Upcoming Movies (acoucalancha) type: trakt url: https://api.trakt.tv/users/acoucalancha/lists/upcoming-anticipated-movies/items

Trying with /items/movies gives me the same result as your output. Would that json work tho. Shouldn't that space between Place? and Day be removed?

s0up4200 commented 1 year ago

So I have done some tests and it does it correctly from this plaintext list: https://bin.r4tio.dev/raw/dakimolevi

lists:
  - name: plaintext
    type: plaintext
    url: https://bin.r4tio.dev/raw/dakimolevi/raw
    filters:
      - 27

But it fails to parse it from both Radarr and Trakt. Haven't figured out why yet.

PrivatePasta commented 1 year ago

The data from the API and your plaintext link seems to be identical. Don't really have any idea what could be causing this.

I did try with another list that has the same movie and it's the exact same result - https://trakt.tv/users/rzepkowski/lists/a-quiet-place-movies so I'm guessing it's the movie title itself that's causing the issue?

s0up4200 commented 1 year ago

I've tested other titles with a colon in it. For example Mission: Impossible III is parsed perfectly fine into Mission*Impossible?III.

This seems like some kind of freak edge case honestly. I will continue to look for a solution, and if you find more titles in the meantime, please share 😄

s0up4200 commented 1 year ago

You kind of had the answer to the problem in your original post all along @PrivatePasta 😄 I have updated the regex to handle non-standard space characters so it should be good now.

This is why it worked with the plaintext one and not via Radarr, Trakt and mdblists. Since they all pull the title from the same source probably.

Thanks for helping me figuring it out!

PrivatePasta commented 1 year ago

Happy to help. Thanks for making a fix for this so damn fast, I really appreciate it