blob: 271e2696c263bee4407aa6ec0fac01c32c4d02a9 [file] [log] [blame]
#!/usr/bin/env python
#
# Copyright (C) 2001 Jeff Epler <jepler@unpythonic.dhs.org>
#
# This program can be distributed under the terms of the GNU GPL.
# See the file COPYING.
#
from fuse import Fuse
import os
from errno import *
from stat import *
class Xmp(Fuse):
flags = 1
def getattr(self, path):
return os.lstat(path)
def readlink(self, path):
return os.readlink(path)
def getdir(self, path):
return map(lambda x: (x,0), os.listdir(path))
def unlink(self, path):
return os.unlink(path)
def rmdir(self, path):
return os.rmdir(path)
def symlink(self, path, path1):
return os.symlink(path, path1)
def rename(self, path, path1):
return os.rename(path, path1)
def link(self, path, path1):
return os.link(path, path1)
def chmod(self, path, mode):
return os.chmod(path, mode)
def chown(self, path, user, group):
return os.chown(path, user, group)
def truncate(self, path, size):
f = open(path, "w+")
return f.truncate(size)
def mknod(self, path, mode, dev):
""" Python has no os.mknod, so we can only do some things """
if S_ISREG(mode):
open(path, "w")
else:
return -EINVAL
def mkdir(self, path, mode):
return os.mkdir(path, mode)
def utime(self, path, times):
return os.utime(path, times)
def open(self, path, flags):
os.close(os.open(path, flags))
return 0
def read(self, path, len, offset):
f = open(path, "r")
f.seek(offset)
return f.read(len)
def write(self, path, buf, off):
f = open(path, "r+")
f.seek(off)
f.write(buf)
return len(buf)
if __name__ == '__main__':
server = Xmp()
server.flags = 0
server.multithreaded = 1;
server.main()