The following code example gets the file details of an uploaded file. This method takes the upload id of the file, and the deal id of the file.
def file_detail(wallet_info):
wallet_address = wallet_info['wallet_address']
private_key = wallet_info['private_key']
web3_api = wallet_info['web3_api']
w3_api = ContractAPI(web3_api)
api = McsAPI()
# upload file to mcs
file_path = "/i*"
filename = "/*"
upload_file = api.upload_file(wallet_address, file_path)
file_data = upload_file["data"]
payload_cid, source_file_upload_id, nft_uri, file_size, w_cid = file_data['payload_cid'], file_data[
'source_file_upload_id'], file_data['ipfs_url'], file_data['file_size'], file_data['w_cid']
# get deal details
return deal_detail = api.get_deal_detail(wallet_address, source_file_upload_id)
{
status: 'success',
data: {
dao_signature: [ [Object], [Object], [Object], [Object] ],
dao_threshold: 2,
source_file_upload_deal: {
deal_id: <ID>,
deal_cid: '',
message_cid: <'bafy...'>,
height: <NUMBER>,
piece_cid: <'...'>,
verified_deal: <BOOLEAN>,
storage_price_per_epoch: 0,
signature: '',
signature_type: '',
created_at: <TIME>,
piece_size_format: null,
start_height: <NUMBER>,
end_height: <NUMBER>,
client: <'f...'>,
client_collateral_format: '000000000000000000',
provider: <'f...'>,
provider_tag: '',
verified_provider: 0,
provider_collateral_format: '000000000000000000',
status: 0,
network_name: 'filecoin_mainnet',
storage_price: 0,
ipfs_url: <'https://calibration-ipfs.filswan.com/ipfs/Qm...'>,
file_name: <FILE_NAME>,
w_cid: <UNIQUE_CID>,
car_file_payload_cid: <'bafy...'>,
locked_at: <TIME>,
locked_fee: <AMOUNT>,
unlocked: <BOOLEAN>
}
}
}