Advertisement
Guest User

Untitled

a guest
Mar 28th, 2015
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.80 KB | None | 0 0
  1. import socket
  2. import functools
  3. from helpers.helpers import dict_to_xml
  4.  
  5. class LibraryClient(object):
  6. BUFFER_SIZE = 1024 * 1024
  7.  
  8. def __init__(self, ip, port):
  9. self.port = port
  10. self.ip = ip
  11.  
  12. def __getattr__(self, attr):
  13. return functools.partial(self._call_server, attr)
  14.  
  15. def _call_server(self, method, data):
  16. send_data = {}
  17. send_data['body'] = {}
  18. send_data['body']['data'] = data
  19. send_data['body']['method'] = method
  20. xml_data = dict_to_xml(send_data)
  21.  
  22. return self.make_request(xml_data)
  23.  
  24. def make_request(self, data):
  25. so = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  26. so.connect((self.ip, self.port))
  27.  
  28. so.send(data)
  29. result = so.recv(self.BUFFER_SIZE)
  30.  
  31. so.close()
  32. return result
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement