mirror of
https://github.com/jellyfin/jellyfin-kodi.git
synced 2024-12-25 02:06:09 +00:00
Merge pull request #232 from TrueTechy/year-error-handling
Mitigation for #216 for invalid year
This commit is contained in:
commit
881c0e947a
1 changed files with 11 additions and 1 deletions
|
@ -5,6 +5,8 @@ from __future__ import division, absolute_import, print_function, unicode_litera
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
import threading
|
import threading
|
||||||
|
import concurrent.futures
|
||||||
|
from datetime import date
|
||||||
|
|
||||||
from six.moves import range, queue as Queue, zip
|
from six.moves import range, queue as Queue, zip
|
||||||
|
|
||||||
|
@ -273,7 +275,6 @@ def _get_items(query, server_id=None):
|
||||||
# complete all tasks before allowing any results to be processed. ThreadPoolExecutor
|
# complete all tasks before allowing any results to be processed. ThreadPoolExecutor
|
||||||
# allows for completed tasks to be processed while other tasks are completed on other
|
# allows for completed tasks to be processed while other tasks are completed on other
|
||||||
# threads. Dont be a dummy.Pool, be a ThreadPoolExecutor
|
# threads. Dont be a dummy.Pool, be a ThreadPoolExecutor
|
||||||
import concurrent.futures
|
|
||||||
p = concurrent.futures.ThreadPoolExecutor(DTHREADS)
|
p = concurrent.futures.ThreadPoolExecutor(DTHREADS)
|
||||||
|
|
||||||
results = p.map(lambda params: _get(url, params, server_id=server_id), query_params)
|
results = p.map(lambda params: _get(url, params, server_id=server_id), query_params)
|
||||||
|
@ -282,6 +283,15 @@ def _get_items(query, server_id=None):
|
||||||
query['params'] = params
|
query['params'] = params
|
||||||
|
|
||||||
result = result or {'Items': []}
|
result = result or {'Items': []}
|
||||||
|
|
||||||
|
# Mitigates #216 till the server validates the date provided is valid
|
||||||
|
if result['Items'][0].get('ProductionYear'):
|
||||||
|
try:
|
||||||
|
date(result['Items'][0]['ProductionYear'], 1, 1)
|
||||||
|
except ValueError:
|
||||||
|
LOG.info('#216 mitigation triggered. Setting ProductionYear to None')
|
||||||
|
result['Items'][0]['ProductionYear'] = None
|
||||||
|
|
||||||
items['Items'].extend(result['Items'])
|
items['Items'].extend(result['Items'])
|
||||||
# Using items to return data and communicate a restore point back to the callee is
|
# Using items to return data and communicate a restore point back to the callee is
|
||||||
# a violation of the SRP. TODO: Seperate responsibilities.
|
# a violation of the SRP. TODO: Seperate responsibilities.
|
||||||
|
|
Loading…
Reference in a new issue