)]}'
{"climate/api/v2/controllers/__init__.py":[{"author":{"_account_id":9331,"name":"Pablo Andres Fuente","email":"pablo.andres.fuente@gmail.com","username":"pafuent"},"change_message_id":"b0d418220da58dfa8a653fd14db39088c9ff782e","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    def __init__(self):"},{"line_number":46,"context_line":"        extensions \u003d []"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        extension_manager \u003d enabled.EnabledExtensionManager("},{"line_number":49,"context_line":"            check_func\u003dlambda ext: ext.name in CONF.api.api_v2_controllers,"},{"line_number":50,"context_line":"            namespace\u003d\u0027climate.api.v2.controllers.extensions\u0027,"},{"line_number":51,"context_line":"            invoke_on_load\u003dTrue"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAWH%2F94RE%3D","line":48,"updated":"2014-04-01 13:25:43.000000000","message":"What happens if a plugin fails during its initialization?\nShould Climate API start with all the plugins that load OK even if some fails to load, or not start at all if at least one plugin fails?","commit_id":"c9fc524bca199b2f0b53041027b1db9565933b6d"},{"author":{"_account_id":9331,"name":"Pablo Andres Fuente","email":"pablo.andres.fuente@gmail.com","username":"pafuent"},"change_message_id":"1a39ac6921db140ba358179aa6578160df6dd555","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    def __init__(self):"},{"line_number":46,"context_line":"        extensions \u003d []"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        extension_manager \u003d enabled.EnabledExtensionManager("},{"line_number":49,"context_line":"            check_func\u003dlambda ext: ext.name in CONF.api.api_v2_controllers,"},{"line_number":50,"context_line":"            namespace\u003d\u0027climate.api.v2.controllers.extensions\u0027,"},{"line_number":51,"context_line":"            invoke_on_load\u003dTrue"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAXX%2F%2F5NE%3D","line":48,"updated":"2014-04-25 16:05:07.000000000","message":"What happens if a plugin fails during its initialization? Should Climate API start with all the plugins that load OK even if some fails to load, or not start at all if at least one plugin fails?\nWe discussed about this on IRC, but is not clear for me what is your final opinion.\nAs a reference, I did this https://review.openstack.org/#/c/82181/ for Climate Manager.","commit_id":"5b155cb5c5a505194adb5a6ec27064e68072d982"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"076e2e0b2f3248553d42cc794fb6759e5734284b","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    def __init__(self):"},{"line_number":46,"context_line":"        extensions \u003d []"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        extension_manager \u003d enabled.EnabledExtensionManager("},{"line_number":49,"context_line":"            check_func\u003dlambda ext: ext.name in CONF.api.api_v2_controllers,"},{"line_number":50,"context_line":"            namespace\u003d\u0027climate.api.v2.controllers.extensions\u0027,"},{"line_number":51,"context_line":"            invoke_on_load\u003dTrue"}],"source_content_type":"text/x-python","patch_set":11,"id":"7adec928_733bc2eb","line":48,"in_reply_to":"AAAAXX%2F%2F5NE%3D","updated":"2014-05-07 16:38:42.000000000","message":"I\u0027ll provide another ExtensionManager which will log all plugins failing.","commit_id":"5b155cb5c5a505194adb5a6ec27064e68072d982"}],"climate/api/v2/controllers/extensions/__init__.py":[{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"aa753bd7090f73bb18dd5cf39350c12550f49930","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    \"\"\"Optional extra routes to add."},{"line_number":34,"context_line":"    Dict of key/value pairs, where :"},{"line_number":35,"context_line":"        key : API method name redirect (public URL)"},{"line_number":36,"context_line":"        value : redirect target (can be \u0027none\u0027 for routing to HTTP404)"},{"line_number":37,"context_line":"    \"\"\""},{"line_number":38,"context_line":"    extra_routes \u003d {}"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAXH%2F%2FCbo%3D","line":36,"updated":"2014-04-24 13:37:04.000000000","message":"HTTP404 \u003d\u003e HTTP 404","commit_id":"85ae0f3dba655a71fd2837771c887554aaee96ad"},{"author":{"_account_id":9331,"name":"Pablo Andres Fuente","email":"pablo.andres.fuente@gmail.com","username":"pafuent"},"change_message_id":"bbf61c1b1cb376851eccbec57524520670820448","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    \"\"\"Optional extra routes to add."},{"line_number":34,"context_line":"    Dict of key/value pairs, where :"},{"line_number":35,"context_line":"        key : API method name redirect (public URL)"},{"line_number":36,"context_line":"        value : redirect target (can be \u0027none\u0027 for routing to HTTP404)"},{"line_number":37,"context_line":"    \"\"\""},{"line_number":38,"context_line":"    extra_routes \u003d {}"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAW3%2F%2Fc%2B0%3D","line":36,"updated":"2014-04-14 14:16:11.000000000","message":"Is \u0027none\u0027 a string or a None keyword? If is a string, should start with upper case?","commit_id":"85ae0f3dba655a71fd2837771c887554aaee96ad"},{"author":{"_account_id":9331,"name":"Pablo Andres Fuente","email":"pablo.andres.fuente@gmail.com","username":"pafuent"},"change_message_id":"1a39ac6921db140ba358179aa6578160df6dd555","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    \"\"\"Optional extra routes to add."},{"line_number":34,"context_line":"    Dict of key/value pairs, where :"},{"line_number":35,"context_line":"        key : API method name redirect (public URL)"},{"line_number":36,"context_line":"        value : redirect target (can be \u0027none\u0027 for routing to HTTP404)"},{"line_number":37,"context_line":"    \"\"\""},{"line_number":38,"context_line":"    extra_routes \u003d {}"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAXX%2F%2F5MQ%3D","line":36,"updated":"2014-04-25 16:05:07.000000000","message":"Is \u0027none\u0027 a string or a None keyword? If is a string, should start with upper case?\nJay Lau said on patch 9: HTTP404 \u003d\u003e HTTP 404","commit_id":"5b155cb5c5a505194adb5a6ec27064e68072d982"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"076e2e0b2f3248553d42cc794fb6759e5734284b","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    \"\"\"Optional extra routes to add."},{"line_number":34,"context_line":"    Dict of key/value pairs, where :"},{"line_number":35,"context_line":"        key : API method name redirect (public URL)"},{"line_number":36,"context_line":"        value : redirect target (can be \u0027none\u0027 for routing to HTTP404)"},{"line_number":37,"context_line":"    \"\"\""},{"line_number":38,"context_line":"    extra_routes \u003d {}"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7adec928_e50f052d","line":36,"in_reply_to":"AAAAXX%2F%2F5MQ%3D","updated":"2014-05-07 16:38:42.000000000","message":"OK, will provide better handler","commit_id":"5b155cb5c5a505194adb5a6ec27064e68072d982"}],"setup.cfg":[{"author":{"_account_id":9331,"name":"Pablo Andres Fuente","email":"pablo.andres.fuente@gmail.com","username":"pafuent"},"change_message_id":"60a749ae3f2510a79ddc277b8e02dbe7b0fa6fd6","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"climate.api.v2.controllers.extensions \u003d"},{"line_number":40,"context_line":"    oshosts\u003dclimate.api.v2.controllers.extensions.host:HostsController"},{"line_number":41,"context_line":"    leases\u003dclimate.api.v2.controllers.extensions.lease:LeasesController "},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"[build_sphinx]"},{"line_number":44,"context_line":"all_files \u003d 1"}],"source_content_type":"text/x-ttcn-cfg","patch_set":4,"id":"AAAAVn%2F%2B%2Fxw%3D","line":41,"updated":"2014-03-10 20:02:57.000000000","message":"Please remove the withespace","commit_id":"a3bf52917cec201899ff8c8ab3022468a4aea411"}]}
