Bugzilla – Bug 10066
Error handling in Extension Downloader
Last modified: 2008-11-19 14:47:59 UTC
The error handling in the Extension Downloader needs to be improved a bit, if a single repository url has missed to add the "lang" attribute in the "desc" element it's not possible to access the Extension Downloader page at all. You will just get a blank page in this case and the following error is shown in the SqueezeCenter log: Slim::Networking::IO::Select::select (271) Error: Select task failed: Can't coerce array into hash at /usr/src/squeezecenter/7.3/server/Slim/Plugin/Extensions/Plugin.pm line 308. The "desc" element part of the XML could look like this to cause this problem: <desc>Some nice description</desc> While it works if you correctly has entered the description as: <desc lang="EN">Some nice description</desc> The expected behavior would be that Extension Downloader just ignore either the whole repository that contains the error or alternatively just ignore the specific plugin in that repository that contains the problem. Today it makes it impossible to use the Extension Downloader at all and the only workaround if you get into this situation is to manually find and delete the Extension Downloader prefs file and start over again.
Michael: would this be yours to address?
Its mine.
Simple fix in change 23972 This won't display titles or descriptions if you miss the lang="X", but it should still process the repo and build the web page. [XML::Simple seems to be incapable of returning a hash if there is no attribute there so it makes it harder support both the localised case and the case when it lang="X" is ommitted]