granicus_archiver.web.s3client¶
- class granicus_archiver.web.s3client.DataFileMetadata[source]¶
Bases:
TypedDictMetadata for a data file
- sha1: SHA1Hash¶
The SHA1 hash of the file
- class granicus_archiver.web.s3client.S3Client(app: Application)[source]¶
Bases:
ClientBaseS3 client for downloading data files and assets
- Parameters:
app (web.Application)
- data_dirs: DataFiles¶
Remote data directories
- data_files_local: DataFiles¶
Local data files
- data_files_remote: DataFiles¶
Remote data files
- metadata_file: Path¶
Filename to store cahced metadata
- data_file_metadata: dict[DataFileType, DataFileMetadata | None]¶
Cached metadata for data files
- async get_search_index_dir() None[source]¶
Download the search index directory
Existing files will be overwritten.
- Return type:
None
- async download_data_file(key: Literal['clips', 'legistar', 'legistar_rguid'], remote_metadata: DataFileMetadata | None = None) bool[source]¶
Download a data file if it has changed remotely
- Parameters:
key (Literal['clips', 'legistar', 'legistar_rguid'])
remote_metadata (DataFileMetadata | None)
- Return type:
- async get_data_file_remote_meta(key: Literal['clips', 'legistar', 'legistar_rguid']) DataFileMetadata[source]¶
Get the remote metadata for a data file
- Parameters:
key (Literal['clips', 'legistar', 'legistar_rguid'])
- Return type:
- granicus_archiver.web.s3client.S3ClientKey = <AppKey(granicus_archiver.web.s3client.S3Client, type=granicus_archiver.web.s3client.S3Client)>¶
App key for the
s3client.S3Clientinstance