aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFulgen301 <tokmajigeorge@gmail.com>2018-06-12 20:42:19 +0200
committerFulgen301 <tokmajigeorge@gmail.com>2018-06-12 20:42:19 +0200
commit3082a7aa103b5f68a5a8fe1092b789f84f52266f (patch)
tree1208d213b140a61a182ffa9ad31d6625edc2fc2d
parent97b566f9df25e5738b189ebfc19a4b252a3fa1fd (diff)
downloadlcfs-master.tar.gz
lcfs-master.zip
Fix lcmodfsHEADmaster
-rw-r--r--base.py6
-rwxr-xr-xlcmodfs.py31
2 files changed, 15 insertions, 22 deletions
diff --git a/base.py b/base.py
index 80d1990..faadc6b 100644
--- a/base.py
+++ b/base.py
@@ -12,9 +12,12 @@
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-import os, llfuse, errno, stat
+import os, errno, stat
+import llfuse
+
class LCOperations(llfuse.Operations):
_inode_list = None
+
def __init__(self):
super().__init__()
self._inode_list = [None, None]
@@ -23,6 +26,7 @@ class LCOperations(llfuse.Operations):
entry["parent_inode"] = parent_inode
entry["inode"] = len(self._inode_list)
entry["stat"] = stat.S_IFDIR if is_dir else stat.S_IFREG
+ entry["title"] = entry["title"].replace("/", chr(8260)) #⁄
self._inode_list.append(entry)
def _get_inode_by_parent(self, inode_p):
diff --git a/lcmodfs.py b/lcmodfs.py
index e25c27a..92a1b2d 100755
--- a/lcmodfs.py
+++ b/lcmodfs.py
@@ -13,14 +13,14 @@
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
import os
+from base import *
import sys, pdb
-import llfuse, errno, stat
+import errno, stat
import faulthandler
import requests, threading
sys.path.append("../larryviewer") #FIXME
-sys.path.append("../lc/src") #FIXME
+HAVE_QT = False
from larryviewer import *
-from base import *
faulthandler.enable()
class LCModOperations(LCOperations):
@@ -31,6 +31,7 @@ class LCModOperations(LCOperations):
super().__init__()
self._viewer = v
for i in range(v.ui.lsEntries.count()):
+ e = v.ui.lsEntries.item(i)
self._add_entry(llfuse.ROOT_INODE, v.ui.lsEntries.item(i).larry, True)
def _is_dir(self, inode):
@@ -38,7 +39,6 @@ class LCModOperations(LCOperations):
def opendir(self, inode, ctx=None):
if inode != llfuse.ROOT_INODE:
- print(inode)
try:
self._get_inode_by_parent(inode)
except IndexError:
@@ -59,10 +59,8 @@ class LCModOperations(LCOperations):
if self.getattr(inode).st_mode & stat.S_IFDIR:
raise llfuse.FUSEError(errno.EISDIR)
- print("checking flags")
if flags & os.O_APPEND:
raise llfuse.FUSEError(errno.EROFS)
- print("returning")
return inode
def read(self, inode, off, size):
@@ -72,14 +70,11 @@ class LCModOperations(LCOperations):
except Exception as e:
print(e)
raise llfuse.FUSEError(errno.EREMOTEIO) from e
- print(r, off, size)
if not r:
raise llfuse.FUSEError(errno.EREMOTEIO)
elif r.status_code == 206:
- print("partial content", r.headers["Content-Length"])
- b = r.raw.read(size)
- return b
+ return r.raw.read(size)
else:
buf = BytesIO()
@@ -94,18 +89,10 @@ class LCModOperations(LCOperations):
buf.seek(i - off)
return buf.read(size)
- #def flush(self, inode):
- #pass
-
- #def close(self, inode):
- #pass
-
- #def release(self, inode):
- #pass
-
+
+
if __name__ == "__main__":
# Usage: ./lcfs.py <mountpoint>
- app = QApplication(sys.argv)
cwd = os.getcwd()
os.chdir("../larryviewer") #FIXME
v = LarryViewer()
@@ -115,11 +102,13 @@ if __name__ == "__main__":
t.join()
fuse_options = set(llfuse.default_options)
fuse_options.add("fsname=lcmodfs")
- fuse_options.add("debug")
+ #fuse_options.add("debug")
fuse_options.discard("default_permissions")
+
op = LCModOperations(v)
llfuse.init(op, sys.argv[1], fuse_options)
try:
+ #threading.Thread(target=findBrokenEntries).start()
llfuse.main(workers=1)
except:
llfuse.close(unmount=True)