Domanda

Ho accarezzato l'idea di rappresentare API RESTful web (ad esempio CouchDB, Twitter) come un file system - solo per divertimento e come esperienza di apprendimento. Tuttavia, non ho idea se questo è fattibile o come iniziare.

Per esempio, una risorsa come http://example.org/foo/bar potrebbe essere accessibile via /mnt/example.org/foo/bar . Immagino ls /mnt/example.org/foo sarebbe tornato bar baz.

Anche se so di FUSE , io in realtà non sapere nulla su di esso. Non essendo un programmatore di basso livello, mi chiedo se ci sia una sorta di Python API, o forse si potrebbe semplicemente scrivere qualche script Bash alle richieste di attivazione curl per le query del file system?

Tutti gli indicatori sarebbe molto apprezzato!

È stato utile?

Soluzione

Lo standard per questo si chiama WebDAV. Vedere: http://webdav.org

C'è anche un driver FUSE per esso: http://savannah.nongnu.org/projects/ davfs2

Guardando il codice sorgente sembra che davfs2 è scritto in C. Potrebbe essere un progetto divertente re-implementazione in Python o Perl.


Ah, dai commenti che vedo quello che volete sono indicazioni su come scrivere un modulo FUSE. Certo, la vostra idea di scrivere qualcosa di simile TwitterFS è fattibile. E 'probabilmente funzionerebbe come la roba in proc /.

La libreria Perl per l'attuazione del fusibile è abbastanza ben documentato: CPAN - fusibile . Tutto ciò che serve è quella di caricare il modulo e implementare le funzioni di callback rilevanti. Sembra abbastanza facile.

Ecco una libreria Python FUSE: fusepy . Non è così ben documentato, ma ci sono diversi esempi tra cui un filesystem SFTP funzionale.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top