Kami opened a new pull request #1431: Add new base storage API methods for partial (range) object downloads URL: https://github.com/apache/libcloud/pull/1431 This pull request adds two new methods to the base storage API for downloading object range aka part of an object - ``download_object_range`` and ``download_object_range_as_stream``. The reason why I added new methods and not new arguments to the existing ``download_object`` and ``download_object_as_stream`` methods is because of how "advertisement" of supported methods and functionality works in Libcloud. If I added a new argument, there would be no easy programatically detectable way for driver to "advertise" that it support range download functionality. Our option would be to throw an exception saying that this functionality is not supported if user passed in ``start_bytes`` or similar argument to that method, but the problem is that this would require us or user to actually run a method to determine if that functionality is available. To begin with I implemented it for the following drivers: - S3 (tested it with AWS S3 and Google Storage) - Local storage I also planned to look into adding it to the Azure driver. ## TODO - [ ] Test - [ ] Code refactor to avoid some duplicated code - [ ] Documentation changes - [ ] Upgrade notes entry
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
