示例#1
0
  def test_simple_decode(self):
    obj = [1, 2, 3]
    string = json.dumps(obj)
    self.assertEqual(obj, jsonify.decode(string))

    obj = [True, 2, 3]
    string = json.dumps(obj)
    self.assertEqual(obj, jsonify.decode(string))
示例#2
0
def runTask(name, data = []):
  s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
  s.connect("socket")
  s.send(jsonify.encode([name, data]))
  data = jsonify.encode("done")
  if name != "kill":
    data = s.recv(4096)
  s.close()
  return jsonify.decode(data)
示例#3
0
  def verify_data(self, data):
    error, taskfunc = None, None
    try:
      task, args = jsonify.decode(data)
      if type(args) != list:
        raise TypeError("Wrong argument type.")
      taskfunc = getattr(self, task)
      fargs, va, kw, defaults = inspect.getargspec(taskfunc)
      if len(fargs) > len(args) + 1:
        error = {"error" : "invalid_param_count"}
      elif len(fargs) != len(args) + 1 and not va:
        error = {"error" : "invalid_param_count"}
    except AttributeError:
      error = {"error" : "no_such_task"}
    except:
      error = {"error" : "invalid_data_format"}

    return error, task, args
示例#4
0
 def ed_test(self, obj):
   string = jsonify.encode(obj)
   decodeobj = jsonify.decode(string)
   self.assertEqual(obj, decodeobj)
示例#5
0
 def start_task(self, **params):
   self.connect_to_coord()
   self.coord_socket.sendall("start_task:" + jsonify.encode(params))
   result = self.coord_socket.recv(256)
   self.coord_socket.close()
   return jsonify.decode(result)["tid"]