+ self.start_tag_fetcher(item.ID)
+
+ def start_tag_fetcher(self, item_id):
+ if self.fetcher:
+ self.fetcher.stop()
+ self.fetcher = None
+ self.fetcher = Fetcher(lambda: jamaendo.get_tag_tracks(item_id),
+ self,
+ on_item = self.on_tag_result,
+ on_ok = self.on_tag_complete,
+ on_fail = self.on_tag_complete)
+ self.fetcher.taglist = []
+ self.fetcher.start()
+
+ def on_tag_result(self, wnd, item):
+ if wnd is self and hasattr(self.fetcher, 'taglist'):
+ self.fetcher.taglist.append(item)
+
+ def on_tag_complete(self, wnd, error=None):
+ if wnd is self:
+ self.fetcher.stop()
+ if error is not None and hasattr(self.fetcher, 'taglist'):