Example #1
0
 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
Example #2
0
 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
Example #3
0
 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
Example #4
0
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()
Example #5
0
 def release(self, path, flags):
     if DEBAG:
         _debug('release: ' + path + '\n')
     pt = PointerHTTPFS(self.root, path)
     pt.release()
Example #6
0
 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)