def Rewrite(self, rewrite_request): # pylint: disable=invalid-name if rewrite_request.rewriteToken == self.REWRITE_TOKEN: dest_object = storage.Object() return storage.RewriteResponse(done=True, objectSize=100, resource=dest_object, totalBytesRewritten=100) src_file = self.get_file(rewrite_request.sourceBucket, rewrite_request.sourceObject) if not src_file: raise HttpError(httplib2.Response({'status': '404'}), '404 Not Found', 'https://fake/url') generation = self.get_last_generation( rewrite_request.destinationBucket, rewrite_request.destinationObject) + 1 dest_file = FakeFile(rewrite_request.destinationBucket, rewrite_request.destinationObject, src_file.contents, generation) self.add_file(dest_file) time.sleep(10) # time.sleep and time.time are mocked below. return storage.RewriteResponse(done=False, objectSize=100, rewriteToken=self.REWRITE_TOKEN, totalBytesRewritten=5)
def get_metadata(self): last_updated_datetime = None if self.last_updated: last_updated_datetime = datetime.datetime.utcfromtimestamp( self.last_updated) return storage.Object(bucket=self.bucket, name=self.object, generation=self.generation, size=len(self.contents), crc32c=self.crc32c, updated=last_updated_datetime)
def get_metadata(self): return storage.Object(bucket=self.bucket, name=self.object, generation=self.generation, size=len(self.contents))