swh.deposit.api.common module#
- class swh.deposit.api.common.ParsedRequestHeaders(content_type: str, content_length: Optional[int], in_progress: bool, content_disposition: Optional[str], content_md5sum: Optional[bytes], packaging: Optional[str], slug: Optional[str], on_behalf_of: Optional[str], metadata_relevant: Optional[str], swhid: Optional[str])[source]#
Bases:
object
Method generated by attrs for class ParsedRequestHeaders.
- class swh.deposit.api.common.Receipt(deposit_id: int, deposit_date: datetime, status: str, archive: Optional[str])[source]#
Bases:
object
Data computed while handling the request body that will be served in the Deposit Receipt.
Method generated by attrs for class Receipt.
- swh.deposit.api.common.get_deposit_by_id(deposit_id: int, collection_name: Optional[str] = None) Deposit [source]#
Gets an existing Deposit object if it exists, or raises DepositError. If collection is not None, also checks the deposit belongs to the collection.
- swh.deposit.api.common.get_collection_by_name(collection_name: str)[source]#
Gets an existing Deposit object if it exists, or raises DepositError.
- swh.deposit.api.common.guess_deposit_origin_url(deposit: Deposit)[source]#
Guesses an origin url for the given deposit.
- class swh.deposit.api.common.APIBase[source]#
Bases:
APIConfig
,APIView
Base deposit request class sharing multiple common behaviors.
Constructor. Called in the URLconf; can contain helpful extra keyword arguments, and other things.
- additional_checks(request: Request, headers: ParsedRequestHeaders, collection_name: str, deposit: Optional[Deposit]) Dict[str, Any] [source]#
Permit the child class to enrich additional checks.
- Returns:
dict with ‘error’ detailing the problem.
- get_client(request) DepositClient [source]#
- checks(request: Request, collection_name: str, deposit: Optional[Deposit] = None) ParsedRequestHeaders [source]#
- restrict_access(request: Request, headers: ParsedRequestHeaders, deposit: Deposit) None [source]#
Allow modifications on deposit with status ‘partial’ only, reject the rest.
- class swh.deposit.api.common.APIGet[source]#
Bases:
APIBase
Mixin for class to support GET method.
Constructor. Called in the URLconf; can contain helpful extra keyword arguments, and other things.
- get(request: Request, collection_name: str, deposit_id: int) Union[HttpResponse, FileResponse] [source]#
Endpoint to create/add resources to deposit.
- Returns:
200 response when no error during routine occurred 400 if the deposit does not belong to the collection 404 if the deposit or the collection does not exist
- class swh.deposit.api.common.APIPost[source]#
Bases:
APIBase
Mixin for class to support POST method.
Constructor. Called in the URLconf; can contain helpful extra keyword arguments, and other things.
- post(request: Request, collection_name: str, deposit_id: Optional[int] = None) HttpResponse [source]#
Endpoint to create/add resources to deposit.
- Returns:
204 response when no error during routine occurred. 400 if the deposit does not belong to the collection 404 if the deposit or the collection does not exist
- abstract process_post(request, headers: ParsedRequestHeaders, collection_name: str, deposit: Optional[Deposit] = None) Tuple[int, str, Receipt] [source]#
Routine to deal with the deposit’s processing.
- Returns
Tuple of: - response status code (200, 201, etc…) - key iri (EM_IRI, EDIT_IRI, etc…) - Receipt
- class swh.deposit.api.common.APIPut[source]#
Bases:
APIBase
Mixin for class to support PUT method.
Constructor. Called in the URLconf; can contain helpful extra keyword arguments, and other things.
- class swh.deposit.api.common.APIDelete[source]#
Bases:
APIBase
Mixin for class to support DELETE method.
Constructor. Called in the URLconf; can contain helpful extra keyword arguments, and other things.
- delete(request: Request, collection_name: str, deposit_id: Optional[int] = None) HttpResponse [source]#
Endpoint to delete some deposit’s resources (archives, deposit).
- Returns:
204 response when no error during routine occurred. 400 if the deposit does not belong to the collection 404 if the deposit or the collection does not exist