Source code for redditwarp.model_loaders.submission_media_upload_lease


from typing import Mapping, Any

from ..models.submission_media_upload_lease import SubmissionMediaUploadLease

[docs]def load_submission_media_upload_lease(d: Mapping[str, Any]) -> SubmissionMediaUploadLease: lease_data = d['args'] endpoint = f'https:{x}' if (x := lease_data['action']).startswith('//') else x fields = {field['name']: field['value'] for field in lease_data['fields']} s3_object_key = fields['key'] asset = d['asset'] return SubmissionMediaUploadLease( d=d, endpoint=endpoint, fields=fields, s3_object_key=fields['key'], location=f"{endpoint}/{s3_object_key}", media_id=asset['asset_id'], declared_filepath=asset['payload']['filepath'], websocket_url=asset['websocket_url'], )