En/na Kristian Lippert ha escrit:
Hi
I read in the documentation that GenericListViewMode.get_image
overrides must return a cancellable deferred that must return a path
to the resource (my jpg picture).
It looks like:
def get_image(self, item, theme): #gets called one time for each
item when displaying in list
# this call is async and must return a deferred
def get_resource(item):
if isinstance(item, Action):
resource = item.icon
elif isinstance(item, StationModel):
tmp = os.path.join(CONFIG_DIR, 'mystream_logos')
resource = os.path.join(tmp, item.resource)
else:
resource = None
return resource
dfr = defer.Deferred().addCallback(get_resource, item)
Look at this code from another plugin. In your case is a lot more simple:
def get_image(self, item, theme):
if isinstance(item, RadioModel):
try:
thumbnail_file = item.thumbnail_file
image_deferred = defer.succeed(item.thumbnail_file)
except AttributeError:
def get_thumbnail(images):
return _get_photo_thumbnail(item)
image_deferred = defer.succeed(item)
image_deferred.addCallback(get_thumbnail)
return image_deferred
else:
return None
--
Jesús Corrius
<[email protected]>