#!/bin/python3
import socket
import os
import sys

socket_path = '/opt/print-control/pipes/'

def audit_listen(name, timeout=100):  # 设置默认超时时间
    try:
        # 检查套接字文件是否存在，如果存在则删除
        if os.path.exists(socket_path + name):
            os.remove(socket_path + name)

        server_socket = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
        server_socket.bind(socket_path + name)
        server_socket.listen(1)

        # print(f"Listening on {socket_path + name}...")
        server_socket.settimeout(timeout)  # 设置超时时间
        try:
            conn, addr = server_socket.accept()
            data = conn.recv(8)
            print(f"{data.decode()}")
            conn.close()
            os.remove(socket_path + name)
        except socket.timeout:
            print(f"error: Timeout after {timeout} seconds.")
    except Exception as e:
        print(f"error: An error occurred: {e}")
    finally:
        server_socket.close()

if __name__ == '__main__':
    if len(sys.argv) > 1:
        audit_listen(sys.argv[1])
