api-example.py 875 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #!/usr/bin/env python2.7
  2. #Short Python Example for connecting to The Cgminer API
  3. #Written By: setkeh <https://github.com/setkeh>
  4. import socket
  5. import json
  6. import sys
  7. def linesplit(socket):
  8. buffer = socket.recv(4096)
  9. done = False
  10. while not done:
  11. more = socket.recv(4096)
  12. if not more:
  13. done = True
  14. else:
  15. buffer = buffer+more
  16. if buffer:
  17. return buffer
  18. api_command = sys.argv[1].split('|')
  19. #api_ip = sys.argv[3]
  20. #api_port = sys.argv[4]
  21. if len(sys.argv) < 3:
  22. api_ip = '127.0.0.1'
  23. api_port = 4028
  24. else:
  25. api_ip = sys.argv[2]
  26. api_port = sys.argv[3]
  27. print api_ip, api_port
  28. s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
  29. s.connect((api_ip,int(api_port)))
  30. s.send(json.dumps({"command":api_command[0],"parameter":api_command[1]}))
  31. response = linesplit(s)
  32. response = response.replace('\x00','')
  33. response = json.loads(response)
  34. print response
  35. s.close()