예제 #1
0
def _sign_string(account_key, string_to_sign):
    decoded_account_key = _decode_base64_to_bytes(account_key)
    if isinstance(string_to_sign, _unicode_type):
        string_to_sign = string_to_sign.encode('utf-8')
    signed_hmac_sha256 = hmac.HMAC(decoded_account_key, string_to_sign, hashlib.sha256)
    digest = signed_hmac_sha256.digest()
    encoded_digest = _encode_base64(digest)
    return encoded_digest
 def _upload_chunk(self, chunk_offset, chunk_data):
     range_id = url_quote(_encode_base64('{0:032d}'.format(chunk_offset)))
     self.blob_service.put_block(self.container_name,
                                 self.blob_name,
                                 chunk_data,
                                 range_id,
                                 x_ms_lease_id=self.x_ms_lease_id)
     return range_id
예제 #3
0
def _sign_string(account_key, string_to_sign):
    decoded_account_key = _decode_base64_to_bytes(account_key)
    if isinstance(string_to_sign, _unicode_type):
        string_to_sign = string_to_sign.encode('utf-8')
    signed_hmac_sha256 = hmac.HMAC(decoded_account_key, string_to_sign,
                                   hashlib.sha256)
    digest = signed_hmac_sha256.digest()
    encoded_digest = _encode_base64(digest)
    return encoded_digest
예제 #4
0
 def _upload_chunk(self, chunk_offset, chunk_data):
     range_id = url_quote(_encode_base64('{0:032d}'.format(chunk_offset)))
     self.blob_service.put_block(
         self.container_name,
         self.blob_name,
         chunk_data,
         range_id,
         x_ms_lease_id=self.x_ms_lease_id
     )
     return range_id
예제 #5
0
def _convert_block_list_to_xml(block_id_list):
    '''
    Convert a block list to xml to send.

    block_id_list: a str list containing the block ids that are used in put_block_list. 
    Only get block from latest blocks. 
    '''
    if block_id_list is None:
        return ''
    xml = '<?xml version="1.0" encoding="utf-8"?><BlockList>'
    for value in block_id_list:
        xml += '<Latest>{0}</Latest>'.format(_encode_base64(value))
 
    return xml+'</BlockList>'
예제 #6
0
def _convert_block_list_to_xml(block_id_list):
    '''
    Convert a block list to xml to send.

    block_id_list:
        a str list containing the block ids that are used in put_block_list.
    Only get block from latest blocks.
    '''
    if block_id_list is None:
        return ''
    xml = '<?xml version="1.0" encoding="utf-8"?><BlockList>'
    for value in block_id_list:
        xml += '<Latest>{0}</Latest>'.format(_encode_base64(value))

    return xml + '</BlockList>'
예제 #7
0
def _to_entity_property(value):
    if value.type == 'Edm.Binary':
        return value.type, _encode_base64(value.value)

    return value.type, str(value.value)
예제 #8
0
def _to_entity_property(value):
    if value.type == 'Edm.Binary':
        return value.type, _encode_base64(value.value)

    return value.type, str(value.value)