-
Notifications
You must be signed in to change notification settings - Fork 481
Quality plugin crashes when quality isn't a valid quality string #2028
Copy link
Copy link
Closed
Labels
Description
Expected behaviour:
quality field should contain a Quality object when entry is used as input from entry_list.
Actual behaviour:
quality field is a string, which is sometimes literally "unknown". The task crashes if any quality comparisons are made with an invalid quality string.
Config:
Following config reproduces the issue
test_quality:
mock:
- title: foo
quality: unknown
accept_all: yes
quality: 720p
disable: seen
Another config using entry_list (untested though)
t_e:
seen: local
list_add:
- entry_list: test
mock:
- {title: 'My Show S01E01'}
series:
- My Show
t_q:
entry_list: test
accept_all: yes
quality: 720p
disable: seen
Log:
2017-11-29 20:34 CRITICAL task task_name BUG: Unhandled error in plugin quality: `unknown` does not appear to be a valid quality string.
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/flexget/task.py", line 486, in __run_plugin
return method(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/flexget/event.py", line 23, in __call__
return self.func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/flexget/plugins/filter/quality.py", line 36, in on_task_filter
if not any(req.allows(entry['quality']) for req in reqs):
File "/usr/local/lib/python2.7/dist-packages/flexget/plugins/filter/quality.py", line 36, in <genexpr>
if not any(req.allows(entry['quality']) for req in reqs):
File "/usr/local/lib/python2.7/dist-packages/flexget/utils/qualities.py", line 475, in allows
raise TypeError('`%s` does not appear to be a valid quality string.' % qual.text)
TypeError: `unknown` does not appear to be a valid quality string.
Additional information:
- FlexGet version: 2.11.4
- Python version: 2.7.12
- Installation method: pip
- Using daemon (yes/no): yes
- OS and version: Ubuntu 16.04
Reactions are currently unavailable