Source code for b2sdk.transferer.file_metadata

######################################################################
#
# File: b2sdk/transferer/file_metadata.py
#
# Copyright 2019 Backblaze Inc. All Rights Reserved.
#
# License https://www.backblaze.com/using_b2_code.html
#
######################################################################


[docs]class FileMetadata(object): """ holds information about a file which is being downloaded """ __slots__ = ( 'file_id', 'file_name', 'content_type', 'content_length', 'content_sha1', 'file_info', )
[docs] def __init__( self, file_id, file_name, content_type, content_length, content_sha1, file_info, ): self.file_id = file_id self.file_name = file_name self.content_type = content_type self.content_length = content_length self.content_sha1 = content_sha1 self.file_info = file_info
[docs] @classmethod def from_response(cls, response): info = response.headers return cls( file_id=info['x-bz-file-id'], file_name=info['x-bz-file-name'], content_type=info['content-type'], content_length=int(info['content-length']), content_sha1=info['x-bz-content-sha1'], file_info=dict((k[10:], info[k]) for k in info if k.startswith('x-bz-info-')), )
[docs] def as_info_dict(self): return { 'fileId': self.file_id, 'fileName': self.file_name, 'contentType': self.content_type, 'contentLength': self.content_length, 'contentSha1': self.content_sha1, 'fileInfo': self.file_info, }