Revision 7474c948

b/kamaki/clients/pithos/__init__.py
729 729
            self._cb_next(len(blockids) - len(unsaved))
730 730
            if unsaved:
731 731
                key = unsaved[0]
732
                if key:
733
                    self._watch_thread_limit(flying.values())
734
                    self._thread2file(
735
                        flying, blockid_dict, local_file, offset,
736
                        **restargs)
737
                    end = total_size - 1 if (
738
                        key + blocksize > total_size) else key + blocksize - 1
739
                    data_range = _range_up(key, end, total_size, filerange)
740
                    if not data_range:
741
                        self._cb_next()
742
                        continue
743
                    restargs[
744
                        'async_headers'] = {'Range': 'bytes=%s' % data_range}
745
                    flying[key] = self._get_block_async(obj, **restargs)
746
                    blockid_dict[key] = unsaved
732
                self._watch_thread_limit(flying.values())
733
                self._thread2file(
734
                    flying, blockid_dict, local_file, offset,
735
                    **restargs)
736
                end = total_size - 1 if (
737
                    key + blocksize > total_size) else key + blocksize - 1
738
                if end < key:
739
                    self._cb_next()
740
                    continue
741
                data_range = _range_up(key, end, total_size, filerange)
742
                if not data_range:
743
                    self._cb_next()
744
                    continue
745
                restargs[
746
                    'async_headers'] = {'Range': 'bytes=%s' % data_range}
747
                flying[key] = self._get_block_async(obj, **restargs)
748
                blockid_dict[key] = unsaved
747 749

  
748 750
        for thread in flying.values():
749 751
            thread.join()

Also available in: Unified diff