Sketchfab客户端
sketchfab的Python项目详细描述
Sketchfab API客户端
入门
安装模块:
pip3 install sketchfab
使用CLI
^{pr2}$使用lib
此代码为每个集合创建一个目录,并将所有模型放入其中。在
importosimportsketchfabsfc=sketchfab.Client('YOUR-API-KEY')forcinsfc.collections():print("Collection:",c)col_dir=os.path.join("download",c.name)os.makedirs(col_dir,exist_ok=True)forminc.models():model_dir=os.path.join(col_dir,m.name)print(f" Model: {m.name} ({model_dir})")ifnotos.path.exists(model_dir):os.rename(m.download_to_dir(),model_dir)
会给你这样的感觉:
Collection: Collection{empty collection} Collection: Collection{housing-updates} Model: tableKitchen80x200 (download/housing-updates/tableKitchen80x200) Model: kitchenModSink120x65x210 (download/housing-updates/kitchenModSink120x65x210) Model: kitchenModSink60x65x90 (download/housing-updates/kitchenModSink60x65x90) Model: kitchenModFridge60x65x210 (download/housing-updates/kitchenModFridge60x65x210) Model: kitchenModCorner65x65x210 (download/housing-updates/kitchenModCorner65x65x210) Model: kitchenModBasic10x65x90 (download/housing-updates/kitchenModBasic10x65x90) Model: kitchenModWasher60x65x210 (download/housing-updates/kitchenModWasher60x65x210) Model: kitchenModSink60x65x210 (download/housing-updates/kitchenModSink60x65x210) Model: kitchenModBasic20x65x210 (download/housing-updates/kitchenModBasic20x65x210) Model: washbasin120x60 (download/housing-updates/washbasin120x60) Model: kitchenModWasher60x65x90 (download/housing-updates/kitchenModWasher60x65x90) Model: bedDouble140x200-2 (download/housing-updates/bedDouble140x200-2) Model: simpleBed90x200 (download/housing-updates/simpleBed90x200) Model: wcFloor70x40 (download/housing-updates/wcFloor70x40) Model: kitchenModBasic60x65x90 (download/housing-updates/kitchenModBasic60x65x90) Model: kitchenModDishWasher60x65x90 (download/housing-updates/kitchenModDishWasher60x65x90) Model: kitchenModSink120x65x90 (download/housing-updates/kitchenModSink120x65x90) Model: kitchenModStove60x65x210 (download/housing-updates/kitchenModStove60x65x210) Model: kitchenModStove60x65x90 (download/housing-updates/kitchenModStove60x65x90) Model: washbasin60x60 (download/housing-updates/washbasin60x60) Model: tableKitchen80x140 (download/housing-updates/tableKitchen80x140) Model: shower90x90 (download/housing-updates/shower90x90) Model: kitchenModDishWasher60x65x210 (download/housing-updates/kitchenModDishWasher60x65x210) Model: kitchenModBasic10x65x210 (download/housing-updates/kitchenModBasic10x65x210)
使用docker
$ docker run -e SKETCHFAB_API_TOKEN=XXXXX -ti habx/sketchfab list_collections
Collections are:
2019-10-20 21:12:24,417 Starting new HTTPS connection (1): api.sketchfab.com:443
2019-10-20 21:12:24,762 https://api.sketchfab.com:443 "GET /v3/me/collections HTTP/1.1" 200 None
- Collection 1
- Collection 2
为什么
- 我找不到
- sample codes from the sketchfab website几乎无法使用
选择
- API的设计尽可能简单易用
已知问题
- 在
代码可能不是最优雅的。我对你能给我的任何反馈都很感兴趣。在
在 - 在
官方的基于swagger的文档没有尊重API的行为。因此,您可能会发现:
- 库强制执行一些奇怪的规则(比如创建模型时传递模型)
- 库没有正确使用API(比如通过搜索列出集合的模型)
在这两种情况下,我都是通过反复试验才发现如何使用API的。如果你找到更好的方法 我很感兴趣。在
在 - 在
这个列表不能处理长列表(它需要重新实现为一个iterable调用listingapi)
在 - 在
CLI在这个阶段几乎是无用的
在
缺少API
您可以提交请求或要求我实现您需要的、可能丢失的任何功能。在
- 项目
标签: