コード例 #1
0
    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)
コード例 #2
0
    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)
コード例 #3
0
ファイル: gcsio_test.py プロジェクト: zoyahav/beam
 def get_metadata(self):
     return storage.Object(bucket=self.bucket,
                           name=self.object,
                           generation=self.generation,
                           size=len(self.contents))