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]>

Reply via email to