Ejemplo n.º 1
0
 def getattr(self, path):
     st = MyStat()
     #if path == '/' or path == '/dist1' or path == '/dist2' or path == '/*':
     #    st.st_mode = stat.S_IFDIR | 0755
     #    st.st_nlink = 2
     #elif path == '/test.txt':
     #    st.st_mode = stat.S_IFREG | 0444
     #    st.st_nlink = 1
     #    st.st_size = len(fuse_txt)
     #else:
     #    return -errno.ENOENT
     
     print "get attr for %s" % path
     is_exist, is_folder, size, link, atime, ctime, mtime = DBManager.query_getattr(path=path)
     if not is_exist:
         return -errno.ENOENT
     st.st_gid = 0
     st.st_uid = 0
     st.st_size = size
     st.st_nlink = link
     st.st_atime = atime
     st.st_ctime = ctime
     st.st_mtime = mtime
     if is_folder:
         st.st_mode = stat.S_IFDIR | 0777
     else:
         st.st_mode = stat.S_IFREG | 0777
     return st
Ejemplo n.º 2
0
 def readdir(self, path, offset):
     os.chdir(self.root)
     persist_names = ['.', '..']
     sub_names = DBManager.query_readdir(path=path)
     sub_names = persist_names + sub_names
     print sub_names
     for r in sub_names:
         yield fuse.Direntry(r)
Ejemplo n.º 3
0
 def __init__(self, path, flags, *mode):
     fmode = flag2mode(flags)
     #if fmode == 'w' or fmode == 'w+':
     #    DBManager.query_open(path_linux_to_windows(path))
     path = DBManager.query_open(path=path)
     self.file = os.fdopen(os.open("." + path, flags, *mode),
                           fmode)
     self.fd = self.file.fileno()
     self.path = path
Ejemplo n.º 4
0
 def write(self, buf, offset):
     self.file.seek(offset)
     self.file.write(buf)
     size = os.path.getsize("." + self.path)
     DBManager.query_write(path_linux_to_windows(self.path), size)
     return len(buf)
Ejemplo n.º 5
0
 def mkdir(self, path, mode):
     DBManager.query_mkdir(path_linux_to_windows(path))
     os.mkdir("." + path, mode)
Ejemplo n.º 6
0
 def rename(self, path, path1):
     DBManager.query_rename(path_linux_to_windows(path),
                            path_linux_to_windows(path1))
     os.rename("." + path, "." + path1)
Ejemplo n.º 7
0
 def rmdir(self, path):
     DBManager.query_rmdir(path=path)
Ejemplo n.º 8
0
 def unlink(self, path):
     DBManager.query_unlink(path=path)