Exemple #1
0
def join_array(eval_ctx, value, separator):

    from jinja2.filters import do_join

    if isinstance(value, basestring):
        value = [value]
    return do_join(eval_ctx, value, separator)
Exemple #2
0
def join_array(eval_ctx, value, separator):

    from jinja2.filters import do_join

    if isinstance(value, basestring):
        value = [value]
    return do_join(eval_ctx, value, separator)
Exemple #3
0
async def do_join(eval_ctx, value, d=u'', attribute=None):
    return filters.do_join(eval_ctx, await auto_to_seq(value), d, attribute)
def join_array(eval_ctx, value, separator):
    if isinstance(value, basestring):
        value = [value]
    return do_join(eval_ctx, value, separator)
Exemple #5
0
async def do_join(eval_ctx, value, d=u'', attribute=None):
    return filters.do_join(eval_ctx, await auto_to_seq(value), d, attribute)
Exemple #6
0
def join_array(eval_ctx, value, separator):
    if isinstance(value, basestring):
        value = [value]
    return do_join(eval_ctx, value, separator)
Exemple #7
0
async def do_join(eval_ctx, value, d=u'', attribute=None):
    return filters.do_join(eval_ctx, await
    auto_to_seq(value), d, attribute)

    @asyncfiltervariant(filters.do_list)
    async def do_list(value):
        return await
        auto_to_seq(value)

    @asyncfiltervariant(filters.do_reject)
    async def do_reject(*args, **kwargs):
        return async_select_or_reject(args, kwargs, lambda x: not x, False)

    @asyncfiltervariant(filters.do_rejectattr)
    async def do_rejectattr(*args, **kwargs):
        return async_select_or_reject(args, kwargs, lambda x: not x, True)

    @asyncfiltervariant(filters.do_select)
    async def do_select(*args, **kwargs):
        return async_select_or_reject(args, kwargs, lambda x: x, False)

    @asyncfiltervariant(filters.do_selectattr)
    async def do_selectattr(*args, **kwargs):
        return async_select_or_reject(args, kwargs, lambda x: x, True)

    @asyncfiltervariant(filters.do_map)
    async def do_map(*args, **kwargs):
        seq, func = filters.prepare_map(args, kwargs)
        if seq:
            async for item in auto_aiter(seq):
                yield func(item)

    @asyncfiltervariant(filters.do_sum)
    async def do_sum(environment, iterable, attribute=None, start=0):
        rv = start
        if attribute is not None:
            func = filters.make_attrgetter(environment, attribute)
        else:
            func = lambda x: x
        async for item in auto_aiter(iterable):
            rv += func(item)
        return rv

    @asyncfiltervariant(filters.do_slice)
    async def do_slice(value, slices, fill_with=None):
        return filters.do_slice(await
        auto_to_seq(value), slices, fill_with)


        ASYNC_FILTERS = {
            'first': do_first,
            'groupby': do_groupby,
            'join': do_join,
            'list': do_list,
            # we intentionally do not support do_last because that would be
            # ridiculous
            'reject': do_reject,
            'rejectattr': do_rejectattr,
            'map': do_map,
            'select': do_select,
            'selectattr': do_selectattr,
            'sum': do_sum,
            'slice': do_slice,
        }