Линка от първия пост все още ли е актуален? Ползвам Kodi 17.5, при стартиране на Addon-a хвърля грешка invalid syntax в bsc.py на ред 3 - "import os, ". Според мен това няма как да работи така, има 10 import-a, само на един ред има запетая - чисто синтактично, това не може да мине. Махам запетаята, тогава вече продължава но отново гърми, този път ред 247 с грешка "FetchFail".
trace от Kodi:
01:59:13.023 T:10664 ERROR: Traceback (most recent call last):
01:59:13.023 T:10664 ERROR: File "C:\Users\username\AppData\Roaming\Kodi\addons\plugin.program.blstfusion\exec.py", line 201, in <module>
01:59:13.023 T:10664 ERROR: if b.gen_all(force):
01:59:13.023 T:10664 ERROR: File "C:\Users\username\AppData\Roaming\Kodi\addons\plugin.program.blstfusion\resources\lib\bsc.py", line 279, in gen_all
01:59:13.023 T:10664 ERROR: self.__data_fetch(force_refresh)
01:59:13.023 T:10664 ERROR: File "C:\Users\username\AppData\Roaming\Kodi\addons\plugin.program.blstfusion\resources\lib\bsc.py", line 263, in __data_fetch
01:59:13.023 T:10664 ERROR: self.__goforit()
01:59:13.023 T:10664 ERROR: File "C:\Users\username\AppData\Roaming\Kodi\addons\plugin.program.blstfusion\resources\lib\bsc.py", line 247, in __goforit
01:59:13.023 T:10664 ERROR: raise Exception("FetchFail")
01:59:13.023 T:10664 ERROR: Exception: FetchFail
Изглежда грешката е в bsc.py, линия 247, предните няколко реда изглеждат така:
self.__log_out()
if r.status_code != requests.codes.ok:
self.__log_dat('Error status code: %d' % (r.status_code, ))
xbmc.log('Error status code: %d' % (r.status_code, ))
raise Exception("FetchFail")
Грешката е престо текст, замених "FetchFail" с r.status_code, така виждам 403 - явно web service-a връща 403 - някаква идея защо може да е 403? Проверих внимателно потребителя и паролата, PVR клиента пише, че зарежда 211 канала.
Реших да разгледам заявката, която се подава към API-то им, на ред 46 има следното:
'Referer': 'https://test.iptv.bulsat.com/televizia.php',
Този файл връща 404, което пак не е 403, но ако не идвам от валиден адрес не знам това дали няма да е проблем. За теста реших да променя адреса на https://test.iptv.bulsat.com/, изглежда има разлика, защото така вече виждам грешка в bsc.py, ред 250 - raise Exception("LoginFail"). Заменям и тук "LoginFail" с r.status_code, статуса е 200. Това вече реално не е грешка. Това е със клиента зададен като PC, ако посоча Samsung например, веднага ми връща 403 отново.
Изглежда влизам неправилно в този exception, защото response-a ми е 200, а не влизам в условията "r.status_code == requests.codes.ok".
Реших за пробата да заменя навсякъде условието с r.status_code == "200", понеже реално 200 трябва да е статус OK, а изглежда скрипта не мисли така.
Така вече отивам на грешка в ред 264 на bsc.py:
if self.__js is None:
self.__goforit()
self.__log_dat('Len: %d' % len(self.__tv_list)) <<<ред 264
Грешката е TypeError: object of type 'NoneType' has no len()
Тук вече стигам до проблем, който не е толкова прост, изглежда не получавам очакваните данни и трябва да започвам да ровя какво получавам от самото начало на отговора, преди да продължа, искам само да попитам някой имал ли е подобен проблем, или само при мен се получава така?
trace от Kodi:
01:59:13.023 T:10664 ERROR: Traceback (most recent call last):
01:59:13.023 T:10664 ERROR: File "C:\Users\username\AppData\Roaming\Kodi\addons\plugin.program.blstfusion\exec.py", line 201, in <module>
01:59:13.023 T:10664 ERROR: if b.gen_all(force):
01:59:13.023 T:10664 ERROR: File "C:\Users\username\AppData\Roaming\Kodi\addons\plugin.program.blstfusion\resources\lib\bsc.py", line 279, in gen_all
01:59:13.023 T:10664 ERROR: self.__data_fetch(force_refresh)
01:59:13.023 T:10664 ERROR: File "C:\Users\username\AppData\Roaming\Kodi\addons\plugin.program.blstfusion\resources\lib\bsc.py", line 263, in __data_fetch
01:59:13.023 T:10664 ERROR: self.__goforit()
01:59:13.023 T:10664 ERROR: File "C:\Users\username\AppData\Roaming\Kodi\addons\plugin.program.blstfusion\resources\lib\bsc.py", line 247, in __goforit
01:59:13.023 T:10664 ERROR: raise Exception("FetchFail")
01:59:13.023 T:10664 ERROR: Exception: FetchFail
Изглежда грешката е в bsc.py, линия 247, предните няколко реда изглеждат така:
self.__log_out()
if r.status_code != requests.codes.ok:
self.__log_dat('Error status code: %d' % (r.status_code, ))
xbmc.log('Error status code: %d' % (r.status_code, ))
raise Exception("FetchFail")
Грешката е престо текст, замених "FetchFail" с r.status_code, така виждам 403 - явно web service-a връща 403 - някаква идея защо може да е 403? Проверих внимателно потребителя и паролата, PVR клиента пише, че зарежда 211 канала.
Реших да разгледам заявката, която се подава към API-то им, на ред 46 има следното:
'Referer': 'https://test.iptv.bulsat.com/televizia.php',
Този файл връща 404, което пак не е 403, но ако не идвам от валиден адрес не знам това дали няма да е проблем. За теста реших да променя адреса на https://test.iptv.bulsat.com/, изглежда има разлика, защото така вече виждам грешка в bsc.py, ред 250 - raise Exception("LoginFail"). Заменям и тук "LoginFail" с r.status_code, статуса е 200. Това вече реално не е грешка. Това е със клиента зададен като PC, ако посоча Samsung например, веднага ми връща 403 отново.
Изглежда влизам неправилно в този exception, защото response-a ми е 200, а не влизам в условията "r.status_code == requests.codes.ok".
Реших за пробата да заменя навсякъде условието с r.status_code == "200", понеже реално 200 трябва да е статус OK, а изглежда скрипта не мисли така.
Така вече отивам на грешка в ред 264 на bsc.py:
if self.__js is None:
self.__goforit()
self.__log_dat('Len: %d' % len(self.__tv_list)) <<<ред 264
Грешката е TypeError: object of type 'NoneType' has no len()
Тук вече стигам до проблем, който не е толкова прост, изглежда не получавам очакваните данни и трябва да започвам да ровя какво получавам от самото начало на отговора, преди да продължа, искам само да попитам някой имал ли е подобен проблем, или само при мен се получава така?