Changeset View
Changeset View
Standalone View
Standalone View
swh/deposit/api/collection.py
Show First 20 Lines • Show All 89 Lines • ▼ Show 20 Lines | ) -> Tuple[int, str, Receipt]: | ||||
provided | provided | ||||
""" | """ | ||||
assert deposit is None | assert deposit is None | ||||
deposit = self._deposit_create(req, collection_name, external_id=headers.slug) | deposit = self._deposit_create(req, collection_name, external_id=headers.slug) | ||||
if req.content_type in ACCEPT_ARCHIVE_CONTENT_TYPES: | if req.content_type in ACCEPT_ARCHIVE_CONTENT_TYPES: | ||||
receipt = self._binary_upload( | receipt = self._binary_upload(req, headers, collection_name, deposit) | ||||
req, headers, collection_name, deposit, check_slug_is_present=True | |||||
) | |||||
elif req.content_type.startswith("multipart/"): | elif req.content_type.startswith("multipart/"): | ||||
receipt = self._multipart_upload( | receipt = self._multipart_upload(req, headers, collection_name, deposit) | ||||
req, headers, collection_name, deposit, check_slug_is_present=True | |||||
) | |||||
else: | else: | ||||
receipt = self._atom_entry( | receipt = self._atom_entry(req, headers, collection_name, deposit) | ||||
req, headers, collection_name, deposit, check_slug_is_present=True | |||||
) | |||||
return status.HTTP_201_CREATED, EDIT_IRI, receipt | return status.HTTP_201_CREATED, EDIT_IRI, receipt | ||||
def _deposit_create( | def _deposit_create( | ||||
self, request, collection_name: str, external_id: Optional[str] | self, request, collection_name: str, external_id: Optional[str] | ||||
) -> Deposit: | ) -> Deposit: | ||||
collection = get_collection_by_name(collection_name) | collection = get_collection_by_name(collection_name) | ||||
client = self.get_client(request) | client = self.get_client(request) | ||||
Show All 24 Lines |