from FileMetadataExtractor import FileMetadataExtractor from RSS import ns import os.path import PIL.Image class ThumbnailFileExtractor(FileMetadataExtractor): def _find(self, filename, meta): if os.path.exists(filename): bbox = PIL.Image.open(filename).getbbox() meta[(ns.rawk, 'thumbnail')] = os.path.basename(filename) # TODO: make absolute URL meta[(ns.rawk, 'thumbnailWidth')] = str(bbox[2]) meta[(ns.rawk, 'thumbnailHeight')] = str(bbox[3]) return True return False def extract(self, file, meta): (dirname, filename) = os.path.split(file) basename = os.path.splitext(filename)[0] if self._find(os.path.join(dirname, "thumb-" + basename + ".jpg"), meta): return self._find(os.path.join(dirname, "thumb-" + basename + ".png"), meta)