#!/usr/bin/env python3
"""
convert_csv_to_xlsx.py
Simple CSV -> XLSX converter using openpyxl.
Usage:
  python convert_csv_to_xlsx.py /path/to/input.csv [/path/to/output.xlsx]
If output path is omitted, writes same basename with .xlsx in same folder.
"""
import sys
import csv
from pathlib import Path

try:
    from openpyxl import Workbook
except Exception as e:
    print('MISSING_OPENPYXL', e)
    raise


def convert(csv_path: Path, xlsx_path: Path):
    wb = Workbook()
    ws = wb.active
    # open CSV with universal newlines and utf-8
    with csv_path.open(newline='', encoding='utf-8') as f:
        reader = csv.reader(f)
        for row in reader:
            ws.append(row)
    wb.save(xlsx_path)


def main():
    if len(sys.argv) < 2:
        print('Usage: convert_csv_to_xlsx.py input.csv [output.xlsx]')
        sys.exit(2)
    csv_p = Path(sys.argv[1])
    if not csv_p.exists():
        print('Input CSV not found:', csv_p)
        sys.exit(3)
    if len(sys.argv) >= 3:
        xlsx_p = Path(sys.argv[2])
    else:
        xlsx_p = csv_p.with_suffix('.xlsx')
    try:
        convert(csv_p, xlsx_p)
        print('OK', xlsx_p)
    except Exception as e:
        print('ERROR', e)
        sys.exit(1)


if __name__ == '__main__':
    main()
