def __init__(self, *args, **kw): Fuse.__init__(self, *args, **kw) self.backend = CsvBackend('mysql://*****:*****@localhost/')
class SQLFS(Fuse): """ Sql to filesystem mapper. """ backend = None def __init__(self, *args, **kw): Fuse.__init__(self, *args, **kw) self.backend = CsvBackend('mysql://*****:*****@localhost/') def getattr(self, path): """ """ return self.backend.getattr(path) def readdir(self, path, offset): """ return: [[('file1', 0), ('file2', 0), ... ]] """ return self.backend.readdir(path,offset) def read ( self, path, length, offset ): print '*** read', path, length, offset return self.backend.read(path, length, offset) def write ( self, path, buf, offset ): print '*** write', path, buf, offset return self.backend.write(path,buf,offset) def statfs ( self ): st = MyStatVfs() print '*** statfs' return st #-errno.ENOSYS def mythread ( self ): print '*** mythread' return -errno.ENOSYS def chmod ( self, path, mode ): print '*** chmod', path, oct(mode) return -errno.ENOSYS def chown ( self, path, uid, gid ): print '*** chown', path, uid, gid return -errno.ENOSYS def fsync ( self, path, isFsyncFile ): print '*** fsync', path, isFsyncFile return -errno.ENOSYS def link ( self, targetPath, linkPath ): print '*** link', targetPath, linkPath return -errno.ENOSYS def mkdir ( self, path, mode ): print '*** mkdir', path, oct(mode) return -errno.ENOSYS def mknod ( self, path, mode, dev ): return self.backend.mknod(path,mode,dev) def open ( self, path, flags ): print '*** open', path, flags #return -errno.ENOSYS def readlink ( self, path ): print '*** readlink', path return -errno.ENOSYS def release ( self, path, flags ): print '*** release', path, flags return -errno.ENOSYS def rename ( self, oldPath, newPath ): print '*** rename', oldPath, newPath return -errno.ENOSYS def rmdir ( self, path ): print '*** rmdir', path return -errno.ENOSYS def symlink ( self, targetPath, linkPath ): print '*** symlink', targetPath, linkPath return -errno.ENOSYS def truncate ( self, path, size ): print '*** truncate', path, size #return -errno.ENOSYS pass def unlink ( self, path ): print '*** unlink', path return -errno.ENOSYS def utime ( self, path, times ): print '*** utime', path, times return -errno.ENOSYS