| 210 | return file_info |
| 211 | |
| 212 | def readFile(self, file_in, size, buff_size=1024 * 64): |
| 213 | part_num = 0 |
| 214 | recv_left = size |
| 215 | |
| 216 | while 1: |
| 217 | part_num += 1 |
| 218 | read_size = min(buff_size, recv_left) |
| 219 | part = file_in.read(read_size) |
| 220 | |
| 221 | if not part: |
| 222 | break |
| 223 | yield part |
| 224 | |
| 225 | if part_num % 100 == 0: # Avoid blocking ZeroNet execution during upload |
| 226 | time.sleep(0.001) |
| 227 | |
| 228 | recv_left -= read_size |
| 229 | if recv_left <= 0: |
| 230 | break |
| 231 | |
| 232 | def hashBigfile(self, file_in, size, piece_size=1024 * 1024, file_out=None): |
| 233 | self.site.settings["has_bigfile"] = True |