)]}'
{"lib/tools.py":[{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"945a352a93e92ca068126ed2e17a75fb22a2a6bb","unresolved":false,"context_lines":[{"line_number":27,"context_line":"def make_example_config(aio_config_file, configs_dir):"},{"line_number":28,"context_line":"    \"\"\"Build an inventory configuration based on example AIO files"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    :param aio_config_file: ``str`` Master AIO configuration example file"},{"line_number":31,"context_line":"    :param configs_dir: ``str`` Directory containing independent conf.d files"},{"line_number":32,"context_line":"    \"\"\""},{"line_number":33,"context_line":"    files \u003d glob.glob(os.path.join(configs_dir, \u0027*.aio\u0027))"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a629dbe_c029428b","line":30,"updated":"2016-11-08 18:58:47.000000000","message":"docstring could be better if this is a utility method: 1) Probably mention it serves as a openstack_user_config.yml file since we don\u0027t call it a \"master config file\" universally that term may not be meaningful. 2) Also probably mention how path resolution would work here.","commit_id":"1703ff7692b7a0f278eb0a8b5c60e54279f8fd38"},{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"945a352a93e92ca068126ed2e17a75fb22a2a6bb","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    files \u003d glob.glob(os.path.join(configs_dir, \u0027*.aio\u0027))"},{"line_number":34,"context_line":"    config \u003d {}"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    files \u003d glob.glob(os.path.join(configs_dir, \u0027*.aio\u0027))"},{"line_number":37,"context_line":"    for file_name in files:"},{"line_number":38,"context_line":"        with open(file_name, \u0027r\u0027) as f:"},{"line_number":39,"context_line":"            config.update(yaml.safe_load(f.read()))"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a629dbe_45fe2439","line":36,"updated":"2016-11-08 18:58:47.000000000","message":"why is this line repeated?","commit_id":"1703ff7692b7a0f278eb0a8b5c60e54279f8fd38"},{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"945a352a93e92ca068126ed2e17a75fb22a2a6bb","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    with open(aio_config_file, \u0027r\u0027) as f:"},{"line_number":42,"context_line":"        config.update(yaml.safe_load(f.read()))"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    return config"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"def write_example_config(filename, config):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a629dbe_a09b6ec8","line":44,"updated":"2016-11-08 18:58:47.000000000","message":"I like the default behavior of this method which is NOT to do error handling. The python filesystem errors are good probably enough for now. The only thing they really lack is helpful guidance on what filename caused the error but YAGNI says \"no\".","commit_id":"1703ff7692b7a0f278eb0a8b5c60e54279f8fd38"},{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"945a352a93e92ca068126ed2e17a75fb22a2a6bb","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    return config"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"def write_example_config(filename, config):"},{"line_number":48,"context_line":"    \"\"\"Dump generated configuration to a file."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    :param filename: ``str`` The filename which to write to."}],"source_content_type":"text/x-python","patch_set":2,"id":"9a629dbe_05ec2c8e","line":47,"updated":"2016-11-08 18:58:47.000000000","message":"There will be a filesystem.py method for this soon* if you want it.","commit_id":"1703ff7692b7a0f278eb0a8b5c60e54279f8fd38"}],"tests/test_inventory.py":[{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"d2744300e69245f044a6da7959483818ab4c3280","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    _BASE_CONFIG \u003d tools.make_example_config(AIO_CONFIG_FILE, CONFD)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    with open(USER_CONFIG_FILE, \u0027w\u0027) as f:"},{"line_number":65,"context_line":"        f.write(yaml.dump(_BASE_CONFIG))"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7a77a97e_f6c9a726","line":64,"updated":"2016-11-22 17:53:55.000000000","message":"Why not use write_example_config here?","commit_id":"042f02b9b38d882c26d3dc18bd0431271064e2f1"},{"author":{"_account_id":12892,"name":"Nolan Brubaker","email":"nolan.brubaker@rackspace.com","username":"nrb"},"change_message_id":"891758664d950675c64671e81f349d5c5a7e624b","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    _BASE_CONFIG \u003d tools.make_example_config(AIO_CONFIG_FILE, CONFD)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    with open(USER_CONFIG_FILE, \u0027w\u0027) as f:"},{"line_number":65,"context_line":"        f.write(yaml.dump(_BASE_CONFIG))"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7a77a97e_56897bc9","line":64,"in_reply_to":"7a77a97e_f6c9a726","updated":"2016-11-22 17:55:13.000000000","message":"No good reason - this was actually written before and not updated. Will do.","commit_id":"042f02b9b38d882c26d3dc18bd0431271064e2f1"}]}
