treehole
A simple interface to PKU Hole
亮点
- 简单易用
- 文档齐全
- token 登陆
- Python 3.6+
- 支持异步请求
- 自动处理图像 url
- 所有树洞数据模型均已封装为数据类
- 涵盖(几乎?)所有暴露给用户的业务逻辑
快速上手
from treehole import TreeHoleClient
client = TreeHoleClient("your token")
hole = client.get_hole("hole ID")
print(hole)
使用
from treehole import TreeHoleClient
# 使用 token 认证
client = TreeHoleClient(token=<Your Token>)
# 使用 IAAA 账号认证
client = TreeHoleClient(uid=<UID>, password=<Password>)
# 获取单个树洞
hole = client.get_hole(<Hole ID>)
# 获取树洞评论
comments = client.get_comment(<Hole ID>)
# 获取首页树洞列表
holes = client.get_holes(<Page Num>)
# 获取关注树洞列表
holes = client.get_followed(<Page Num>)
# 切换关注状态
success, status = client.post_toggle_followed(<Hole ID>)
# 发布树洞
success = client.post_hole(<Text>, <Image File>)
# 发布评论
success = client.post_comment(<Hole ID>, <Text>, <Reply To>)
# 举报树洞 (!!!!!! 请勿轻易尝试)
success = client.post_report(<Hole ID>, <Reason>)
Roadmap
- 支持新版树洞
- 支持 IAAA 账号登陆
- 树洞数据模型
- 客户端封装
- 获取单个树洞
- 获取首页树洞
- 获取关注树洞
- 获取树洞回复
- 关注/取关树洞
- 回复树洞
- 发布树洞
- 举报树洞
- 支持异步处理
- 支持自定义加载长度
- 更多功能待补充 ...
1""" 2A simple interface to PKU Hole 3 4[View in GitHub](https://github.com/TeddyHuang-00/pyTreeHole) 5 6## 亮点 7 8- 简单易用 9- 文档齐全 10- token 登陆 11- Python 3.6+ 12- 支持异步请求 13- 自动处理图像 url 14- 所有树洞数据模型均已封装为数据类 15- 涵盖(几乎?)所有暴露给用户的业务逻辑 16 17## 快速上手 18 19```py 20from treehole import TreeHoleClient 21 22client = TreeHoleClient("your token") 23hole = client.get_hole("hole ID") 24print(hole) 25``` 26 27## 使用 28 29```python 30from treehole import TreeHoleClient 31 32# 使用 token 认证 33client = TreeHoleClient(token=<Your Token>) 34# 使用 IAAA 账号认证 35client = TreeHoleClient(uid=<UID>, password=<Password>) 36# 获取单个树洞 37hole = client.get_hole(<Hole ID>) 38# 获取树洞评论 39comments = client.get_comment(<Hole ID>) 40# 获取首页树洞列表 41holes = client.get_holes(<Page Num>) 42# 获取关注树洞列表 43holes = client.get_followed(<Page Num>) 44# 切换关注状态 45success, status = client.post_toggle_followed(<Hole ID>) 46# 发布树洞 47success = client.post_hole(<Text>, <Image File>) 48# 发布评论 49success = client.post_comment(<Hole ID>, <Text>, <Reply To>) 50# 举报树洞 (!!!!!! 请勿轻易尝试) 51success = client.post_report(<Hole ID>, <Reason>) 52``` 53 54## Roadmap 55 56- [x] 支持新版树洞 57- [x] 支持 IAAA 账号登陆 58- [x] 树洞数据模型 59- [x] 客户端封装 60- [x] 获取单个树洞 61- [x] 获取首页树洞 62- [x] 获取关注树洞 63- [x] 获取树洞回复 64- [x] 关注/取关树洞 65- [x] 回复树洞 66- [x] 发布树洞 67- [x] 举报树洞 68- [x] 支持异步处理 69- [x] 支持自定义加载长度 70- [ ] 更多功能待补充 ... 71""" 72 73try: 74 from importlib.metadata import PackageNotFoundError, version # novm 75except ImportError: # Fallback for Python < 3.8 76 from importlib_metadata import PackageNotFoundError, version # novm 77 78try: 79 # Change here if project is renamed and does not equal the package name 80 dist_name = "TreeHole" 81 __version__ = version(dist_name) 82except PackageNotFoundError: # pragma: no cover 83 __version__ = "unknown" 84finally: 85 del version, PackageNotFoundError 86 87from .client import * 88from .models import *