)]}'
{"ara/setup/env.py":[{"author":{"_account_id":9061,"name":"David Moreau Simard","email":"moi@dmsimard.com","username":"dmsimard"},"change_message_id":"5b6913b176f77a4b2a4e04f47ce736589be3a780","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from . import action_plugins, callback_plugins"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"exports \u003d \"\"\""},{"line_number":26,"context_line":"export ANSIBLE_CALLBACK_PLUGINS\u003d${{ANSIBLE_CALLBACK_PLUGINS:-}}${{ANSIBLE_CALLBACK_PLUGINS+:}}{}"},{"line_number":27,"context_line":"export ANSIBLE_ACTION_PLUGINS\u003d${{ANSIBLE_ACTION_PLUGINS:-}}${{ANSIBLE_CALLBACK_PLUGINS+:}}{}"},{"line_number":28,"context_line":"\"\"\".format("},{"line_number":29,"context_line":"    callback_plugins, action_plugins"},{"line_number":30,"context_line":")"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_8e227153","line":27,"range":{"start_line":26,"start_character":0,"end_line":27,"end_character":92},"updated":"2019-09-03 13:05:46.000000000","message":"Since we\u0027re templating this out in python, could we read from os.getenv and use os.path.sep to join the list of existing values together instead of using bash ?","commit_id":"8f0a627f4f5e889f5429ba01cdd90b5772be4be9"},{"author":{"_account_id":9061,"name":"David Moreau Simard","email":"moi@dmsimard.com","username":"dmsimard"},"change_message_id":"f80f52235d59f307d96f58001a4de82fe0b0a5b9","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from . import action_plugins, callback_plugins"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"exports \u003d \"\"\""},{"line_number":26,"context_line":"export ANSIBLE_CALLBACK_PLUGINS\u003d${{ANSIBLE_CALLBACK_PLUGINS:-}}${{ANSIBLE_CALLBACK_PLUGINS+:}}{}"},{"line_number":27,"context_line":"export ANSIBLE_ACTION_PLUGINS\u003d${{ANSIBLE_ACTION_PLUGINS:-}}${{ANSIBLE_CALLBACK_PLUGINS+:}}{}"},{"line_number":28,"context_line":"\"\"\".format("},{"line_number":29,"context_line":"    callback_plugins, action_plugins"},{"line_number":30,"context_line":")"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_1ceb1ba4","line":27,"range":{"start_line":26,"start_character":0,"end_line":27,"end_character":92},"in_reply_to":"7faddb67_7c51ef0c","updated":"2019-09-03 14:54:06.000000000","message":"Ok, I see what you mean -- there is indeed a nuance between running the \"python -m ara.setup.env\" command and actually doing the export. We can keep the bash version.","commit_id":"8f0a627f4f5e889f5429ba01cdd90b5772be4be9"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"1dee7cbb505e284505f4fdb3362315286b2638a2","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from . import action_plugins, callback_plugins"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"exports \u003d \"\"\""},{"line_number":26,"context_line":"export ANSIBLE_CALLBACK_PLUGINS\u003d${{ANSIBLE_CALLBACK_PLUGINS:-}}${{ANSIBLE_CALLBACK_PLUGINS+:}}{}"},{"line_number":27,"context_line":"export ANSIBLE_ACTION_PLUGINS\u003d${{ANSIBLE_ACTION_PLUGINS:-}}${{ANSIBLE_CALLBACK_PLUGINS+:}}{}"},{"line_number":28,"context_line":"\"\"\".format("},{"line_number":29,"context_line":"    callback_plugins, action_plugins"},{"line_number":30,"context_line":")"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_7c51ef0c","line":27,"range":{"start_line":26,"start_character":0,"end_line":27,"end_character":92},"in_reply_to":"7faddb67_8e227153","updated":"2019-09-03 14:34:19.000000000","message":"Well I guess it\u0027s a live vs pre-computed thing.\n\nAssuming the env is exported, wouldn\u0027t this be better to be evaluated when sourced (so, at runtime), vs having it statically defined at the generation?\n\nJust asking before doing another commit :)","commit_id":"8f0a627f4f5e889f5429ba01cdd90b5772be4be9"},{"author":{"_account_id":9061,"name":"David Moreau Simard","email":"moi@dmsimard.com","username":"dmsimard"},"change_message_id":"f80f52235d59f307d96f58001a4de82fe0b0a5b9","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        python_paths \u003d []"},{"line_number":43,"context_line":"    if lib not in python_paths:"},{"line_number":44,"context_line":"        python_paths.append(lib)"},{"line_number":45,"context_line":"        exports +\u003d \"export PYTHONPATH\u003d%s\\n\" % os.pathsep.join(python_paths)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"if __name__ \u003d\u003d \"__main__\":"},{"line_number":48,"context_line":"    print(exports.strip())"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_bc29a7f2","line":45,"range":{"start_line":45,"start_character":27,"end_line":45,"end_character":37},"updated":"2019-09-03 14:54:06.000000000","message":"For the sake of consistency, I suppose we should also have the same behavior for PYTHONPATH. Would you like to take care of it ?","commit_id":"8f0a627f4f5e889f5429ba01cdd90b5772be4be9"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"88a093734d2d51d0f4a59e9d1d9c95c69742de91","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        python_paths \u003d []"},{"line_number":43,"context_line":"    if lib not in python_paths:"},{"line_number":44,"context_line":"        python_paths.append(lib)"},{"line_number":45,"context_line":"        exports +\u003d \"export PYTHONPATH\u003d%s\\n\" % os.pathsep.join(python_paths)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"if __name__ \u003d\u003d \"__main__\":"},{"line_number":48,"context_line":"    print(exports.strip())"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_afe72446","line":45,"range":{"start_line":45,"start_character":27,"end_line":45,"end_character":37},"in_reply_to":"7faddb67_bc29a7f2","updated":"2019-09-03 17:04:30.000000000","message":"Yup I am fine with that :)\nWill do!","commit_id":"8f0a627f4f5e889f5429ba01cdd90b5772be4be9"},{"author":{"_account_id":9061,"name":"David Moreau Simard","email":"moi@dmsimard.com","username":"dmsimard"},"change_message_id":"863c42b8cb85ec2b49d88f0f04702be5dc14b081","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    else:"},{"line_number":42,"context_line":"        python_paths \u003d []"},{"line_number":43,"context_line":"    if lib not in python_paths:"},{"line_number":44,"context_line":"        python_paths.append(lib)"},{"line_number":45,"context_line":"        exports +\u003d \"export PYTHONPATH\u003d%s\\n\" % os.pathsep.join(python_paths)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"if __name__ \u003d\u003d \"__main__\":"}],"source_content_type":"text/x-python","patch_set":2,"id":"5faad753_bf3b1de9","side":"PARENT","line":44,"range":{"start_line":44,"start_character":8,"end_line":44,"end_character":32},"updated":"2019-09-11 17:48:25.000000000","message":"This needs to exist or the export can end up empty which yields a bash syntax error:\n\n    $ .tox/py37/bin/python -m ara.setup.env\n    export ANSIBLE_CALLBACK_PLUGINS\u003d${ANSIBLE_CALLBACK_PLUGINS:-}${ANSIBLE_CALLBACK_PLUGINS+:}/tmp/ara/ara/plugins/callback\n    export ANSIBLE_ACTION_PLUGINS\u003d${ANSIBLE_ACTION_PLUGINS:-}${ANSIBLE_CALLBACK_PLUGINS+:}/tmp/ara/ara/plugins/action\n    export PYTHONPATH\u003d${{PYTHONPATH:-}}${{PYTHONPATH+:}}\n\n    $ export PYTHONPATH\u003d${{PYTHONPATH:-}}${{PYTHONPATH+:}}\n    bash: PYTHONPATH\u003d${{PYTHONPATH:-}}${{PYTHONPATH+:}}: bad substitution","commit_id":"2072e86f08671aceb93a7aec849467f20acf3836"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"41f6ebd2da299e5516b3ef270c7bc0e6a8913924","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    else:"},{"line_number":42,"context_line":"        python_paths \u003d []"},{"line_number":43,"context_line":"    if lib not in python_paths:"},{"line_number":44,"context_line":"        python_paths.append(lib)"},{"line_number":45,"context_line":"        exports +\u003d \"export PYTHONPATH\u003d%s\\n\" % os.pathsep.join(python_paths)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"if __name__ \u003d\u003d \"__main__\":"}],"source_content_type":"text/x-python","patch_set":2,"id":"5faad753_1c08322a","side":"PARENT","line":44,"range":{"start_line":44,"start_character":8,"end_line":44,"end_character":32},"in_reply_to":"5faad753_bf3b1de9","updated":"2019-09-12 07:29:08.000000000","message":"Oh yeah that\u0027s because I didn\u0027t notice this was not using .format(). Me silly.","commit_id":"2072e86f08671aceb93a7aec849467f20acf3836"}]}
