示例#1
0
    async def test_islice_bad_range(self):
        with self.assertRaisesRegex(ValueError, "must pass stop index"):
            async for _ in ait.islice([1, 2]):
                pass

        with self.assertRaisesRegex(ValueError, "too many arguments"):
            async for _ in ait.islice([1, 2], 1, 2, 3, 4):
                pass
    async def command__on_message(self, ctx: commands.Context, *,
                                  message_content):
        # Check if not myself or user not a bot
        if ctx.author == self.bot.user or ctx.author.bot:
            return

        smiley_names_generator = iter_unique_values(
            (self.get_smiley_name(
                self.get_emoji_name_from_unicode(emoji_unicode))
             for emoji_unicode in iterate_emojis_in_string(message_content)))

        smiley_emojis_generator = (self.get_smiley_reaction_emoji(smiley_name)
                                   for smiley_name in smiley_names_generator)

        smiley_emojis = await aiolist(
            islice(
                (smiley_emoji
                 for smiley_emoji in smiley_emojis_generator if smiley_emoji),
                await self.db.Setting("max_smileys", ctx.guild.id,
                                      ctx.channel.id).read()))

        # Check if there any emojis in message
        if not smiley_emojis:
            await self.react_to_words(ctx)
            return

        await self.send_smileys_based_on_mode(ctx, smiley_emojis)
示例#3
0
    async def test_islice_gen_start_stop(self):
        async def gen():
            yield 1
            yield 2
            yield 3
            yield 4

        it = ait.islice(gen(), 1, 3)
        for k in [2, 3]:
            self.assertEqual(await ait.next(it), k)
        with self.assertRaises(StopAsyncIteration):
            await ait.next(it)
示例#4
0
    async def test_islice_gen_start_stop_step(self):
        async def gen():
            yield 1
            yield 2
            yield 3
            yield 4

        gen_it = gen()
        it = ait.islice(gen_it, 1, 3, 2)
        for k in [2]:
            self.assertEqual(await ait.next(it), k)
        with self.assertRaises(StopAsyncIteration):
            await ait.next(it)
        assert await ait.list(gen_it) == [4]
示例#5
0
 async def _func(it):
     it = aioitertools.iter(it)
     # islice takes start, stop
     async for i in aioitertools.islice(it, query.skip, None):
         yield i
示例#6
0
 async def _func(it):
     it = aioitertools.iter(it)
     # islice takes start, stop
     async for i in aioitertools.islice(it, 0, query._count):
         yield i
示例#7
0
文件: jade.py 项目: sleepdefic1t/Jade
 async def _read_impl(self, n):
     assert self.inputstream is not None
     return bytes([b async for b in
                  aioitertools.islice(self.inputstream, n)])
示例#8
0
 async def test_islice_range_start_stop_step(self):
     it = ait.islice(srange, 1, 3, 2)
     for k in [2]:
         self.assertEqual(await ait.next(it), k)
     with self.assertRaises(StopAsyncIteration):
         await ait.next(it)
示例#9
0
 async def test_islice_stop_zero(self):
     values = []
     async for value in ait.islice(range(5), 0):
         values.append(value)
     self.assertEqual(values, [])