)]}'
{"marconi/proxy/resources/catalogue.py":[{"author":{"_account_id":6943,"name":"Zhihao Yuan","email":"zhihao.yuan@rackspace.com","username":"zyuan"},"change_message_id":"2ee3aa1a47dc1c3dce7e3e68e21f772f3f3e01d3","unresolved":false,"context_lines":[{"line_number":63,"context_line":"def _normalize(entry):"},{"line_number":64,"context_line":"    return {"},{"line_number":65,"context_line":"        \u0027name\u0027: entry[\u0027name\u0027],"},{"line_number":66,"context_line":"        \u0027href\u0027: entry[\u0027location\u0027],"},{"line_number":67,"context_line":"        \u0027metadata\u0027: entry[\u0027metadata\u0027]"},{"line_number":68,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAS3%2F%2F40s%3D","line":66,"updated":"2013-09-17 17:26:51.000000000","message":"It this the only difference?  Make the function generic?\nI wrote one before with copying, but Kurt thinks that\u0027s slow.","commit_id":"b179b8bf397a21bcca048e43c1bea4f24d07782a"}],"marconi/proxy/resources/partitions.py":[{"author":{"_account_id":6943,"name":"Zhihao Yuan","email":"zhihao.yuan@rackspace.com","username":"zyuan"},"change_message_id":"2ee3aa1a47dc1c3dce7e3e68e21f772f3f3e01d3","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        hosts, weight \u003d data[\u0027hosts\u0027], data[\u0027weight\u0027]"},{"line_number":86,"context_line":"        response.body \u003d json.dumps({"},{"line_number":87,"context_line":"            \u0027nodes\u0027: data[\u0027hosts\u0027],"},{"line_number":88,"context_line":"            \u0027weight\u0027: data[\u0027weight\u0027],"},{"line_number":89,"context_line":"        }, ensure_ascii\u003dFalse)"},{"line_number":90,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAS3%2F%2F40g%3D","line":87,"updated":"2013-09-17 17:26:51.000000000","message":"Still spelled \u0027nodes\u0027 here?","commit_id":"b179b8bf397a21bcca048e43c1bea4f24d07782a"}],"marconi/proxy/storage/base.py":[{"author":{"_account_id":6943,"name":"Zhihao Yuan","email":"zhihao.yuan@rackspace.com","username":"zyuan"},"change_message_id":"2ee3aa1a47dc1c3dce7e3e68e21f772f3f3e01d3","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        :param project: str - Namespace to check."},{"line_number":154,"context_line":"        :param queue: str - Particular queue to check for"},{"line_number":155,"context_line":"        :return: True | False"},{"line_number":156,"context_line":"        \"\"\""},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    @abc.abstractmethod"},{"line_number":159,"context_line":"    def insert(self, project, queue, location, metadata\u003d{}):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAS3%2F%2F40A%3D","line":156,"updated":"2013-09-17 17:26:51.000000000","message":"NotImplementedError\nsame above.","commit_id":"b179b8bf397a21bcca048e43c1bea4f24d07782a"}],"marconi/proxy/storage/mongodb/catalogue.py":[{"author":{"_account_id":6943,"name":"Zhihao Yuan","email":"zhihao.yuan@rackspace.com","username":"zyuan"},"change_message_id":"2ee3aa1a47dc1c3dce7e3e68e21f772f3f3e01d3","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        fields \u003d {"},{"line_number":52,"context_line":"            \u0027_id\u0027: 0,"},{"line_number":53,"context_line":"            \u0027q\u0027: 1,"},{"line_number":54,"context_line":"            \u0027m\u0027: 1 if include_metadata else 0,"},{"line_number":55,"context_line":"            \u0027l\u0027: 1 if include_location else 0,"},{"line_number":56,"context_line":"        }"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAS3%2F%2F4zI%3D","line":54,"updated":"2013-09-17 17:26:51.000000000","message":"I guess bool also work here.","commit_id":"b179b8bf397a21bcca048e43c1bea4f24d07782a"},{"author":{"_account_id":6943,"name":"Zhihao Yuan","email":"zhihao.yuan@rackspace.com","username":"zyuan"},"change_message_id":"2ee3aa1a47dc1c3dce7e3e68e21f772f3f3e01d3","unresolved":false,"context_lines":[{"line_number":75,"context_line":"    @utils.raise_conn_error"},{"line_number":76,"context_line":"    def exists(self, project, queue):"},{"line_number":77,"context_line":"        try:"},{"line_number":78,"context_line":"            next(self._col.find({\u0027p\u0027: project, \u0027q\u0027: queue}))"},{"line_number":79,"context_line":"        except StopIteration:"},{"line_number":80,"context_line":"            return False"},{"line_number":81,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAS3%2F%2F4y0%3D","line":78,"updated":"2013-09-17 17:26:51.000000000","message":"find_one does this for you.","commit_id":"b179b8bf397a21bcca048e43c1bea4f24d07782a"}],"marconi/proxy/storage/mongodb/partitions.py":[{"author":{"_account_id":6943,"name":"Zhihao Yuan","email":"zhihao.yuan@rackspace.com","username":"zyuan"},"change_message_id":"2ee3aa1a47dc1c3dce7e3e68e21f772f3f3e01d3","unresolved":false,"context_lines":[{"line_number":18,"context_line":"Schema:"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"{"},{"line_number":21,"context_line":"    \u0027n\u0027: partition_name::String,"},{"line_number":22,"context_line":"    \u0027h\u0027: [url::string],"},{"line_number":23,"context_line":"    \u0027w\u0027: weight::Int,"},{"line_number":24,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAS3%2F%2F4yA%3D","line":21,"updated":"2013-09-17 17:26:51.000000000","message":"Nit picking:\npartition_name :: String pls...","commit_id":"b179b8bf397a21bcca048e43c1bea4f24d07782a"}],"marconi/proxy/utils/node.py":[{"author":{"_account_id":6943,"name":"Zhihao Yuan","email":"zhihao.yuan@rackspace.com","username":"zyuan"},"change_message_id":"2ee3aa1a47dc1c3dce7e3e68e21f772f3f3e01d3","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    # construct the (partition, weight) lookup table"},{"line_number":32,"context_line":"    for p, w in partitions:"},{"line_number":33,"context_line":"        acc +\u003d w"},{"line_number":34,"context_line":"        lookup.append((p, acc))"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    # select a partition from the lookup table"},{"line_number":37,"context_line":"    selector \u003d random.randint(0, acc - 1)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAS3%2F%2F4xs%3D","line":34,"updated":"2013-09-17 17:26:51.000000000","message":"This is somewhere you can actually use list comprehension...","commit_id":"b179b8bf397a21bcca048e43c1bea4f24d07782a"},{"author":{"_account_id":6943,"name":"Zhihao Yuan","email":"zhihao.yuan@rackspace.com","username":"zyuan"},"change_message_id":"2ee3aa1a47dc1c3dce7e3e68e21f772f3f3e01d3","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    selector \u003d random.randint(0, acc - 1)"},{"line_number":38,"context_line":"    last \u003d 0"},{"line_number":39,"context_line":"    for p, w in lookup:"},{"line_number":40,"context_line":"        if selector \u003e\u003d last and selector \u003c w:"},{"line_number":41,"context_line":"            return p"},{"line_number":42,"context_line":"        last \u003d w"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAS3%2F%2F4xE%3D","line":40,"updated":"2013-09-17 17:26:51.000000000","message":"if last \u003c\u003d selector \u003c w:","commit_id":"b179b8bf397a21bcca048e43c1bea4f24d07782a"}]}
