Saltar al contenido principal

RepoDownloadModule

Descarga el contenido de documentos. Thread-safe.

Si no indicas file_name el archivo se llama "document". Para guardarlo en disco usa archivo.save(...) (ver ShoriFile.save: la carpeta de destino debe existir).

Ejemplo General​

```python
import os
os.makedirs("descargas", exist_ok=True)
archivo = client.repo().download().by_document(
GetDocumentByIdRequest(document_id="uuid", file_name="contrato.pdf")
)
ruta = archivo.save("descargas") # descargas/contrato.pdf
```

Métodos​

def __init__(config: ShoriConfig, http: HttpExecutor) -> None​

Parámetros:

  • config (ShoriConfig) —
  • http (HttpExecutor) —

def by_document(request: GetDocumentByIdRequest | Mapping[str, Any]) -> ShoriFile​

Descarga un documento por su UUID.

Parámetros:

  • request (GetDocumentByIdRequest | Mapping[str, Any]) — GetDocumentByIdRequest o dict (documentId y, opcional, fileName).

Retorna: ShoriFile — ShoriFile con el contenido (content), name, size y type.

Lanza:

  • ResourceNotFoundException — Si el documento no existe.

Ejemplo de uso:

```python
archivo = client.repo().download().by_document({"documentId": "uuid", "fileName": "contrato.pdf"})
contenido: bytes = archivo.content
```

def by_document_and_version(request: DownloadByDocumentAndVersionRequest | Mapping[str, Any]) -> ShoriFile​

Descarga una versión específica de un documento.

Parámetros:

  • request (DownloadByDocumentAndVersionRequest | Mapping[str, Any]) — DownloadByDocumentAndVersionRequest o dict (documentId, versionId y,

Retorna: ShoriFile — ShoriFile de esa versión.

Ejemplo de uso:

```python
v2 = client.repo().download().by_document_and_version(
DownloadByDocumentAndVersionRequest(document_id="uuid", version_id="v2-uuid", file_name="contrato_v2.pdf")
)
```

def export_document(request: GetDocumentByIdRequest | Mapping[str, Any]) -> ShoriFile​

Descarga la versión exportada (habitualmente PDF) de un documento.

Parámetros:

  • request (GetDocumentByIdRequest | Mapping[str, Any]) — GetDocumentByIdRequest o dict.

Retorna: ShoriFile — ShoriFile exportado.

Ejemplo de uso:

```python
pdf = client.repo().download().export_document(
GetDocumentByIdRequest(document_id="uuid", file_name="informe.pdf")
)
```