Python Mopidy扩展:“ThreadingFuture”对象不支持索引

Python Mopidy扩展:“ThreadingFuture”对象不支持索引,python,Python,我想写一个Mopidy扩展。以下代码打印下面的错误消息 def switch_channel(self, input_event): channelIndex = input_event['channel']-1 track = self.core.tracklist.get_tl_tracks()[channelIndex] if self.core.playback.state.get() == core.PlaybackState.PLAY

我想写一个Mopidy扩展。以下代码打印下面的错误消息

 def switch_channel(self, input_event):
        channelIndex = input_event['channel']-1
        track = self.core.tracklist.get_tl_tracks()[channelIndex]
        if self.core.playback.state.get() == core.PlaybackState.PLAYING:
            self.core.playback.play(track)
错误:

文件 /home/pi/Documents/python/test_extension/mopidy-radiostar/mopidy_-radiostar/frontend.py, 第63行,开关通道中 track=self.core.tracklist.get\u tl\u tracks[channelIndex]TypeError:“ThreadingFuture”对象不支持索引

Mopidy文档状态获取跟踪列表作为Mopidy.models.TlTrack的列表。。为什么这不是一个列表?

有一些关于如何使用actor代理的更多信息,self.core应该是这样的

记住这一点,您希望您的代码是:

track=self.core.tracklist.get\u tl\u tracks.get[channelIndex]


这可以确保您获取core返回的列表,而不仅仅是尝试使用未来,这只是一种承诺,即在某个时候会提供列表或错误。

您是否使用Pykka来帮助您的Mopidy前端开发?是的,它包括在内。我对python很陌生,这有什么重要的?实际上是Pykka产生了这个错误,ThreadingFuture是Pykka类而不是Mopidy类。那么我如何修复它呢?老实说,我不确定,我从来没有使用过Pykka或Mopidy。但至少现在你有更具体的事情要研究或询问。