| 1 | Tahoe-LAFS works with pyFilesystem. It is not officially maintained by Tahoe-LAFS devs, but it works. |
| 2 | |
| 3 | Here is the email that this is based off of: |
| 4 | http://tahoe-lafs.org/pipermail/tahoe-dev/2011-August/006663.html |
| 5 | |
| 6 | 1. Get and install Dokan lib at http://dokan-dev.net/en/download/#dokan |
| 7 | |
| 8 | 2. Get pyfilesystem at http://code.google.com/p/pyfilesystem/downloads/list or do a `pip install fs` and skip to step 4. |
| 9 | |
| 10 | 3. Install pyfilesystem: |
| 11 | {{{ |
| 12 | cmd> python setup.py build |
| 13 | cmd> python setup.py install |
| 14 | }}} |
| 15 | |
| 16 | 4. Verify that pyfilesystem is installed: |
| 17 | {{{ |
| 18 | cmd> python |
| 19 | python>>> import fs |
| 20 | python>>> fs.__version__ |
| 21 | }}} |
| 22 | 5. Mount test/public grid to F:\ letter |
| 23 | {{{ |
| 24 | cmd> python |
| 25 | python>>> from fs.contrib.tahoelafs import TahoeLAFS |
| 26 | python>>> from fs.expose import dokan |
| 27 | python>>> fs = TahoeLAFS('URI:DIR2:ctmtx2awdo4xt77x5xxaz6nyxm:n5t546ddvd6xlv4v6se6sjympbdbvo7orwizuzl42urm73sxazqa') |
| 28 | python>>> mp = dokan.mount(fs, "f", foreground=True) |
| 29 | }}} |
| 30 | |
| 31 | This works fine. I have a slightly different setup since this also works with FUSE. |
| 32 | |
| 33 | On Windows, follow the above steps up to and including step 4. |
| 34 | |
| 35 | On Linux, do a `pip install fs` and make sure fuse is installed. |
| 36 | |
| 37 | Then you can edit this script: |
| 38 | {{{ |
| 39 | #!/usr/bin/env python |
| 40 | |
| 41 | URI='URI:DIR2:ctmtx2awdo4xt77x5xxaz6nyxm:n5t546ddvd6xlv4v6se6sjympbdbvo7orwizuzl42urm73sxazqa' |
| 42 | |
| 43 | import time |
| 44 | from fs.contrib.tahoelafs import TahoeLAFS |
| 45 | |
| 46 | try: |
| 47 | from fs.expose import dokan |
| 48 | fs = TahoeLAFS(URI) |
| 49 | mp = dokan.mount(fs, "f") |
| 50 | |
| 51 | except: |
| 52 | from fs.expose import fuse |
| 53 | fs = TahoeLAFS(URI) |
| 54 | mp = fuse.mount(fs, "/mnt/tahoe") |
| 55 | }}} |
| 56 | |
| 57 | Replace URI with your URI on your grid. The above URI is the test writable URI in the TestGrid. Replace the "f" in |
| 58 | `mp = dokan.mount(fs, "f")` with the Windows drive letter you want to use or replace the "/mnt/tahoe" in `mp = fuse.mount(fs, "/mnt/tahoe")` with the fuse mount point on, I think, all other systems. |
| 59 | |
| 60 | Run the script and it will mount the URI at the specified location. If you want to unmount it, find out where dokanctl.exe is and run it from the command line `dokanctl.exe /u f:`. Sometimes I have to force the unmount on Windows. Use `fusermount -u /mnt/tahoe` on the FUSE systems. |