带有django的handle flickr api库。
flickr-pon的Python项目详细描述
这个库提供一个Django Storage用于读写中的Flickr 操作。
Flickr有1个免费的缩略图系统,是一个很好的商店解决方案 原始格式的宽图片并以较小格式检索它们
由于flickr致力于照片/图像,所以它不是一个传统的 对象存储,我们考虑来自同一bucket中所有用户的所有图片,但是 不同的目录。那么其他存储上的目录路径应该是什么 将是此项中的用户ID。
安装
经典:
pip install flickr-pony
或:
git clone https://github.com/ZuluPro/flickr-pony.git cd flickr-pony python setup.py develop
不需要在settings.FLICKR_STORAGE_OPTIONS中包含数据,并且 设置说明如下。
设置
可以在实例化时使用以下参数配置存储,或者 通过在settings.py中设置名为FLICKR_STORAGE_OPTIONS的字典。
api_key:可在 https://www.flickr.com/services/apps/create/apply/,这是唯一一个 读取操作的必需数据。
api_secret:用api密钥给定
oauth_token_secret:oauth访问令牌,而不是请求令牌
oauth_token_secret:oauth访问令牌机密,而不是请求机密
用户id:您的个人用户id,可以在flickr网页上找到。 这是url示例的最后一部分:140893176@N07。这些数据很有用 如果要自动执行与此用户相关的操作。
- 信息
- 获取所有身份验证信息可能会很长很无聊,我们建议您 本页http://acme.com/flickr/authmap.html
用法
此存储有一个简单的用法,如django storage api和其他api中所定义的 使用图片更容易播放的方法。您可以使用以下选项列出用户的照片:
>>> from flickr_pony.storage import FlickrStorage >>> storage = FlickrStorage(api_key="myApiKey") >>> storage.listdir('140893176@N07') ([], ['https://farm2.staticflickr.com/1586/25309081103_518e989396_o.jpg', 'https://farm2.staticflickr.com/1623/25911906696_84c8cf31ae_o.jpg', 'https://farm2.staticflickr.com/1617/25637193860_98a08d224f_o.jpg', ... 'https://farm2.staticflickr.com/1671/25794942526_5b54c8a908_o.jpg', 'https://farm2.staticflickr.com/1653/25820730145_4040532d03_o.jpg'])
如果你被允许的话,它会返回原始图像,但也可能是 对于某些用途来说很重,因此可以使用decise以“中等”格式获取:
>>> storage.listdir('140893176@N07', original=False) ([], ['https://farm2.staticflickr.com/1586/25309081103_d132f2fa3f.jpg', ... 'https://farm2.staticflickr.com/1623/25911906696_cee21c32be.jpg', 'https://farm2.staticflickr.com/1653/25820730145_ef8db88e60.jpg'])
或“小”尺寸:
>>> storage.listdir('140893176@N07', original=False, size='s') ([], ['https://farm2.staticflickr.com/1586/25309081103_d132f2fa3f.jpg', ... 'https://farm2.staticflickr.com/1623/25911906696_cee21c32be.jpg', 'https://farm2.staticflickr.com/1653/25820730145_ef8db88e60.jpg'])
对于图像库,您还可以决定列出原始图像和缩略图:
>>> storage.list_image_and_thumb() [('https://farm2.staticflickr.com/1586/25309081103_d132f2fa3f.jpg', 'https://farm2.staticflickr.com/1586/25309081103_518e989396_o.jpg'), ... ('https://farm2.staticflickr.com/1623/25911906696_cee21c32be.jpg', 'https://farm2.staticflickr.com/1623/25911906696_84c8cf31ae_o.jpg')]
可上传和删除:
>>> from django.core.files import File >>> with open('myPic', 'rb') as img: ... storage.save('picName', img) '25839776716' >>> storage.delete('25839776716')
演示
演示项目可供测试和尝试使用:
git clone https://github.com/ZuluPro/flickr-pony-demo cd flickr-pony-demo pip install requirements.txt cd demo_project export FLICKR_API_KEY="YourFlickrApiKey" # Mandatory # export FLICKR_USER_ID="YourFlickrUserId" ./manage runserver
您也可以在heroku上部署它:
贡献
所有的贡献都是非常受欢迎的,命题,问题,错误和 使用GitHub issues系统跟踪增强并提交修补程序 通过pull requests。