def is_valid_request(request): if isinstance(request, tuple): if len(request) == 4: if request[0] in (":call", ":cast"): if termformat.is_atom(request[1]): if termformat.is_atom(request[2]): if isinstance(request[3], list): return True return False
def __init__(self, address, name): self.address = address if not termformat.is_atom(name): message = "Module name must be an atom '{0}' ~> '{1}'" name_as_atom = termformat.binary_to_atom(name) raise ValueError(message.format(name, name_as_atom)) self.name = name self.connections = kyoto.conf.settings.CONNECTION_MANAGER_CLASS(self.address)
def test_is_invalid_atom(self): self.assertFalse(termformat.is_atom("foo")) self.assertFalse(termformat.is_atom(12)) self.assertFalse(termformat.is_atom(3.14)) self.assertFalse(termformat.is_atom([":foo", ":bar"])) self.assertFalse(termformat.is_atom({1, 2, 3})) self.assertFalse(termformat.is_atom((4, 5, 6)))
def test_is_valid_atom(self): self.assertTrue(termformat.is_atom(":foo")) self.assertTrue(termformat.is_atom(u":foo")) self.assertTrue(termformat.is_atom(":Bar"))