)]}'
{"etc/kds.conf.sample":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"f85b75d6e8507e52d02ea1d5a799415cf6aed924","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[DEFAULT]"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# Options defined in keystone.contrib.kds.common.service"}],"source_content_type":"application/octet-stream","patch_set":10,"id":"AAAAUH%2F%2F3aM%3D","line":1,"updated":"2014-01-07 14:06:19.000000000","message":"can definitely clean up the whitespace in this file","commit_id":"27dca2809c9aa314387dd322570d13eb72f704c4"}],"keystone/contrib/kds/api/config.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"f85b75d6e8507e52d02ea1d5a799415cf6aed924","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"# Server Specific Configurations"},{"line_number":16,"context_line":"server \u003d {"},{"line_number":17,"context_line":"    \u0027port\u0027: \u00279109\u0027,"},{"line_number":18,"context_line":"    \u0027host\u0027: \u00270.0.0.0\u0027"},{"line_number":19,"context_line":"}"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAUH%2F%2F3as%3D","line":17,"updated":"2014-01-07 14:06:19.000000000","message":"can this not be an int? :(","commit_id":"27dca2809c9aa314387dd322570d13eb72f704c4"}],"keystone/contrib/kds/cli/api.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"41619c061dd8e86c6601942124c185fa460f3efd","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    def __call__(self, environ, start_response):"},{"line_number":37,"context_line":"        return self.app(environ, start_response)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"def main():"},{"line_number":41,"context_line":"    service.prepare_service(sys.argv)"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2BDNA%3D","line":39,"updated":"2013-12-03 02:47:15.000000000","message":"needs eventlet","commit_id":"e69480ad8acc7120c68a1500acd94796c44730a3"}],"keystone/contrib/kds/common/paths.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"2ca82abc36d47f72961b6206da04641ee206df05","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"COMMON_DIR \u003d os.path.abspath(os.path.join(os.path.dirname(__file__)))"},{"line_number":18,"context_line":"ROOT_DIR \u003d os.path.join(COMMON_DIR, \u0027..\u0027)"},{"line_number":19,"context_line":"TEST_DIR \u003d os.path.join(ROOT_DIR, \u0027tests\u0027)"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"def root_path(*args):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2BDL8%3D","line":19,"updated":"2013-12-03 02:49:50.000000000","message":"these are incorrect here, fixed higher up.","commit_id":"e69480ad8acc7120c68a1500acd94796c44730a3"}],"keystone/contrib/kds/common/service.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"41619c061dd8e86c6601942124c185fa460f3efd","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from keystone.openstack.common import log"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"CONF \u003d cfg.CONF"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"API_SERVICE_OPTS \u003d ["},{"line_number":22,"context_line":"    cfg.StrOpt(\u0027bind_ip\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2BDM4%3D","line":19,"updated":"2013-12-03 02:47:15.000000000","message":"needs an example /etc/kds.conf file - or should it still be part of keystone.conf?","commit_id":"e69480ad8acc7120c68a1500acd94796c44730a3"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"f85b75d6e8507e52d02ea1d5a799415cf6aed924","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from oslo.config import cfg"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from keystone.openstack.common import log"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"CONF \u003d cfg.CONF"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"API_SERVICE_OPTS \u003d ["}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAUH%2F%2F3aQ%3D","line":18,"updated":"2014-01-07 14:06:19.000000000","message":"missing a blank line between imports and constants","commit_id":"27dca2809c9aa314387dd322570d13eb72f704c4"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"f85b75d6e8507e52d02ea1d5a799415cf6aed924","unresolved":false,"context_lines":[{"line_number":23,"context_line":"               default\u003d\u00270.0.0.0\u0027,"},{"line_number":24,"context_line":"               help\u003d\u0027IP for the server to bind to\u0027),"},{"line_number":25,"context_line":"    cfg.IntOpt(\u0027port\u0027,"},{"line_number":26,"context_line":"               default\u003d9109,"},{"line_number":27,"context_line":"               help\u003d\u0027The port for the server\u0027),"},{"line_number":28,"context_line":"]"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAUH%2F%2F3aU%3D","line":26,"updated":"2014-01-07 14:06:19.000000000","message":"this one is an int...","commit_id":"27dca2809c9aa314387dd322570d13eb72f704c4"}],"keystone/tests/contrib/kds/api/base.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"41619c061dd8e86c6601942124c185fa460f3efd","unresolved":false,"context_lines":[{"line_number":52,"context_line":"                \u0027root\u0027: root,"},{"line_number":53,"context_line":"                \u0027modules\u0027: [\u0027keystone.contrib.kds.api\u0027],"},{"line_number":54,"context_line":"                \u0027static_root\u0027: paths.root_path(\u0027public\u0027),"},{"line_number":55,"context_line":"                \u0027template_path\u0027: paths.root_path(\u0027kds\u0027, \u0027api\u0027, \u0027templates\u0027),"},{"line_number":56,"context_line":"            },"},{"line_number":57,"context_line":"        }"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2BDMo%3D","line":55,"updated":"2013-12-03 02:47:15.000000000","message":"this file doesn\u0027t exist - but nor do we use templates or public.","commit_id":"e69480ad8acc7120c68a1500acd94796c44730a3"}],"keystone/tests/contrib/kds/fixture/conf.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"41619c061dd8e86c6601942124c185fa460f3efd","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from keystone.contrib.kds.common import service"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class Conf(fixtures.Fixture):"},{"line_number":21,"context_line":"    \"\"\"Fixture to manage global conf settings.\"\"\""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    def __init__(self, conf):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2BDNQ%3D","line":20,"updated":"2013-12-03 02:47:15.000000000","message":"was replaced by the one from oslo. remove.","commit_id":"e69480ad8acc7120c68a1500acd94796c44730a3"}],"requirements.txt":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"aefbeb7dd003d6be4cc09509196f2152f27348b9","unresolved":false,"context_lines":[{"line_number":20,"context_line":"oauth2"},{"line_number":21,"context_line":"dogpile.cache\u003e\u003d0.5.0"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"# KDS exclusive dependencies"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"pecan\u003e\u003d0.2.0"},{"line_number":26,"context_line":"pycrypto\u003e\u003d2.6"}],"source_content_type":"text/plain","patch_set":6,"id":"AAAATn%2F9yr0%3D","line":23,"updated":"2013-12-06 16:46:05.000000000","message":"thanks for separating this","commit_id":"584c8aae1fbf2e8ddf5f5434075764029e53c277"}]}
