+ def render_sprite(self):
+ sponsor_ids = []
+ for column in self.get_sponsors_value():
+ sponsor_ids.extend(column['sponsors'])
+ sponsors = Sponsor.objects.in_bulk(sponsor_ids)
+ sprite = Image.new('RGBA', (THUMB_WIDTH, len(sponsors)*THUMB_HEIGHT))
+ for i, sponsor_id in enumerate(sponsor_ids):
+ simg = Image.open(sponsors[sponsor_id].logo.thumbnail.dest)
+ sprite.paste(simg, (0, i*THUMB_HEIGHT))
+ imgstr = StringIO()
+ sprite.save(imgstr, 'png')
+
+ if self.sprite:
+ self.sprite.delete(save=False)
+ self.sprite.save('sponsorzy/sprite/%s-%d.png' % (self.name, time.time()), ContentFile(imgstr.getvalue()), save=False)
+