diff --git a/servicex_codegen/post_operation.py b/servicex_codegen/post_operation.py index e30f7a6..0d300dd 100644 --- a/servicex_codegen/post_operation.py +++ b/servicex_codegen/post_operation.py @@ -26,7 +26,7 @@ # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # - +import json # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -85,6 +85,10 @@ def stream_generated_code(self, generated_code_result: GeneratedFileResult) -> b def post(self): try: + with open("transformer_capabilities.json") as capabilities_file: + capabilities = json.load(capabilities_file) + print("capable", capabilities['language'], capabilities['command']) + with TemporaryDirectory() as tempdir: body = request.get_json() generated_code_result = self.code_generator.generate_code( @@ -99,6 +103,8 @@ def post(self): # them into a multipart mime data type m = MultipartEncoder( fields={'transformer_image': transformer_image, + 'language': capabilities['language'], + 'command': capabilities['command'], 'zip_data': zip_data} ) diff --git a/tests/test_post_operation.py b/tests/test_post_operation.py index 3da88bf..7db7b75 100644 --- a/tests/test_post_operation.py +++ b/tests/test_post_operation.py @@ -86,7 +86,7 @@ def test_post_good_query_with_params(self, mocker): decoder_parts = decoder.MultipartDecoder(response.data, content_type) transformer_image = str(decoder_parts.parts[0].content, 'utf-8') - zip_file = decoder_parts.parts[1].content + zip_file = decoder_parts.parts[3].content print("Transformer Image: ", transformer_image) print("Zip File: ", zip_file) @@ -131,7 +131,7 @@ def test_post_good_query_without_params(self, mocker): decoder_parts = decoder.MultipartDecoder(response.data, content_type) transformer_image = str(decoder_parts.parts[0].content, 'utf-8') - zip_file = decoder_parts.parts[1].content + zip_file = decoder_parts.parts[3].content print("Transformer Image: ", transformer_image) print("Zip File: ", zip_file) diff --git a/transformer_capabilities.json b/transformer_capabilities.json new file mode 100644 index 0000000..10ff7c4 --- /dev/null +++ b/transformer_capabilities.json @@ -0,0 +1,9 @@ +{ + "name": "FuncADL based uproot transformer", + "description": "Extracts data from flat ntuple style root files.", + "limitations": "Would be good to note what isn't implemented", + "file-formats": ["parquet"], + "stats-parser": "UprootStats", + "language": "python", + "command": "/generated/transform_single_file.py" +} \ No newline at end of file