概要
Sonos セルフテスト スイートitemType=other
は、カスタム ブラウズ アイコンもあるアイテムに対して誤って失敗するようです。
からこのリストに項目タイプother
を含める必要があると思いますutility.py
:
17 BROWSEABLE_CONTAINER_TYPES = ('artist', 'album', 'genre', 'playlist', 'favorites', 'albumList', 'trackList', 'artistTrackList', 'container', 'favorite', 'collection', 'program', 'show')
詳細
sonos セルフテスト スイートを実行すると、出力の一部として次のエラーが表示されます。
...
INFO Start Test Case: 844 Albumart test_custom_browse_icon_configuration
STOP Discovered custom browse icon URI should be something other than None. (is None)
STOP 844 Albumart test_custom_browse_icon_configuration
...
albumart.py
(メソッド) をデバッグすることで、問題を次のメソッドtest_custom_browse_icon_configuration
の抜粋に追跡しました。get_sample_custom_browse_icon_url
# TODO: Need to drill down one level deeper if the target image url cannot be found on the root level containers
for mediaColl in response.Items:
if mediaColl.itemType in container_types:
if substitution_str in mediaColl.albumArtURI:
return mediaColl.albumArtURI
elif hasattr(mediaColl.albumArtURI,'value') and substitution_str in mediaColl.albumArtURI.value:
return mediaColl.albumArtURI.value
このコードは、カスタム アルバム アートを含むコンテナーを検索することになっていました。ただし、container_types
は以前の行で定義されていたことがわかります。
container_types = [t for t in Validation.BROWSEABLE_CONTAINER_TYPES if t.lower() != 'album']
で、次のようValidation.BROWSEABLE_CONTAINER_TYPES
に定義されました。utility.py
# sonos-selftest/smapi/content_workflow/utility.py
15 class Validation(WorkflowTestFixture, SMAPIClient, SMAPIService):
16
17 BROWSEABLE_CONTAINER_TYPES = ('artist', 'album', 'genre', 'playlist', 'favorites', 'albumList', 'trackList', 'artistTrackList', 'container', 'favorite', 'collection', 'program', 'show')
タイプがこのリストにないことに注意してください'other'
! リストに含まれているはずだと確信してbrowse.py
います。
234 **Reference:** BROWSEABLE_CONTAINER_TYPES = 'artist', 'album', 'genre', 'playlist', 'favorites', 'albumList', 'trackList', 'artistTrackList', 'container', 'favorite', 'collection', 'other', ' program'
回避策
itemType=other
に変更することで、この問題を回避できましたitemType=container
(これはほぼ同等です)。
ただし、Sonos セルフテスト スイートの将来のバージョンでこれが修正されるとよいでしょう。