#!/usr/bin/env xonsh import sys from pathlib import Path if len(sys.argv) < 2: exit("error: no argument") f_path = Path(sys.argv[1]) if not f_path.exists(): exit("error: file doesn't exist") if not $(file -b --mime-type @(f_path)).startswith("image/"): exit("error: file isn't an image") f_size = int($(ls -l @(f_path) | awk '{print $5}')) if f_size > 500_000: cp @(f_path) @(f_path.stem)_old@(f_path.suffix) convert @(f_path) -define jpeg:extent=300kb @(f_path.stem).jpg if f_size > 700_000: convert @(f_path.stem)_old@(f_path.suffix) -define jpeg:extent=700kb @(f_path.stem)_full.jpg else: convert @(f_path.stem)_old@(f_path.suffix) @(f_path.stem)_full.jpg