+ def _create_on_issues(self, row):
+ return lambda issues: self._on_issues(row, issues)
+
+ @misc_utils.log_exception(_moduleLogger)
+ def _on_issues(self, row, issues):
+ for issue in issues:
+ self._store.get_pixbuf_from_url(
+ issue.get_properties()["pictureURL"],
+ lambda pix: self._on_image(row, pix),
+ self._on_error,
+ )
+ break
+ else:
+ _moduleLogger.info("No issues for magazine %s" % row)
+
+ @misc_utils.log_exception(_moduleLogger)
+ def _on_image(self, row, pix):
+ treeiter = self._model.iter_nth_child(None, row)
+ self._model.set_value(treeiter, 1, pix)
+ treeiter = self._model.iter_nth_child(None, row)
+ self._model.row_changed((row, ), treeiter)
+