PyFilesystem / pyfilesystem

Python filesystem abstraction layer
http://pyfilesystem.org/
BSD 3-Clause "New" or "Revised" License
288 stars 63 forks source link

DropBox support #222

Closed hmeine closed 8 years ago

hmeine commented 9 years ago

It would be nice to see DropBox support as well.

arekbulski commented 8 years ago

Can you point to some open implemenation that allows access into Dropbox hosted files?

hmeine commented 8 years ago

We used this one: https://pypi.python.org/pypi/dropbox Apparently, one would need to register a "pyfilesystem" application first, in order to get an API key.

hmeine commented 8 years ago

(With "we used", I meant in https://github.com/comic/comic-django, not with pyfilesystem yet.)

travcunn commented 8 years ago

Dropbox for pyfilesystem: https://github.com/smartfile/fs-dropbox

hmeine commented 8 years ago

Thanks, interesting. I thought that caching would make more sense as a wrapper (I see you already commented on issue #223 ), but maybe there are aspects to caching that suggest a closer integration into remote filesystems.

travcunn commented 8 years ago

A few months back, I built a caching wrapper for a remote filesystem. One method that was cached was exists(), which would be invalidated after 1 second. This way, if exists() is called a bunch within the same second, it doesn't ask the remote server again.

And what you cache also depends on what the remote filesystem can do.

hmeine commented 8 years ago

Exactly, and the remote fs might even provide some change notification / timestamping / bulk-stat() / similar API. But this is actually guessing, I have no real FS in mind.

hmeine commented 8 years ago

Will dropbox support be merged eventually, and this issue stays open until it is?

arekbulski commented 8 years ago

If that is developed outside of this project then close it.

xmedeko commented 8 years ago

I vote for merging the @travcunn project into PyFilesystem, or please update the doc to include links to the external FS implementations.

jirikuncar commented 8 years ago

We have tried to submit https://github.com/inveniosoftware-attic/invenio-ext/blob/master/invenio_ext/fs/cloudfs/dropboxfs.py to upstream years back.

willmcgugan commented 8 years ago

At some point I will collate these implementations on the website. Dropbox support is fantastic, but I'm trying to make PyFilesystem leaner in terms of dependancies.