def test_update_new_type(self): rsp = json.loads(_message_rsp)['result'] m = Type._new(rsp, 'Message') r = m._to_raw() self.assertEquals(rsp, r)
def post(self, method): url = self.__method_url(method._name) raw = method._to_raw() files = {} for k in raw.keys(): if isinstance(raw[k], file): import os files[k] = (os.path.split(raw[k].name)[1], raw[k]) del raw[k] rsp = requests.post(url, data=raw, files=files, proxies=self.__proxies, timeout=self.__timeout) value = rsp.json() if value['ok'] is not True: m = Error() m._from_raw(value) raise m if method._response: m = method._response() m._from_raw(value['result']) return m elif isinstance(value['result'], Iterable): updates = [] update_id = None for result in value['result']: updates.append(Type._new(result)) update_id = max(update_id, result['update_id']) return updates, update_id raise ValueError("Unhandled message from server: %s" % value)
def post(self, method): url = self.__method_url(method._name) raw = method._to_raw() files = {} for k in raw.keys(): if isinstance(raw[k], file): import os files[k] = (os.path.split(raw[k].name)[1], raw[k]) del raw[k] rsp = requests.post(url, data=raw, files=files, proxies=self.__proxies, timeout=self.__timeout) value = rsp.json() if value["ok"] is not True: m = Error() m._from_raw(value) raise m if method._response: m = method._response() m._from_raw(value["result"]) return m elif isinstance(value["result"], Iterable): updates = [] update_id = None for result in value["result"]: updates.append(Type._new(result)) update_id = max(update_id, result["update_id"]) return updates, update_id raise ValueError("Unhandled message from server: %s" % value)
def post(self, method): url = self.__method_url(method._name) raw = method._to_raw() rsp = requests.post(url, data=raw, proxies=self.__proxies) value = rsp.json() if value['ok'] == True: return Type._new(value['result'], type=type) print value
def test_update_new(self): res = json.loads(_update_rsp)['result'][0] m = Type._new(res) res = res['message'] self.assertEqual(m.date, res['date']) self.assertEqual(m.From.username, res['from']['username']) r = m._to_raw() self.assertEquals(res, r)
def test_new_with_extra(self): res = json.loads(_update_rsp)['result'][0] res['message']['foo'] = 'bar' value = Type._new(res) self.assertEquals(value._from_raw_dropped(), {'foo': 'bar'})
def test_new(self): res = json.loads(_update_rsp)['result'][0] m = Type._new(res) m._to_raw()