#!/usr/bin/python3

import os
import re
import sys


if len(sys.argv) != 3:
    print(f"Usage: {sys.argv[0]} <MAC> <PROFILE>", file=sys.stderr)
    sys.exit(1)


GRUB_D = "/home/pxe/tftp/grub/grub.cfg.d"

os.chdir(GRUB_D)
macaddr = sys.argv[1]
profile = sys.argv[2]

macaddr = "".join(re.findall(r"[0-9a-f]+", macaddr, flags=re.I)).lower()
if len(macaddr) != 12:
    raise ValueError(f"Invalid MAC address: {macaddr}")
macaddr = ":".join([macaddr[i:i+2] for i in range(0, 12, 2)])

if "/" in profile:
    raise ValueError("Profile cannot contain /")
if not os.path.isfile(profile):
    raise ValueError(f"Profile does not exist: {profile}")
os.symlink(profile, macaddr)
print(f"Created {macaddr!r} -> {profile!r}")
