2010-08-06 6 views
4

Je me suis mis à l'idée de représenter les API Web RESTful (par exemple CouchDB, Twitter) comme un système de fichiers - juste pour le plaisir et comme une expérience d'apprentissage. Cependant, je n'ai aucune idée si c'est faisable ou comment commencer.API Web comme système de fichiers virtuel?

Par exemple, une ressource telle que http://example.org/foo/bar peut être accessible via /mnt/example.org/foo/bar. J'imagine ls /mnt/example.org/foo renverrait bar baz.

Même si je sais deFUSE, je ne sais pas vraiment quoi que ce soit au sujet il. N'étant pas un programmeur de bas niveau, je me demande s'il existe une sorte d'API Python, ou peut-être que je pourrais simplement écrire un script Bash pour déclencher des requêtes curl pour des requêtes de système de fichiers?

Tous les pointeurs seraient grandement appréciés!

Répondre

5

La norme pour cela s'appelle WebDAV. Voir: http://webdav.org

Il y a même un pilote FUSE pour elle: http://savannah.nongnu.org/projects/davfs2

En regardant le code source, il semble que davfs2 est écrit en C. Il pourrait être un projet amusant réimplémenter en Python ou Perl. Ah, à partir des commentaires, je vois ce que vous voulez, ce sont des pointeurs sur la façon d'écrire un module FUSE. Bien sûr, votre idée d'écrire quelque chose comme TwitterFS est réalisable. Cela fonctionnerait probablement comme le truc dans/proc.

La bibliothèque Perl pour implémenter le fusible est assez bien documentée: CPAN - Fuse. Tout ce dont vous avez besoin est de charger le module et d'implémenter les fonctions de rappel correspondantes. Ça a l'air assez facile.

Voici une bibliothèque FUSE Python: fusepy. Ce n'est pas aussi bien documenté mais il y a plusieurs exemples donnés incluant un système de fichiers sftp fonctionnel.

+0

Merci - Je connais WebDAV, mais je n'arrive pas à voir comment c'est lié (probablement à cause de l'ignorance) ou comment je pourrais commencer. Pour clarifier: Je ne contrôle que le client, donc je ne peux pas installer de modules WebDAV sur le serveur. Fera plus de recherche ... – AnC

+0

Merci, fusepy pourrait être exactement ce dont j'ai besoin - aura une pièce de théâtre ... – AnC

Questions connexes