def bake(imageFile, assertion_string, newfile=None):
"""
Embeds a serialized representation of a badge instance in a PNG image file.
"""
encoded_assertion_string = codecs.getwriter('utf-8')(assertion_string)
reader = png.Reader(file=imageFile)
if newfile is None:
newfile = NamedTemporaryFile(suffix='.png')
chunkheader = b'openbadges\x00\x00\x00\x00\x00'
chunk_content = chunkheader + encoded_assertion_string.stream.encode('utf-8')
badge_chunk = ('iTXt', chunk_content)
png.write_chunks(newfile, baked_chunks(reader.chunks(), badge_chunk))
newfile.seek(0)
return newfile
评论列表
文章目录