17.9.2026, 10:27
Ahoj, bohužel na Android TV KODI v21.2, testováno i na kodi-22.0-Piers s v1.5.0 (16.9.2026) nefunkční.
2026-09-17 10:05:03.772 T:24509 error <general>: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <class 'RecursionError'>
Error Contents: maximum recursion depth exceeded
Traceback (most recent call last):
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/main.py", line 27, in <module>
subscription = get_subscription()
^^^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/profiles.py", line 114, in get_subscription
data = call_api(url = 'https://api.play-backend.iprima.cz/api/v1/user/sub/active', data = None, token = get_token(), skip_profile = True)
^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/api.py", line 87, in get_token
data = call_api(url = 'https://gateway-api.prod.iprima.cz/json-rpc/', data = post, token = token)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/api.py", line 33, in call_api
headers = {'Authorization' : 'Bearer ' + str(token), 'X-OTT-Access-Token' : str(token), 'X-OTT-CDN-Url-Type' : 'WEB', 'X-OTT-Device' : addon.getSetting('deviceid'), 'X-OTT-User-SubProfile' : get_profile_id(), 'User-Agent' : ua, 'Accept': 'application/json; charset=utf-8', 'Content-type' : 'application/json;charset=UTF-8'}
^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/profiles.py", line 97, in get_profile_id
profile = get_profiles(active = True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/profiles.py", line 74, in get_profiles
data = call_api(url = 'https://auth.iprima.cz/userapi/1/user-profile', data = None, token = get_token(), skip_profile = True)
^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/api.py", line 87, in get_token
data = call_api(url = 'https://gateway-api.prod.iprima.cz/json-rpc/', data = post, token = token)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/api.py", line 33, in call_api
headers = {'Authorization' : 'Bearer ' + str(token), 'X-OTT-Access-Token' : str(token), 'X-OTT-CDN-Url-Type' : 'WEB', 'X-OTT-Device' : addon.getSetting('deviceid'), 'X-OTT-User-SubProfile' : get_profile_id(), 'User-Agent' : ua, 'Accept': 'application/json; charset=utf-8', 'Content-type' : 'application/json;charset=UTF-8'}
^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/profiles.py", line 97, in get_profile_id
profile = get_profiles(active = True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/profiles.py", line 74, in get_profiles
data = call_api(url = 'https://auth.iprima.cz/userapi/1/user-profile', data = None, token = get_token(), skip_profile = True)
^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/api.py", line 87, in get_token
data = call_api(url = 'https://gateway-api.prod.iprima.cz/json-rpc/', data = post, token = token)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/api.py", line 33, in call_api
headers = {'Authorization' : 'Bearer ' + str(token), 'X-OTT-Access-Token' : str(token), 'X-OTT-CDN-Url-Type' : 'WEB', 'X-OTT-Device' : addon.getSetting('deviceid'), 'X-OTT-User-SubProfile' : get_profile_id(), 'User-Agent' : ua, 'Accept': 'application/json; charset=utf-8', 'Content-type' : 'application/json;charset=UTF-8'}
^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/profiles.py", line 97, in get_profile_id
profile = get_profiles(active = True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/profiles.py", line 74, in get_profiles
data = call_api(url = 'https://auth.iprima.cz/userapi/1/user-profile', data = None, token = get_token(), skip_profile = True)
^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/api.py", line 87, in get_token
data = call_api(url = 'https://gateway-api.prod.iprima.cz/json-rpc/', data = post, token = token)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/api.py", line 33, in call_api
headers = {'Authorization' : 'Bearer ' + str(token), 'X-OTT-Access-Token' : str(token), 'X-OTT-CDN-Url-Type' : 'WEB', 'X-OTT-Device' : addon.getSetting('deviceid'), 'X-OTT-User-SubProfile' : get_profile_id(), 'User-Agent' : ua, 'Accept': 'application/json; charset=utf-8', 'Content-type' : 'application/json;charset=UTF-8'}
^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/profiles.py", line 97, in get_profile_id
profile = get_profiles(active = True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/profiles.py", line 74, in get_profiles
data = call_api(url = 'https://auth.iprima.cz/userapi/1/user-profile', data = None, token = get_token(), skip_profile = True)
^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/api.py", line 87, in get_token
data = call_api(url = 'https://gateway-api.prod.iprima.cz/json-rpc/', data = post, token = token)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/api.py", line 33, in call_api
headers = {'Authorization' : 'Bearer ' + str(token), 'X-OTT-Access-Token' : str(token), 'X-OTT-CDN-Url-Type' : 'WEB', 'X-OTT-Device' : addon.getSetting('deviceid'), 'X-OTT-User-SubProfile' : get_profile_id(), 'User-Agent' : ua, 'Accept': 'application/json; charset=utf-8', 'Content-type' : 'application/json;charset=UTF-8'}
^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/profiles.py", line 97, in get_profile_id
profile = get_profiles(active = True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/profiles.py", line 74, in get_profiles
data = call_api(url = 'https://auth.iprima.cz/userapi/1/user-profile', data = None, token = get_token(), skip_profile = True)
^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/api.py", line 87, in get_token
data = call_api(url = 'https://gateway-api.prod.iprima.cz/json-rpc/', data = post, token = token)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-09-17 10:05:03.772 T:24509 error <general>: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <class 'RecursionError'>
Error Contents: maximum recursion depth exceeded
Traceback (most recent call last):
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/main.py", line 27, in <module>
subscription = get_subscription()
^^^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/profiles.py", line 114, in get_subscription
data = call_api(url = 'https://api.play-backend.iprima.cz/api/v1/user/sub/active', data = None, token = get_token(), skip_profile = True)
^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/api.py", line 87, in get_token
data = call_api(url = 'https://gateway-api.prod.iprima.cz/json-rpc/', data = post, token = token)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/api.py", line 33, in call_api
headers = {'Authorization' : 'Bearer ' + str(token), 'X-OTT-Access-Token' : str(token), 'X-OTT-CDN-Url-Type' : 'WEB', 'X-OTT-Device' : addon.getSetting('deviceid'), 'X-OTT-User-SubProfile' : get_profile_id(), 'User-Agent' : ua, 'Accept': 'application/json; charset=utf-8', 'Content-type' : 'application/json;charset=UTF-8'}
^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/profiles.py", line 97, in get_profile_id
profile = get_profiles(active = True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/profiles.py", line 74, in get_profiles
data = call_api(url = 'https://auth.iprima.cz/userapi/1/user-profile', data = None, token = get_token(), skip_profile = True)
^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/api.py", line 87, in get_token
data = call_api(url = 'https://gateway-api.prod.iprima.cz/json-rpc/', data = post, token = token)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/api.py", line 33, in call_api
headers = {'Authorization' : 'Bearer ' + str(token), 'X-OTT-Access-Token' : str(token), 'X-OTT-CDN-Url-Type' : 'WEB', 'X-OTT-Device' : addon.getSetting('deviceid'), 'X-OTT-User-SubProfile' : get_profile_id(), 'User-Agent' : ua, 'Accept': 'application/json; charset=utf-8', 'Content-type' : 'application/json;charset=UTF-8'}
^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/profiles.py", line 97, in get_profile_id
profile = get_profiles(active = True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/profiles.py", line 74, in get_profiles
data = call_api(url = 'https://auth.iprima.cz/userapi/1/user-profile', data = None, token = get_token(), skip_profile = True)
^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/api.py", line 87, in get_token
data = call_api(url = 'https://gateway-api.prod.iprima.cz/json-rpc/', data = post, token = token)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/api.py", line 33, in call_api
headers = {'Authorization' : 'Bearer ' + str(token), 'X-OTT-Access-Token' : str(token), 'X-OTT-CDN-Url-Type' : 'WEB', 'X-OTT-Device' : addon.getSetting('deviceid'), 'X-OTT-User-SubProfile' : get_profile_id(), 'User-Agent' : ua, 'Accept': 'application/json; charset=utf-8', 'Content-type' : 'application/json;charset=UTF-8'}
^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/profiles.py", line 97, in get_profile_id
profile = get_profiles(active = True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/profiles.py", line 74, in get_profiles
data = call_api(url = 'https://auth.iprima.cz/userapi/1/user-profile', data = None, token = get_token(), skip_profile = True)
^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/api.py", line 87, in get_token
data = call_api(url = 'https://gateway-api.prod.iprima.cz/json-rpc/', data = post, token = token)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/api.py", line 33, in call_api
headers = {'Authorization' : 'Bearer ' + str(token), 'X-OTT-Access-Token' : str(token), 'X-OTT-CDN-Url-Type' : 'WEB', 'X-OTT-Device' : addon.getSetting('deviceid'), 'X-OTT-User-SubProfile' : get_profile_id(), 'User-Agent' : ua, 'Accept': 'application/json; charset=utf-8', 'Content-type' : 'application/json;charset=UTF-8'}
^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/profiles.py", line 97, in get_profile_id
profile = get_profiles(active = True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/profiles.py", line 74, in get_profiles
data = call_api(url = 'https://auth.iprima.cz/userapi/1/user-profile', data = None, token = get_token(), skip_profile = True)
^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/api.py", line 87, in get_token
data = call_api(url = 'https://gateway-api.prod.iprima.cz/json-rpc/', data = post, token = token)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/api.py", line 33, in call_api
headers = {'Authorization' : 'Bearer ' + str(token), 'X-OTT-Access-Token' : str(token), 'X-OTT-CDN-Url-Type' : 'WEB', 'X-OTT-Device' : addon.getSetting('deviceid'), 'X-OTT-User-SubProfile' : get_profile_id(), 'User-Agent' : ua, 'Accept': 'application/json; charset=utf-8', 'Content-type' : 'application/json;charset=UTF-8'}
^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/profiles.py", line 97, in get_profile_id
profile = get_profiles(active = True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/profiles.py", line 74, in get_profiles
data = call_api(url = 'https://auth.iprima.cz/userapi/1/user-profile', data = None, token = get_token(), skip_profile = True)
^^^^^^^^^^^
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.primaplus/libs/api.py", line 87, in get_token
data = call_api(url = 'https://gateway-api.prod.iprima.cz/json-rpc/', data = post, token = token)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
