from FileMetadataExtractor import FileMetadataExtractor import os from RSS import ns import PNG class PngCommentExtractor(FileMetadataExtractor): def extract(self, f, item): if os.path.splitext(f)[1] != ".png": return png = PNG.Png.open(file(f, 'rb')) def get(keyword): # TODO: handle zTXt and iTXt return "; ".join([c.content for c in png.get_chunks(PNG.tEXt) if c.keyword==keyword]).strip() def set(tag, keyword): t = get(keyword) if t: item[tag] = t set((ns.rss10, 'title'), 'Title') set((ns.rss10, 'description'), 'Description') set((ns.dc, 'creator'), 'Author')