Exemple #1
0
        def __init__(self, path, flags, *mode):
            file_hash, action, rest = parse_path(path)
        
            file_descr = get_file_descr(file_hash)

            if not rest:
                rest = ''
                
            file_ids = get_referenced_file_ids(file_descr)     
            tree = file_ids_as_tree(file_ids, os.path.dirname(file_descr.file.filename))
            files = get_files_for_path(tree, rest)
            if not isinstance(files, dict):
                abs_path = abspath(files[1].filename, file_descr)
                
                self.file = os.fdopen(os.open(abs_path, flags, *mode), flag2mode(flags))
                self.fd = self.file.fileno()       
Exemple #2
0
        def __init__(self, path, flags, *mode):
            file_hash, action, rest = parse_path(path)

            file_descr = get_file_descr(file_hash)

            if not rest:
                rest = ''

            file_ids = get_referenced_file_ids(file_descr)
            tree = file_ids_as_tree(file_ids,
                                    os.path.dirname(file_descr.file.filename))
            files = get_files_for_path(tree, rest)
            if not isinstance(files, dict):
                abs_path = abspath(files[1].filename, file_descr)

                self.file = os.fdopen(os.open(abs_path, flags, *mode),
                                      flag2mode(flags))
                self.fd = self.file.fileno()
Exemple #3
0
 def getattr_mount_file(self, path, file_hash,
                        action, rest, files, file_descr):
     abs_path = abspath(files[1].filename, file_descr)
     size = os.stat(abs_path).st_size if os.path.isfile(abs_path) else 0
     return MyStat(False, size)