def _uploader(self, paths_iter, cb, total_bytes, bytes_uploaded=0.0): reactor.tick() if len(self.proto) > 0: return utils.set_timeout(self._uploader, 10, paths_iter, cb, total_bytes, bytes_uploaded) bar_len = 20 try: p = next(paths_iter) size = self._upload(p) bytes_uploaded += size try: percent = (bytes_uploaded / total_bytes) except ZeroDivisionError: percent = 0.5 bar = ' |' + ('|' * int(bar_len * percent)) + (' ' * int( (1 - percent) * bar_len)) + '|' editor.status_message('Uploading... %2.2f%% %s' % (percent * 100, bar)) except StopIteration: editor.status_message('Uploading... 100% ' + ('|' * bar_len) + '| complete') msg.log('All done uploading') return cb and cb() return utils.set_timeout(self._uploader, 50, paths_iter, cb, total_bytes, bytes_uploaded)
def _uploader(self, paths_iter, cb, total_bytes, bytes_uploaded=0.0): reactor.tick() if len(self.proto) > 0: return utils.set_timeout(self._uploader, 10, paths_iter, cb, total_bytes, bytes_uploaded) bar_len = 20 try: p = next(paths_iter) size = self._upload(p) bytes_uploaded += size try: percent = (bytes_uploaded / total_bytes) except ZeroDivisionError: percent = 0.5 bar = ' |' + ('|' * int(bar_len * percent)) + (' ' * int((1 - percent) * bar_len)) + '|' editor.status_message('Uploading... %2.2f%% %s' % (percent * 100, bar)) except StopIteration: editor.status_message('Uploading... 100% ' + ('|' * bar_len) + '| complete') msg.log('All done uploading') return cb and cb() return utils.set_timeout(self._uploader, 50, paths_iter, cb, total_bytes, bytes_uploaded)
def _rate_limited_upload(self, paths_iter, total_bytes, bytes_uploaded=0.0, upload_func=None): reactor.tick() upload_func = upload_func or (lambda x: self._upload(utils.get_full_path(x))) if len(self.proto) > 0: self.upload_timeout = utils.set_timeout(self._rate_limited_upload, 10, paths_iter, total_bytes, bytes_uploaded, upload_func) return bar_len = 20 try: p = next(paths_iter) size = upload_func(p) bytes_uploaded += size try: percent = (bytes_uploaded / total_bytes) except ZeroDivisionError: percent = 0.5 bar = ' |' + ('|' * int(bar_len * percent)) + (' ' * int((1 - percent) * bar_len)) + '|' editor.status_message('Uploading... %2.2f%% %s' % (percent * 100, bar)) except StopIteration: editor.status_message('Uploading... 100% ' + ('|' * bar_len) + '| complete') msg.log('All done uploading') return self.upload_timeout = utils.set_timeout(self._rate_limited_upload, 50, paths_iter, total_bytes, bytes_uploaded, upload_func)