Fluidinfo的RESTful API的轻量级包装器
项目描述
关于
这是Fluidinfo RESTful API之上的一个非常轻量级的包装器。Fluidinfo是一个开放可写的物联网平台。更多关于Fluidinfo的信息可以在这里找到
RESTful API在这里描述
最初基于Seo Sanghyeon在此处的工作
http://bitbucket.org/sanxiyn/fluidfs
此模块由Nicholas Tollervey(http://ntoll.org)提取、扩展,并添加了单元测试
使用方法
一个快速示例是一个很好的介绍
$ python Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56) [GCC 4.4.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import fluidinfo >>> fluidinfo.instance 'https://fluiddb.fluidinfo.com' >>> fluidinfo.login('username', 'password') >>> fluidinfo.call('GET', '/users/test') ({'status': '200', 'content-length': '62', 'content-location': 'https://fluiddb.fluidinfo.com/users/test', 'server': 'nginx/0.7.65', 'connection': 'keep-alive', 'cache-control': 'no-cache', 'date': 'Fri, 03 Dec 2010 17:07:34 GMT', 'content-type': 'application/json'}, {u'name': u'test', u'id': u'8cc64c7d-a155-4246-ab2b-564f87fd9222'})
只需导入fluidinfo即可开始。fluidinfo.instance变量指示模块正在使用哪个Fluidinfo实例(默认为主实例)。请使用fluidinfo.MAIN和fluidinfo.SANDBOX“常量”来更改实例
>>> fluidinfo.SANDBOX 'https://sandbox.fluidinfo.com' >>> fluidinfo.instance = fluiddb.SANDBOX >>> fluidinfo.MAIN 'https://fluiddb.fluidinfo.com' >>> fluidinfo.instance = fluiddb.MAIN
使用登录和注销函数进行登录和注销(你期望什么?..?)
>>> fluidinfo.login('username', 'password') >>> fluidinfo.logout()
fluidinfo模块提供的最重要函数是call()。你必须提供至少HTTP方法和路径作为前两个参数
>>> fluidinfo.call('GET', '/users/test') ({'status': '200', 'content-length': '62', 'content-location': 'https://fluiddb.fluidinfo.com/users/test', 'server': 'nginx/0.7.65', 'connection': 'keep-alive', 'cache-control': 'no-cache', 'date': 'Fri, 03 Dec 2010 17:07:34 GMT', 'content-type': 'application/json'}, {u'name': u'test', u'id': u'8cc64c7d-a155-4246-ab2b-564f87fd9222'})
注意call()返回包含两个元素的元组
头部字典
响应内容(如果有)
通常这样做会更好
>>> headers, content = fluidinfo.call('GET', '/users/test')
也可以将路径作为路径元素列表发送
>>> headers, content = fluidinfo.call('GET', ['about','yes/no','test','foo'])
这将确保即使元素中包含像斜杠‘/’这样的问题字符,每个元素也会被正确地进行百分编码(对于能够使用基于“about”的API至关重要)。
如果API涉及向Fluidinfo发送json数据,只需发送相应的Python字典对象,fluidinfo.py会为您适当地进行json序列化。
>>> headers, content = fluidinfo.call('POST', '/objects', body={'about': 'an-example'})
如果body参数不是Python字典,那么您只能对对象进行PUT操作以放置标签-值。在这种情况下,可以设置传递给body的值的MIME类型。
>>> headers, content = fluidinfo.call('PUT', '/about/an-example/test/foo', body='<html><body>Hello, World!</body></html>', mime='text/html')
要发送URI参数,只需将它们作为参数附加到call()方法中。
>>> headers, content = fluidinfo.call('GET', '/permissions/namespaces/test', action='create')
"action = 'create'"参数将被转换为附加到发送到Fluidinfo的URL末尾的"?action=create"。
此外,如果您想向Fluidinfo发送一些自定义头信息(用于测试目的),则可以通过custom_headers参数作为字典提供它们。
>>> headers, content = fluidinfo.call('GET', '/users/test', custom_headers={'Origin': 'http://foo.com'})
最后,如果您想通过/values端点发送查询,则可以通过tags参数提供您想要返回的值的标签列表。
>>> headers, content = fluidinfo.call('GET', '/values', tags=['fluiddb/about', 'twitter.com/users/screen_name'], query='has ntoll/met')
欢迎反馈!
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
fluidinfo.py-1.2.0.zip的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 97b8e17c96683d5f67f4973eff92cb7c2bfe5bd892892d58117078f73f0d4442 |
|
MD5 | fc589fb520a4e2450e09fa637c56751b |
|
BLAKE2b-256 | 7c5421ea4ce54e9fbd0e87880834a48d67e2c25d510179e5addd6a77bbdb0623 |
fluidinfo.py-1.2.0.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 46c3a0cfdf05b834ff998418a8b6bd56ee4809e67b882c361379a6298ab05add |
|
MD5 | 90d965b2fcd24306648c7e145caaf218 |
|
BLAKE2b-256 | 7d0fa69d0666ce3b7542fd8187bcc5a16c34676a3891dce8ff3bf12c767a467d |