为HipChat v2 API的包
项目描述
一个用于HipChat v2 JSON REST API 的Python包。它基于v2的可导航性和自声明。
安装
HypChat可以从PyPI安装
pip install hypchat
或从源安装
python setup.py install
概念
HypChat有两种基本类型:Linker和RestObject。它们不是为了直接实例化而设计的,而是作为其他对象的引用来创建的。
Linker
一个简单的可调用对象,表示一个未关注的引用。
- l.url
该对象指向的URL
- l()
调用一个Linker将执行请求并返回一个RestObject
RestObject
字典的子类,包含用于链接和操作的功能。
链接
作为v2 API的一部分,所有对象都有一个links属性,该属性包含对其他对象的引用。这被用来创建作为属性的Linker对象。
例如,所有对象都有一个名为self的链接。它可以被引用为
obj.self
并且通过调用它执行请求
obj.self()
如果需要标题扩展,只需将待扩展的项目列表作为expand关键字参数传递。
其他操作
许多v2类型定义了额外的类型,例如房间有发消息、设置主题、获取历史记录和邀请用户进入房间的方法。这些方法作为子类的方法实现。完整列表在类型列表中。
时区处理
HypChat通过dateutil模块使用有意识的datetime对象。然而,HipChat API统一使用UTC。
对于接受datetime的方法,如果提供了一个无知的对象,它将被假定为UTC。如果不是这个意思,dateutil.tz提供了一系列时区。
用法
首先,使用令牌创建一个HypChat对象
hc = HypChat("mytoken")
如果您使用Hipchat服务器
hc = HypChat("mytoken", endpoint="https://hipchat.example.com")
有多个根链接
rooms = hc.rooms() users = hc.users() emots = hc.emoticons() caps = hc.capabilities()
此外,HypChat对象有创建对象和直接引用基本类型的方法。
例如,您可能会这样做
for room in (r for r in hipchat.rooms(expand='items') if r['last_active'] < datetime.datetime(2013, 12, 1)): room.owner.message("Your room is dead; maybe archive it")
由于room.owner是一个用户存根,而不仅仅是一个通用对象。(房间对象不是存根,因为使用了expand关键字)。
下载历史记录就像这样简单
list(HypChat(token).get_room(id).history(datetime.datetime.utcnow()).contents())
请注意,这可能消耗大量请求以处理大型房间。
控制台
如果您调用python -m hypchat,将出现一个交互式提示(如果可用,将使用IPython)。环境将包含hipchat,即HypChat对象的实例。令牌从~/.hypchat、/etc/hypchat或环境变量HIPCHAT_TOKEN中提取。
类型列表
请参阅TYPES.rst
待办事项列表
API链接
项目详情
hypchat-0.21.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ef37a9cd8103bb13ad772b28ba9223ca9d4278371e374450c3ea2918df70a8e9 |
|
MD5 | 05df8c682be669f008a43bc79c94e820 |
|
BLAKE2b-256 | b656e0a36bf88faf44eac567a0c785435c8ba73845e5259092bc51942543daf9 |