コード例 #1
0
    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)
コード例 #2
0
    def test_type(self):
        cls = Type._type('message')
        self.assertTrue(issubclass(cls, Type))
        self.assertTrue(issubclass(cls, Message))

        m = cls()
        self.assertTrue(isinstance(m, Message))
コード例 #3
0
ファイル: basic.py プロジェクト: miragshin/pyTelegramBotAPI
    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)
コード例 #4
0
    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)
コード例 #5
0
ファイル: basic.py プロジェクト: apasni/pyTelegramBotAPI
    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)
コード例 #6
0
    def test_type(self):
        cls = Type._type('message')
        self.assertTrue(issubclass(cls, Type))
        self.assertTrue(issubclass(cls, Message))

        m = cls()
        self.assertTrue(isinstance(m, Message))
コード例 #7
0
 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
コード例 #8
0
ファイル: field.py プロジェクト: 3cky/pyTelegramBotAPI
 def load(t):
     from TelegramBotAPI.types.type import Type
     if isinstance(t, str):
         return Type._type(t)
     if isinstance(t, list):
         assert all([issubclass(el, Type) for el in t])
     else:
         assert issubclass(t, Type)
     return t
コード例 #9
0
    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)
コード例 #10
0
    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)
コード例 #11
0
 def load(t):
     from TelegramBotAPI.types.type import Type
     if isinstance(t, str):
         return Type._type(t)
     assert issubclass(t, Type)
     return t
コード例 #12
0
 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'})
コード例 #13
0
 def test_new(self):
     res = json.loads(_update_rsp)['result'][0]
     m = Type._new(res)
     m._to_raw()
コード例 #14
0
ファイル: field.py プロジェクト: apasni/pyTelegramBotAPI
 def load(t):
     if isinstance(t, basestring):
         return Type._type(t)
     assert issubclass(t, Type)
     return t
コード例 #15
0
 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'})
コード例 #16
0
 def test_new(self):
     res = json.loads(_update_rsp)['result'][0]
     m = Type._new(res)
     m._to_raw()
コード例 #17
0
 def load(t):
     from TelegramBotAPI.types.type import Type
     if isinstance(t, str):
         return Type._type(t)
     assert issubclass(t, Type)
     return t
コード例 #18
0
ファイル: field.py プロジェクト: miragshin/pyTelegramBotAPI
 def load(t):
     if isinstance(t, basestring):
         return Type._type(t)
     assert issubclass(t, Type)
     return t