code: def command(self, command, arg=None):
          
          sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  
          try:
              sock.connect((self.host, self.port))
              payload = {"command": command}
              if arg is not None:
                  # Parameter must be converted to basestring (no int)
                  payload.update({'parameter': unicode(arg)})
  
              sock.send(json.dumps(payload))
              received = self._receive(sock)
          finally:
              sock.shutdown(socket.SHUT_RDWR)
              sock.close()
  
          return json.loads(received[:-1])
docs: Initialize a socket connection,
          send a command (a json encoded dict) and
          receive the response (and decode it).