mirror of
https://github.com/libfuse/libfuse.git
synced 2024-11-27 06:04:27 +08:00
t
This commit is contained in:
parent
25ac8b793f
commit
729531e827
83
python/xmp.py
Executable file
83
python/xmp.py
Executable file
@ -0,0 +1,83 @@
|
||||
#!/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()
|
Loading…
Reference in New Issue
Block a user