
from PIL import Image
import base64
import io
import sys


def pilImgFromBinaryField(field):
    data = base64.b64decode(field)
    return Image.open(io.BytesIO(data))

def main():

    args = sys.argv
    if len(args) < 4:
        print("Usage: <lot_id> <image_idx> <outdir>")
        return

    lot_id = int(args[1])
    img_i = int(args[2])
    outpath = args[3]

    session.open()
    s = session
    lot = s.env['stock.production.lot'].browse(lot_id)
    img = lot.product_image_ids[img_i]

    wm_img = pilImgFromBinaryField(img.image_processed)
    wm_img.save(f"{outpath}/{img.name}_wm.jpg")


if __name__ == '__main__':
    main()
