import sys
import json
import os.path
from PIL import Image

# Increase the maximum image pixel size
Image.MAX_IMAGE_PIXELS = None


if __name__ == "__main__":
    # TODO manage error correctly

    input_image = sys.argv[1]
    input_angle = int(sys.argv[2])
    output_path = f'R_{input_angle}_{os.path.basename(input_image)}'

    try:
        color_img = Image.open(input_image)
        rotated = color_img.rotate(float(input_angle) * -1, expand=True)
        rotated.save(output_path)
        print(f"Rotated image saved at {output_path}")
    except FileNotFoundError:
        print("Error: Input image file not found.")
    except ValueError:
        print("Error: Invalid input angle. Please provide a valid numeric angle.")
