有了前天关于photo/video backend的思考,决定用flickr作为我 新blog的所有媒体文件的backend. 昨天找到了支持live writter图像文件上传得API, 今天的任务就是来实现这个flickr backend.
显然不需要重新发明轮子, 早晨打开信箱,KJ同学赠送了他已经实现的部分flickr代码(严重感谢!),同时上班休息之间看了看flickr API,尤其是web auth部分的设计。 晚上继续搜索和评估了几个python flickr api实现,锁定选择了这个lib (http://flickrapi.sourceforge.net/). 其他两个看的lib是: http://pypi.python.org/pypi/Flickr.API/ 和 http://code.google.com/p/flickrpy/, 没有选择他们的原因是他们实现得没有第一个完整, 第一个已经存在好几年而且作者还在更新,功能也较全些,所以选择了它。 不过它的一些数据比较原始, 不如flickrpy那么好用,我可能要参考flickpy改进下。
显然这些lib直接拿到GAE是不能用的,基本上这些不能用的原因只有一个, 就是GAE要用urlfetch, 而这些库用urllib, urllib2. 我不理解为什么GAE不提供着两个lib的wrapper? 已经有很多人哭喊着希望支持,民间的实现也有若干个版本,不知道为什么google不理会? anyway, 这类的patch我已经在S3 lib, Twitter lib中干过所以很快patch 好了。不过这样patch毕竟不太理想,希望google能在未来版本中改进。
用flickr作backend而不用S3的原因很简单, flickr更高层, 免去了很多相册的实现, 而且flickr的pro版一年才20多$, unlimited space, unlimite traffic, 呵呵s3相比要贵多了。 不用GAE的原因是类似的,何况现在GAE还有文件大小,总大小的限制。
今天只是初步实现和验证了其可行性, 这个周末还要进一步实现, 然后我就可以把数据彻底从这个blog中导入了。
附上几张俺的程序upload的我家的照片…
我家所在的社区
我的工作间
Share This