Beispiel #1
0
 def __init__(self, *args, **kw):
     Fuse.__init__(self, *args, **kw)
     self.backend = CsvBackend('mysql://*****:*****@localhost/')
Beispiel #2
0
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