2010-08-06 98 views
4

我一直在尝试将RESTful Web API(例如CouchDB,Twitter)表示为文件系统 - 只是为了获得乐趣和学习体验。但是,我不知道这是否可行或如何开始。Web API作为虚拟文件系统?

例如,像http://example.org/foo/bar这样的资源可以通过/mnt/example.org/foo/bar访问。我想ls /mnt/example.org/foo将返回bar baz

虽然我知道FUSE,我真的不知道什么它。不是低级别的程序员,我想知道是否有某种Python API,或者我可以简单地编写一些Bash脚本来触发对文件系统查询的请求curl

任何指针将不胜感激!

回答

5

这个标准称为WebDAV。请参阅:http://webdav.org

甚至还有它的保险丝司机:http://savannah.nongnu.org/projects/davfs2

查看源代码,似乎davfs2是用C写这可能是一个有趣的项目重新实现它在Python或Perl。


啊,从评论我看你想要的是如何写一个FUSE模块的指针。当然,你写TwitterFS的想法是可行的。它可能会像/ proc中的东西一样工作。

用于实现保险丝的Perl库有相当详细的文档:CPAN - Fuse。您只需加载模块并实现相关的回调函数。看起来很容易。

这是一个Python FUSE库:fusepy。这不是很好的文件,但有几个例子包括功能SFTP文件系统。

+0

谢谢 - 我知道WebDAV,但目前无法完全了解它是如何相关的(可能是由于无知),或者我将如何开始。澄清:我只控制客户端,所以无法在服务器上安装任何WebDAV模块。将做更多的研究... – AnC 2010-08-06 13:59:25

+0

谢谢,融合可能正是我所需要的 - 将有一个戏... – AnC 2010-08-06 19:08:57