Size: 1336
Comment:
|
Size: 1353
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 12: | Line 12: |
* An existing work in Python is [http://download.ikaaro.org/doc/itools/ itools.vfs]. Work on filesystem virtualisation should also take into account the existing urllib/urllib2 modules (and improvements - see CleanupUrlLibProject) along with other packages which provide file-like and os/os.path-like interfaces, notably [http://ftputil.sschwarzer.net/ ftputil]. -- PaulBoddie | * An existing work in Python is [http://download.ikaaro.org/doc/itools/Chapter--VFS.html itools.vfs]. Work on filesystem virtualisation should also take into account the existing urllib/urllib2 modules (and improvements - see CleanupUrlLibProject) along with other packages which provide file-like and os/os.path-like interfaces, notably [http://ftputil.sschwarzer.net/ ftputil]. -- PaulBoddie |
Note: this idea was originally written for SoC 2005. Since then [http://www.python.org/dev/peps/pep-0355/ PEP 355] was written, which describes an interface for a path object. This should serve as the basis for any implementation.
There are several object-oriented ways to access filesystems in Python, though none have reached a critical mass of popularity. Two instances are [http://codespeak.net/py/current/doc/ py.local] and [http://www.jorendorff.com/articles/python/path/ path].
Given that OO interface, you can create objects that look like filesystems but access other resources, like WebDAV servers, databases, etc. py.local contains an implementation that accesses a svn repository.
One of these could be extended, or a generic interface for filesystems could be developed alongside several functional implementations of that interface.
- Take a look at Tcl's virtual file system for some inspiration. -- Brett Cannon
An existing work in Python is [http://download.ikaaro.org/doc/itools/Chapter--VFS.html itools.vfs]. Work on filesystem virtualisation should also take into account the existing urllib/urllib2 modules (and improvements - see CleanupUrlLibProject) along with other packages which provide file-like and os/os.path-like interfaces, notably [http://ftputil.sschwarzer.net/ ftputil]. -- PaulBoddie