tunasynctl.py 939 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #!/usr/bin/env python2
  2. # -*- coding:utf-8 -*-
  3. import sys
  4. import socket
  5. import argparse
  6. import json
  7. if __name__ == "__main__":
  8. parser = argparse.ArgumentParser(prog="tunasynctl")
  9. parser.add_argument("-s", "--socket",
  10. default="/var/run/tunasync.sock", help="socket file")
  11. parser.add_argument("command", help="command")
  12. parser.add_argument("target", help="target")
  13. args = parser.parse_args()
  14. sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
  15. try:
  16. sock.connect(args.socket)
  17. except socket.error as msg:
  18. print(msg)
  19. sys.exit(1)
  20. pack = json.dumps({
  21. 'cmd': args.command,
  22. 'target': args.target,
  23. })
  24. try:
  25. sock.sendall(chr(len(pack)) + pack)
  26. length = ord(sock.recv(1))
  27. print(sock.recv(length))
  28. except Exception as e:
  29. print(e)
  30. finally:
  31. sock.close()
  32. # vim: ts=4 sw=4 sts=4 expandtab