def read(self, path, size, offset): if DEBAG: _debug('read: ' + path + (' size:%d offset:%d' \ % (size, offset)) + '\n') pt = PointerHTTPFS(self.root, path) try: return pt.read(size, offset) except RuntimeError, e: return -errno.EIO
def open(self, path, flags): if DEBAG: _debug('open: ' + path + '\n') pt = PointerHTTPFS(self.root, path) if pt.isFile(): accmode = os.O_RDONLY | os.O_WRONLY | os.O_RDWR if (flags & accmode) != os.O_RDONLY: return -errno.EACCES else: return -errno.ENOENT
def getattr(self, path): if DEBAG: _debug('getattr: ' + path + '\n') st = StatHTTPFS() pt = PointerHTTPFS(self.root, path) if pt.isDir(): st.st_mode = stat.S_IFDIR | 0444 st.st_nlink = 2 elif pt.isFile(): st.st_mode = stat.S_IFREG | 0444 st.st_nlink = 1 st.st_size = pt.getSize() else: return -errno.ENOENT return st
def main(): baseurl = '' if len(sys.argv) < 3: sys.argv += ['--help'] else: baseurl = 'http://' + sys.argv[1] pt = PointerHTTPFS(baseurl, '/') if not pt.isDir(): print 'Error: bad BaseURL\n' sys.argv += ['--help'] usage = """%prog [BaseURL] [mountpoint] [options]""" server = HTTPFS(baseurl, version="%prog " + fuse.__version__, usage=usage, dash_s_do='setsingle') server.parse(errex=1) server.main()
def release(self, path, flags): if DEBAG: _debug('release: ' + path + '\n') pt = PointerHTTPFS(self.root, path) pt.release()
def readdir(self, path, offset): if DEBAG: _debug('readdir: ' + path + '\n') pt = PointerHTTPFS(self.root, path) for entry in pt.getEntries(): yield fuse.Direntry(entry)