(source_path: str, block_size: int, block_index: int)
| 58 | |
| 59 | |
| 60 | def read_block(source_path: str, block_size: int, block_index: int) -> bytes: |
| 61 | if block_size <= 0: |
| 62 | raise BlockExtractionError( |
| 63 | f"Invalid block size: {block_size}", |
| 64 | "Invalid block size.", |
| 65 | ) |
| 66 | if block_index < 0: |
| 67 | raise BlockExtractionError( |
| 68 | f"Invalid block index: {block_index}", |
| 69 | "Invalid block index.", |
| 70 | ) |
| 71 | return read_range(source_path, block_index * block_size, block_size) |
| 72 | |
| 73 | |
| 74 | def read_range( |