iamkroot / trakt-scrobbler

Scrobbler for trakt.tv that supports VLC, Plex, MPC-HC, and MPV.
https://github.com/iamkroot/trakt-scrobbler/wiki
GNU General Public License v2.0
464 stars 30 forks source link

[BUG] trakts init error | malformed regex: 'https://www.youtube.com/watch?*' #302

Closed ang3lo-azevedo closed 2 months ago

ang3lo-azevedo commented 5 months ago

Describe the bug

Error on trakts init

Desktop (please complete the following information):

To Reproduce

Steps to reproduce the behavior:

  1. Install
  2. Write the 'trakts init' command

This will guide you through the setup of the scrobbler. If you wish to quit at any point, press Ctrl+C or Cmd+C

ConfigValueError

fileinfo.exclude_patterns#0: malformed regex: 'https://www.youtube.com/watch?*'. Error: multiple repeat at position 30

at .local/share/pipx/venvs/trakt-scrobbler/lib/python3.12/site-packages/confuse/templates.py:87 in fail 83│ """ 84│ exc_class = ( 85│ exceptions.ConfigTypeError if type_error 86│ else exceptions.ConfigValueError) → 87│ raise exc_class(u'{0}: {1}'.format(view.name, message)) 88│ 89│ def repr(self): 90│ return '{0}({1})'.format( 91│ type(self).name,

iamkroot commented 5 months ago

Any particular reason you've added youtube to exclude_patterns? You'd only need to exclude something if there's a more general rule present in the whitelist (for example, if you wanted to allow all videos from https://my.cool.site.example.org/ EXCEPT the ones from https://my.cool.site.example.org/secret-stuff/ - you'd put the first one in whitelist and the second one in exclude). It doesn't make sense to exclude the entirety of youtube - you needn't put it in the whitelist in the first place.

To edit this, you would have to edit the trakt config file (see https://github.com/iamkroot/trakt-scrobbler/wiki/FAQs#where-is-the-log-fileother-data-stored) and remove the part from fileinfo.exclude_patterns

BrutuZ commented 3 months ago

All in all, it is invalid RegEx. With the ? you're asking for "one or none" of the previous character (the h at the end), the * would ask "one or many" of the previous character, hence the multiple repeat error. You could have *? instead to make it "none or many lazily", but still wouldn't be what you want since it would match .../watc, .../watch, .../watchhhhh

Seem like you mixed RegEx and Globbing somehow

iamkroot commented 2 months ago

Closing this, config issue.