@
jurialmunkey I've just started to use the viewtype builder but I'm getting this error when running it.
Code:
2023-11-14 11:45:15.173 T:3896 error <general>: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <class 'json.decoder.JSONDecodeError'>
Error Contents: Expecting property name enclosed in double quotes: line 11 column 5 (char 226)
Traceback (most recent call last):
File "C:\Kodi_nightly\portable_data\addons\script.skinvariables\resources\lib\script.py", line 64, in run
route_taken = set.intersection(routes_available, params_given).pop()
KeyError: 'pop from an empty set'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Kodi_nightly\portable_data\addons\script.skinvariables\resources\lib\viewtypes.py", line 47, in meta
return self._meta
AttributeError: 'ViewTypes' object has no attribute '_meta'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Kodi_nightly\portable_data\addons\script.skinvariables\script.py", line 9, in <module>
Script(*sys.argv[1:]).run()
File "C:\Kodi_nightly\portable_data\addons\script.skinvariables\resources\lib\script.py", line 66, in run
return self.router()
File "C:\Kodi_nightly\portable_data\addons\script.skinvariables\resources\lib\script.py", line 72, in router
return ViewTypes().update_xml(skinfolder=self.params.get('folder'), **self.params)
File "C:\Kodi_nightly\portable_data\addons\script.skinvariables\resources\lib\viewtypes.py", line 363, in update_xml
if not self.meta:
File "C:\Kodi_nightly\portable_data\addons\script.skinvariables\resources\lib\viewtypes.py", line 49, in meta
self._meta = loads(self.content) or {}
File "C:\Kodi_nightly\system\python\Lib\json\__init__.py", line 357, in loads
return _default_decoder.decode(s)
File "C:\Kodi_nightly\system\python\Lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Kodi_nightly\system\python\Lib\json\decoder.py", line 353, in raw_decode
obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 11 column 5 (char 226)
-->End of Python script error report<--
This is my
skinviewtypes.json
-
json:
{
"prefix": "Exp_View",
"viewtypes": {
"50": "31161",
"51": "31130",
"52": "31111",
"53": "31160",
"54": "31112",
"55": "31159",
"56": "31172",
},
"rules": {
"images": {
"rule": "Container.Content(images)",
"viewtypes": ["50", "53", "55"],
"library": "50",
},
"videos": {
"rule": "Container.Content(videos)",
"viewtypes": ["50", "51", "52", "53", "55", "56"],
"library": "50",
},
"movies": {
"rule": "Container.Content(movies)",
"viewtypes": ["53"],
"library": "53",
},
"sets": {
"rule": "Container.Content(sets)",
"viewtypes": ["53"],
"library": "53",
},
"tvshows": {
"rule": "Container.Content(tvshows)",
"viewtypes": ["51", "53"],
"library": "53",
},
"seasons": {
"rule": "Container.Content(seasons)",
"viewtypes": ["51", "53"],
"library": "53",
},
"episodes": {
"rule": "Container.Content(episodes)",
"viewtypes": ["52"],
"library": "52",
},
"genres": {
"rule": "Container.Content(genres)",
"viewtypes": ["50"],
"library": "50",
},
"years": {
"rule": "Container.Content(years)",
"viewtypes": ["50"],
"library": "50",
},
"studios": {
"rule": "Container.Content(studios)",
"viewtypes": ["50"],
"library": "50",
},
"directors": {
"rule": "Container.Content(directors)",
"viewtypes": ["50"],
"library": "50",
},
"countries": {
"rule": "Container.Content(countries)",
"viewtypes": ["50"],
"library": "50",
},
"tags": {
"rule": "Container.Content(tags)",
"viewtypes": ["50"],
"library": "50",
},
"roles": {
"rule": "Container.Content(roles)",
"viewtypes": ["50"],
"library": "50",
},
"actors": {
"rule": "Container.Content(actors)",
"viewtypes": ["50"],
"library": "50",
},
"playlists": {
"rule": "Container.Content(playlists)",
"viewtypes": ["50"],
"library": "50",
},
"games": {
"rule": "Container.Content(games)",
"viewtypes": ["50", "53", "55"],
"library": "50",
},
"musicvideos": {
"rule": "Container.Content(musicvideos)",
"viewtypes": ["50", "53", "55"],
"library": "50",
},
"artists": {
"rule": "Container.Content(artists)",
"viewtypes": ["50"],
"library": "50",
},
"albums": {
"rule": "Container.Content(albums)",
"viewtypes": ["50"],
"library": "50",
},
"songs": {
"rule": "Container.Content(songs)",
"viewtypes": ["54", "50"],
"library": "54",
},
"files": {
"rule": "Container.Content(files)",
"viewtypes": ["50"],
"library": "50",
},
"sources": {
"rule": "Container.Content(sources)",
"viewtypes": ["50"],
"library": "50",
},
"addons": {
"rule": "Container.Content(addons)",
"viewtypes": ["50"],
"library": "50",
}
}
}
Thanks.