2023-11-14, 15:10
There's no consistency in these types of errors, their occurrence is random. No issues manifest with the old getSetting/getSettingInt methods.
I get the above error inconsistently when the data in my settings.xml file looks like this.
This is how I initialize the settings object and how I call its methods:
Code:
EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <class 'TypeError'>
Error Contents: Invalid setting type "integer" for "registration_server_port"
Traceback (most recent call last):
File "C:\Users\Jay\AppData\Roaming\Kodi\addons\plugin.dbmc\service.py", line 15, in <module>
server = ThreadedHTTPServer(("", port), RequestHandler)
File "C:\Users\Jay\AppData\Roaming\Kodi\addons\plugin.dbmc\resources\lib\oauth\register.py", line 28, in __init__
while ADDON_SETTINGS.getInt("registration_server_port") != self.server_port and not monitor.abortRequested():
TypeError: Invalid setting type "integer" for "registration_server_port"
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Jay\AppData\Roaming\Kodi\addons\plugin.dbmc\service.py", line 17, in <module>
server = ThreadedHTTPServer(("", 0), RequestHandler)
File "C:\Users\Jay\AppData\Roaming\Kodi\addons\plugin.dbmc\resources\lib\oauth\register.py", line 28, in __init__
while ADDON_SETTINGS.getInt("registration_server_port") != self.server_port and not monitor.abortRequested():
TypeError: Invalid setting type "integer" for "registration_server_port"
-->End of Python script error report<--
I get the above error inconsistently when the data in my settings.xml file looks like this.
Code:
<settings version="2">
<setting id="file_filter" default="true">true</setting>
<setting id="cache_path">C:\Users\Jay\Documents\DBMC\</setting>
<setting id="stream_media" default="true">true</setting>
<setting id="files_per_batch" default="true">5</setting>
<setting id="registration_server_port">49875</setting>
<setting id="notify_server_port">52828</setting>
</settings>
This is how I initialize the settings object and how I call its methods:
Code:
ADDON = xbmcaddon.Addon("plugin.dbmc")
ADDON_SETTINGS = ADDON.getSettings()
ADDON_SETTINGS.getInt("registration_server_port")