#!/usr/bin/env python3
import os
import sys
import time
import json
import socket

sys.path.insert(0,"/usr/share/etausb/")

if os.path.exists("/etc/etausb.debug"):
    sys.stdout = open("/var/log/etausb.udev.log","a")
    sys.stderr = open("/var/log/etausb.udev.log","a")


udata = os.environ.copy()
for name in ["ACTION", "DEVTYPE", "SUBSYSTEM"]:
    if name not in udata:
        exit(0)
if udata["ACTION"] not in ["add", "remove"]:
    exit(0)
if udata["SUBSYSTEM"] != "block":
    exit(0)
if udata["DEVTYPE"] != "partition":
    exit(0)

os.makedirs("/run/etap/", exist_ok=True)

# ignore if service down
if not os.path.exists("/run/etap/usb-trigger"):
    exit(0)

print(">>>",udata)

client = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
client.connect("/run/etap/usb-trigger")
client.sendall(json.dumps(udata).encode())
client.close()
