Exemplo n.º 1
0
 def build(self, fileobj=None):
     if fileobj is None:
         fileobj = tempfile.TemporaryFile()
     for br in self.spans_to_br():
         blob = self.con.get_blob(br)
         fileobj.write(blob.read())
     fileobj.seek(0)
     if hasattr(fileobj, 'name'):
         apply_stat_info(fileobj.name, Schema(self.con, self.blob_ref).data)
     return fileobj
Exemplo n.º 2
0
 def build(self, fileobj=None):
     if fileobj is None:
         fileobj = tempfile.TemporaryFile()
     for br in self.spans_to_br():
         blob = self.con.get_blob(br)
         fileobj.write(blob.read())
     fileobj.seek(0)
     if hasattr(fileobj, 'name'):
         apply_stat_info(fileobj.name, Schema(self.con, self.blob_ref).data)
     return fileobj
Exemplo n.º 3
0
def _get_directory(con, br, base_path):
    # Load the directory schema
    directory = Directory(con, blob_ref=br)
    # Build the absolute path of the current directory/sub-directory.
    path = os.path.join(base_path, directory.fileName)
    if not os.path.isdir(path):
        os.mkdir(path)
    apply_stat_info(path, directory.data)

    # Load the directory static set.
    static_set = StaticSet(con, directory.entries)
    for member_br in static_set.members:
        blob_metadata = con.describe_blob(member_br)
        if blob_metadata['camliType'] == 'file':
            file_path = os.path.join(path, blob_metadata['file']['fileName'])
            with open(file_path, 'wb') as fh:
                con.get_file(member_br, fh)
        elif blob_metadata['camliType'] == 'directory':
            _get_directory(con, member_br, base_path=path)
Exemplo n.º 4
0
def _get_directory(con, br, base_path):
    # Load the directory schema
    directory = Directory(con, blob_ref=br)
    # Build the absolute path of the current directory/sub-directory.
    path = os.path.join(base_path, directory.fileName)
    if not os.path.isdir(path):
        os.mkdir(path)
    apply_stat_info(path, directory.data)

    # Load the directory static set.
    static_set = StaticSet(con, directory.entries)
    for member_br in static_set.members:
        blob_metadata = con.describe_blob(member_br)
        if blob_metadata['camliType'] == 'file':
            file_path = os.path.join(path, blob_metadata['file']['fileName'])
            with open(file_path, 'wb') as fh:
                con.get_file(member_br, fh)
        elif blob_metadata['camliType'] == 'directory':
            _get_directory(con, member_br, base_path=path)