def topic(self, callback): self.conn = S3Connection() self.conn.create_bucket(s3_bucket) config = Config(TC_AWS_RESULT_STORAGE_BUCKET=s3_bucket, TC_AWS_STORE_METADATA=True) ctx = Context(config=config, server=get_server('ACME-SEC')) ctx.headers = {'Content-Type': 'image/webp', 'Some-Other-Header': 'doge-header'} ctx.request = Request ctx.request.url = 'my-image-meta.jpg' storage = Storage(ctx) storage.put(IMAGE_BYTES) file_abspath = storage._normalize_path(ctx.request.url) storage.storage.get(file_abspath, callback=callback)
def topic(self): self.conn = S3Connection() self.conn.create_bucket(s3_bucket) config = Config(RESULT_STORAGE_BUCKET=s3_bucket, RESULT_STORAGE_S3_STORE_METADATA=True) ctx = Context(config=config, server=get_server('ACME-SEC')) ctx.headers = {'Content-Type': 'image/webp', 'Some-Other-Header': 'doge-header'} ctx.request = Request ctx.request.url = 'my-image-meta.jpg' storage = Storage(ctx) storage.put(IMAGE_BYTES) file_abspath = storage.normalize_path(ctx.request.url) file_key = storage.storage.get_key(file_abspath) return file_key.content_type, file_key.metadata, file_key.read()
def topic(self): self.conn = S3Connection() self.conn.create_bucket(s3_bucket) config = Config(RESULT_STORAGE_BUCKET=s3_bucket, RESULT_STORAGE_S3_STORE_METADATA=True) ctx = Context(config=config, server=get_server('ACME-SEC')) ctx.headers = { 'Content-Type': 'image/webp', 'Some-Other-Header': 'doge-header' } ctx.request = Request ctx.request.url = 'my-image-meta.jpg' storage = Storage(ctx) storage.put(IMAGE_BYTES) file_abspath = storage.normalize_path(ctx.request.url) file_key = storage.storage.get_key(file_abspath) return file_key.content_type, file_key.metadata, file_key.read()
def test_can_get_image_with_metadata(self): config = Config(TC_AWS_RESULT_STORAGE_BUCKET=s3_bucket, TC_AWS_STORE_METADATA=True) ctx = Context(config=config, server=get_server('ACME-SEC')) ctx.headers = { 'Content-Type': 'image/webp', 'Some-Other-Header': 'doge-header' } ctx.request = Request ctx.request.url = 'my-image-meta.jpg' storage = Storage(ctx) yield storage.put(IMAGE_BYTES) file_abspath = storage._normalize_path(ctx.request.url) topic = yield storage.get(file_abspath) self.assertIn('Some-Other-Header', topic.metadata['Metadata']) self.assertEqual(topic.metadata['Metadata']['Content-Type'], 'image/webp') self.assertEqual(topic.buffer, IMAGE_BYTES)