<div dir="ltr"><div>//I'm having some trouble trying to mount a TahoeLAFS filesystem on Windows, using Dokan and //pyFilesystem and the instructions found at </div><div>//<a href="https://tahoe-lafs.org/trac/tahoe-lafs/wiki/pyFilesystem">https://tahoe-lafs.org/trac/tahoe-lafs/wiki/pyFilesystem</a></div>
<div><br></div><div>//Dokan is v0.6.0 and pyFilesystem v0.4.0, both installed without error, in C:\Program //Files\Dokan\DokanLibrary and c:\fuse\fs-0.4.0 respectively</div><div>//TahoeLAFS is v1.10.0 and at the time of testing this 23 of 157 storage servers were connected</div>
<div><br></div><div>//--------------</div><div><br></div><div>//Here's what I do:</div><div><br></div><div>//Start python:</div><div><br></div><div>python </div><div><br></div><div><br></div><div>python>>> from fs.contrib.tahoelafs import TahoeLAFS   </div>
<div>//no errors</div><div><br></div><div>python>>> from fs.expose import dokan    </div><div>//no errors</div><div><br></div><div>python>>> fs = TahoeLAFS('URI:DIR2:ilhsig36mfsrvtkj6f6dztptwu:2bdkdjowwlmfwcmknfke244onoq3j662gd7z7jqb3l67dw7wipea')   </div>
<div>//still no errors</div><div>//the URI is a known working directory writecap with a single file in the directory</div><div><br></div><div>//Mount the filesystem to Windows drive F:</div><div><br></div><div>python>>> mp = dokan.mount(fs, "f")</div>
<div><br></div><div>//Windows explorer shows a new drive, called Local Disk (F:), the Properties of which shows that //100Gb of free space and 100Gb is used (accurate to the bit)</div><div>//but the drive is not accessible for writing, nor does it show the file that is known to be residing //in it.</div>
<div><br></div><div><br></div><div>//The python console keeps spitting out messages like this:</div><div><br></div><div>Traceback (most recent call last):</div><div>  File "_ctypes/callbacks.c", line 314, in 'calling callback function'</div>
<div>  File "c:\python27\lib\site-packages\fs\expose\dokan\__init__.py", line 256, in</div><div> wrapper</div><div>    return func(self,*args)</div><div>  File "c:\python27\lib\site-packages\fs\expose\dokan\__init__.py", line 173, in</div>
<div> wrapper</div><div>    res = func(*args,**kwds)</div><div>  File "c:\python27\lib\site-packages\fs\errors.py", line 191, in wrapper</div><div>    return func(*args,**kwds)</div><div>  File "c:\python27\lib\site-packages\fs\expose\dokan\__init__.py", line 446, in</div>
<div> OpenDirectory</div><div>    if not self.fs.isdir(path):</div><div>  File "c:\python27\lib\site-packages\fs\remote.py", line 598, in isdir</div><div>    info = self.getinfo(path)</div><div>  File "c:\python27\lib\site-packages\fs\remote.py", line 626, in getinfo</div>
<div>    info = super(CacheFSMixin,self).getinfo(path)</div><div>  File "c:\python27\lib\site-packages\fs\contrib\tahoelafs\__init__.py", line 84</div><div>, in wrapper</div><div>    return func(self, *args, **kwds)</div>
<div>  File "c:\python27\lib\site-packages\fs\contrib\tahoelafs\__init__.py", line 38</div><div>8, in getinfo</div><div>    info = <a href="http://self.tahoeutil.info">self.tahoeutil.info</a>(self.dircap, path)</div>
<div>  File "c:\python27\lib\site-packages\fs\contrib\tahoelafs\util.py", line 47, in</div><div> info</div><div>    meta = json.load(self.connection.get(u'/uri/%s%s' % (dircap, path), {u't': u</div>
<div>'json'}))</div><div>  File "c:\python27\lib\json\__init__.py", line 290, in load</div><div>    **kw)</div><div>  File "c:\python27\lib\json\__init__.py", line 338, in loads</div><div>    return _default_decoder.decode(s)</div>
<div>  File "c:\python27\lib\json\decoder.py", line 365, in decode</div><div>    obj, end = self.raw_decode(s, idx=_w(s, 0).end())</div><div>  File "c:\python27\lib\json\decoder.py", line 383, in raw_decode</div>
<div>    raise ValueError("No JSON object could be decoded")</div><div>ValueError: No JSON object could be decoded</div><div><br></div><div><br></div><div><br></div><div>//What am I doing wrong?</div><div><br></div>
<div>//I should probably mention that my Python skills are negligible</div><div><br></div><div>regards</div><div>Samps</div></div>