in src/conductor/conductor.py [0:0]
def synthesize(composition): # dict
code = '# generated by composer v'+composition['version']+' and conductor v'+__version__+'\n\nimport os\nimport functools\nimport json\nimport inspect\nimport re\nimport base64\nimport marshal\nimport types\nimport requests\nimport urllib.parse'
code += '\n\n' + inspect.getsource(composer.ComposerError)
code += '\ncomposition=json.loads(\''+escape(json.dumps(composition['composition'], default=composer.serialize, ensure_ascii=True))+'\')'
code += '\n' + inspect.getsource(conductor)
code += '\n' + inspect.getsource(openwhisk)
code += '\n' + inspect.getsource(Compositions)
code += '\n' + inspect.getsource(composer.serialize)
code += '\n' + inspect.getsource(composer.Composition)
code += '\n' + inspect.getsource(composer.get_value)
code += '\n' + inspect.getsource(composer.get_params)
code += '\n' + inspect.getsource(composer.set_params)
code += '\n' + inspect.getsource(composer.retain_result)
code += '\n' + inspect.getsource(composer.retain_nested_result)
code += '\n' + inspect.getsource(composer.dec_count)
code += '\n' + inspect.getsource(composer.set_nested_params)
code += '\n' + inspect.getsource(composer.get_nested_params)
code += '\n' + inspect.getsource(composer.set_nested_result)
code += '\n' + inspect.getsource(composer.get_nested_result)
code += '\n' + inspect.getsource(composer.retry_cond)
import openwhisk as ow
code += '\n' + inspect.getsource(ow.Client)
code += '\n' + inspect.getsource(ow.BaseOperation)
code += '\n' + inspect.getsource(ow.Resource)
code += '\n' + inspect.getsource(ow.Action)
code += '\n' + inspect.getsource(ow.parse_id_and_ns)
code += '\n' + inspect.getsource(ow.parse_id)
code += '\n' + inspect.getsource(ow.parse_namespace)
code += 'def main(args):'
code += '\n return conductor(composition)(args)'
annotations = [
{ 'key': 'conductor', 'value': str(composition['ast']) },
{ 'key': 'composerVersion', 'value': composition['version'] },
{ 'key': 'conductorVersion', 'value': __version__ },
{ 'key': 'provide-api-key', 'value': True }
]
return { 'name': composition['name'], 'action': { 'exec': { 'kind': 'python:3', 'code':code }, 'annotations': annotations } }