Yield chunks from a range in a file.
(fp, offset, limit, bufsize=1024 * 1024)
| 2816 | |
| 2817 | |
| 2818 | def _rangeiter(fp, offset, limit, bufsize=1024 * 1024): |
| 2819 | """ Yield chunks from a range in a file. """ |
| 2820 | fp.seek(offset) |
| 2821 | while limit > 0: |
| 2822 | part = fp.read(min(limit, bufsize)) |
| 2823 | if not part: |
| 2824 | break |
| 2825 | limit -= len(part) |
| 2826 | yield part |
| 2827 | |
| 2828 | |
| 2829 | def static_file(filename, root, |