Ejemplo n.º 1
0
def save_normalized_image(data_dir, filename, data):

    from PIL import Image, ImageFile
    from pilkit.processors import Transpose

    if not os.path.isdir(config.DATA_DIR):
        try:  # Reset saved files on each start
            # rmtree(DATA_DIR, True)
            os.mkdir(config.DATA_DIR)
        except OSError:
            raise
            return False

    path = os.path.join(data_dir, filename)
    orig_store_path = os.path.join(config.DATA_DIR, filename)

    image_parser = ImageFile.Parser()
    try:
        image_parser.feed(data)
        image = image_parser.close()
    except IOError:
        raise
        return False

    image.save(orig_store_path)

    try:
        image = Transpose().process(image)
    except (IOError, IndexError):
        pass

    image.thumbnail(config.MAX_IMAGE_SIZE, Image.ANTIALIAS)
    if image.mode != 'RGB':
        image = image.convert('RGB')

    image.save(path)
    return True