當前位置: 首頁>>代碼示例>>Python>>正文


Python trafaret.List方法代碼示例

本文整理匯總了Python中trafaret.List方法的典型用法代碼示例。如果您正苦於以下問題:Python trafaret.List方法的具體用法?Python trafaret.List怎麽用?Python trafaret.List使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在trafaret的用法示例。


在下文中一共展示了trafaret.List方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: build_field

# 需要導入模塊: import trafaret [as 別名]
# 或者: from trafaret import List [as 別名]
def build_field(key, value, relations=None):
    extra = None
    name = key
    if isinstance(value, t.ToInt):
        v = "number"
    elif isinstance(value, (t.String, t.URL)):
        v = "string"
    elif isinstance(value, t.Email):
        v = "email"
    elif isinstance(value, t.ToFloat):
        v = "float"
    elif isinstance(value, t.Enum):
        v = "choice"
    elif isinstance(value, (t.Dict, t.List)):
        v = "json"
    elif isinstance(value, (t.Bool, t.StrBool)):
        v = "boolean"
    elif isinstance(value, DateTime):
        v = "datetime"
    else:
        v = "string"
    return name, v, extra 
開發者ID:aio-libs,項目名稱:aiohttp_admin,代碼行數:24,代碼來源:layout_utils.py

示例2: document_schema

# 需要導入模塊: import trafaret [as 別名]
# 或者: from trafaret import List [as 別名]
def document_schema():
    choices = ['a', 'b', 'c']
    schema = t.Dict({
        t.Key('_id'): MongoId,
        t.Key('title'): t.String(max_length=200),
        t.Key('category'): t.String(max_length=200),
        t.Key('body'): t.String,
        t.Key('views'): t.ToInt,
        t.Key('average_note'): t.ToFloat,
        # t.Key('pictures'): t.Dict({}).allow_extra('*'),
        t.Key('published_at'): DateTime,
        # t.Key('tags'): t.List(t.Int),
        t.Key('status'): t.Enum(*choices),
        t.Key('visible'): t.ToBool,
    })
    return schema 
開發者ID:aio-libs,項目名稱:aiohttp_admin,代碼行數:18,代碼來源:db_fixtures.py

示例3: test_list

# 需要導入模塊: import trafaret [as 別名]
# 或者: from trafaret import List [as 別名]
def test_list(self):
        res = extract_error(t.List(t.ToInt), 1)
        assert res == 'value is not a list'
        res = t.List(t.ToInt).check([1, 2, 3])
        assert res == [1, 2, 3]
        res = t.List(t.String).check([u"foo", u"bar", u"spam"])
        assert res == [u'foo', u'bar', u'spam']
        res = extract_error(t.List(t.ToInt), [1, 2, 1 + 3j])
        assert res == {2: 'value is not int'}
        res = t.List(t.ToInt, min_length=1).check([1, 2, 3])
        assert res == [1, 2, 3]
        res = extract_error(t.List(t.ToInt, min_length=1), [])
        assert res == 'list length is less than 1'
        res = t.List(t.ToInt, max_length=2).check([1, 2])
        assert res == [1, 2]
        res = extract_error(t.List(t.ToInt, max_length=2), [1, 2, 3])
        assert res == 'list length is greater than 2'
        res = extract_error(t.List(t.ToInt), ["a"])
        assert res == {0: "value can't be converted to int"} 
開發者ID:Deepwalker,項目名稱:trafaret,代碼行數:21,代碼來源:test_base.py

示例4: test_dict

# 需要導入模塊: import trafaret [as 別名]
# 或者: from trafaret import List [as 別名]
def test_dict(self):
        tt = construct({
            'a': int,
            'b': [str],  # test List
            'c': (str, str, 'atom string'),  # test Tuple
            'f': float,  # test float
            't': Decimal,  # test Type
            t.Key('k'): int,  # test Key
        })
        assert tt({
            'a': 5,
            'b': [u'a'],
            'c': [u'v', u'w', 'atom string'],
            'f': 0.1,
            't': Decimal('100'),
            'k': 100,
        }) == {
                'a': 5,
                'b': ['a'],
                'c': (u'v', u'w', 'atom string'),
                'f': 0.1,
                't': Decimal('100'),
                'k': 100,
        } 
開發者ID:Deepwalker,項目名稱:trafaret,代碼行數:26,代碼來源:test_constructor.py

示例5: mutate

# 需要導入模塊: import trafaret [as 別名]
# 或者: from trafaret import List [as 別名]
def mutate(cls, _, info, __):
        logger.debug("agrs %s", info)
        post_schema = t.Dict({
            'title': t.String(min_length=2),
            'user_id': t.String(min_length=2),
            'content': t.String(min_length=2),
            t.Key('tags',
                  optional=True): t.List(t.String,
                                         min_length=1),
        })

        post_data = post_schema.check(info)
        user_id = post_data.pop('user_id')
        user = User.objects.get_or_404(id=user_id)
        post = Post(author=user, **post_data)
        post.save()
        return cls(post=construct(PostField, post)) 
開發者ID:msoedov,項目名稱:flask-graphql-example,代碼行數:19,代碼來源:ql.py

示例6: list_shared_vfolders

# 需要導入模塊: import trafaret [as 別名]
# 或者: from trafaret import List [as 別名]
def list_shared_vfolders(request: web.Request, params: Any) -> web.Response:
    '''
    List shared vfolders.

    Not available for group vfolders.
    '''
    dbpool = request.app['dbpool']
    access_key = request['keypair']['access_key']
    target_vfid = params['vfolder_id']
    log.info('VFOLDER.LIST_SHARED_VFOLDERS (ak:{})', access_key)
    async with dbpool.acquire() as conn:
        j = (vfolder_permissions
             .join(vfolders, vfolders.c.id == vfolder_permissions.c.vfolder)
             .join(users, users.c.uuid == vfolder_permissions.c.user))
        query = (sa.select([vfolder_permissions,
                            vfolders.c.id, vfolders.c.name,
                            users.c.email])
                   .select_from(j)
                   .where((vfolders.c.user == request['user']['uuid'])))
        if target_vfid is not None:
            query = query.where(vfolders.c.id == target_vfid)
        result = await conn.execute(query)
        shared_list = await result.fetchall()
    shared_info = []
    for shared in shared_list:
        shared_info.append({
            'vfolder_id': str(shared.id),
            'vfolder_name': str(shared.name),
            'shared_by': request['user']['email'],
            'shared_to': {
                'uuid': str(shared.user),
                'email': shared.email,
            },
            'perm': shared.permission.value,
        })
    resp = {'shared': shared_info}
    return web.json_response(resp, status=200) 
開發者ID:lablup,項目名稱:backend.ai-manager,代碼行數:39,代碼來源:vfolder.py

示例7: build_trafaret

# 需要導入模塊: import trafaret [as 別名]
# 或者: from trafaret import List [as 別名]
def build_trafaret(sa_type, **kwargs):

    if isinstance(sa_type, sa.sql.sqltypes.Enum):
        trafaret = t.Enum(*sa_type.enums, **kwargs)

    # check for Text should be before String
    elif isinstance(sa_type, sa.sql.sqltypes.Text):
        trafaret = t.String(**kwargs)

    elif isinstance(sa_type, sa.sql.sqltypes.String):
        trafaret = t.String(max_length=sa_type.length, **kwargs)

    elif isinstance(sa_type, sa.sql.sqltypes.Integer):
        trafaret = t.ToInt(**kwargs)

    elif isinstance(sa_type, sa.sql.sqltypes.Float):
        trafaret = t.ToFloat(**kwargs)

    elif isinstance(sa_type, sa.sql.sqltypes.DateTime):
        trafaret = DateTime(**kwargs)  # RFC3339

    elif isinstance(sa_type, sa.sql.sqltypes.Date):
        trafaret = DateTime(**kwargs)  # RFC3339

    elif isinstance(sa_type, sa.sql.sqltypes.Boolean):
        trafaret = t.ToBool(**kwargs)

    # Add PG related JSON and ARRAY
    elif isinstance(sa_type, postgresql.JSON):
        trafaret = AnyDict | t.List(AnyDict)

    # Add PG related JSON and ARRAY
    elif isinstance(sa_type, postgresql.ARRAY):
        item_trafaret = build_trafaret(sa_type.item_type)
        trafaret = t.List(item_trafaret)

    else:
        type_ = str(sa_type)
        msg = 'Validator for type {} not implemented'.format(type_)
        raise NotImplementedError(msg)
    return trafaret 
開發者ID:aio-libs,項目名稱:aiohttp_admin,代碼行數:43,代碼來源:sa_utils.py

示例8: test_list

# 需要導入模塊: import trafaret [as 別名]
# 或者: from trafaret import List [as 別名]
def test_list():
    trafaret = t.List(t.ToInt & check_int)
    res = await (trafaret.async_check(['5']))
    assert res == [5]
    with pytest.raises(t.DataError) as res:
        await trafaret.async_check(['5qwe'])
    assert res.value.as_dict() == {0: "value can't be converted to int"} 
開發者ID:Deepwalker,項目名稱:trafaret,代碼行數:9,代碼來源:test_async.py

示例9: test_forward

# 需要導入模塊: import trafaret [as 別名]
# 或者: from trafaret import List [as 別名]
def test_forward():
    trafaret = t.Forward()
    trafaret << t.List(t.ToInt & check_int)
    res = await (trafaret.async_check(['5']))
    assert res == [5] 
開發者ID:Deepwalker,項目名稱:trafaret,代碼行數:7,代碼來源:test_async.py

示例10: test_list

# 需要導入模塊: import trafaret [as 別名]
# 或者: from trafaret import List [as 別名]
def test_list(self):
        trafaret = t.List(CONTEXT_TRAFARET)
        assert trafaret([123], context=123) == [123] 
開發者ID:Deepwalker,項目名稱:trafaret,代碼行數:5,代碼來源:test_context.py

示例11: test_forward

# 需要導入模塊: import trafaret [as 別名]
# 或者: from trafaret import List [as 別名]
def test_forward(self):
        trafaret = t.Forward()
        trafaret << t.List(CONTEXT_TRAFARET)
        assert trafaret([123], context=123) == [123] 
開發者ID:Deepwalker,項目名稱:trafaret,代碼行數:6,代碼來源:test_context.py

示例12: test_forward

# 需要導入模塊: import trafaret [as 別名]
# 或者: from trafaret import List [as 別名]
def test_forward(self):
        node = t.Forward()
        res = extract_error(node, 'something')
        assert res == 'trafaret not set yet'
        node << t.Dict(name=t.String, children=t.List[node])
        assert node.check({"name": u"foo", "children": []}) == {'children': [], 'name': u'foo'}
        res = extract_error(node, {"name": u"foo", "children": [1]})
        assert res == {'children': {0: 'value is not a dict'}}
        res = node.check({"name": u"foo", "children": [{"name": u"bar", "children": []}]})
        assert res == {'children': [{'children': [], 'name': u'bar'}], 'name': u'foo'}

        with pytest.raises(RuntimeError):  # __rshift__ is not overridden
            node << t.Int() 
開發者ID:Deepwalker,項目名稱:trafaret,代碼行數:15,代碼來源:test_base.py

示例13: test_list_meta

# 需要導入模塊: import trafaret [as 別名]
# 或者: from trafaret import List [as 別名]
def test_list_meta(self):
        with pytest.raises(RuntimeError) as exc_info:
            t.List[1:10]
        assert exc_info.value.args[0] == 'Trafaret is required for List initialization' 
開發者ID:Deepwalker,項目名稱:trafaret,代碼行數:6,代碼來源:test_base.py

示例14: test_2_0_regression

# 需要導入模塊: import trafaret [as 別名]
# 或者: from trafaret import List [as 別名]
def test_2_0_regression(self):
        t_request = t.Dict({
            t.Key('params', optional=True): t.Or(t.List(t.Any()), t.Mapping(t.AnyString(), t.Any())),
        })
        assert t_request.check({'params': {'aaa': 123}}) == {'params': {'aaa': 123}} 
開發者ID:Deepwalker,項目名稱:trafaret,代碼行數:7,代碼來源:test_base.py

示例15: test_list_repr

# 需要導入模塊: import trafaret [as 別名]
# 或者: from trafaret import List [as 別名]
def test_list_repr(self):
        res = t.List(t.ToInt)
        assert repr(res) == '<List(<ToInt>)>'
        res = t.List(t.ToInt, min_length=1)
        assert repr(res) == '<List(min_length=1 | <ToInt>)>'
        res = t.List(t.ToInt, min_length=1, max_length=10)
        assert repr(res) == '<List(min_length=1, max_length=10 | <ToInt>)>'
        res = t.List[t.ToInt]
        assert repr(res) == '<List(<ToInt>)>'
        res = t.List[t.ToInt, 1:]
        assert repr(res) == '<List(min_length=1 | <ToInt>)>'
        res = t.List[:10, t.ToInt]
        assert repr(res) == '<List(max_length=10 | <ToInt>)>' 
開發者ID:Deepwalker,項目名稱:trafaret,代碼行數:15,代碼來源:test_base.py


注:本文中的trafaret.List方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。