(self, site, inner_path, prebuffer=0)
| 483 | |
| 484 | class BigFile(object): |
| 485 | def __init__(self, site, inner_path, prebuffer=0): |
| 486 | self.site = site |
| 487 | self.inner_path = inner_path |
| 488 | file_path = site.storage.getPath(inner_path) |
| 489 | file_info = self.site.content_manager.getFileInfo(inner_path) |
| 490 | self.piece_size = file_info["piece_size"] |
| 491 | self.sha512 = file_info["sha512"] |
| 492 | self.size = file_info["size"] |
| 493 | self.prebuffer = prebuffer |
| 494 | self.read_bytes = 0 |
| 495 | |
| 496 | self.piecefield = self.site.storage.piecefields[self.sha512] |
| 497 | self.f = open(file_path, "rb+") |
| 498 | self.read_lock = gevent.lock.Semaphore() |
| 499 | |
| 500 | def read(self, buff=64 * 1024): |
| 501 | with self.read_lock: |
no test coverage detected