)]}'
{"octavia/common/decorators.py":[{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"a196fdadf5878666ac6acb701cdd9101879f3a87","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"# Borrowed from nova code base, more utilities will be added/borrowed as and"},{"line_number":17,"context_line":"# when needed."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"\"\"\"Decorators to provide backwards compatibility for V1 API.\"\"\""},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_388dfa31","line":17,"range":{"start_line":16,"start_character":2,"end_line":17,"end_character":14},"updated":"2016-12-01 20:35:42.000000000","message":"If it\u0027s borrowed is not Intel Corp copyright.","commit_id":"0cc62ed44d9c29d1c54d9ec6465039e086c2733e"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ed0f85dce899f67078d3a54b85c2f244c95c3069","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"# Borrowed from nova code base, more utilities will be added/borrowed as and"},{"line_number":17,"context_line":"# when needed."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"\"\"\"Decorators to provide backwards compatibility for V1 API.\"\"\""},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_38097a96","line":17,"range":{"start_line":16,"start_character":2,"end_line":17,"end_character":14},"in_reply_to":"3a71b18c_388dfa31","updated":"2016-12-01 20:38:46.000000000","message":"I didn\u0027t find it with some quick searches, so, hmm.","commit_id":"0cc62ed44d9c29d1c54d9ec6465039e086c2733e"},{"author":{"_account_id":14591,"name":"Lubosz Kosnik (diltram)","email":"lubosz.kosnik@intel.com","username":"diltram"},"change_message_id":"a196fdadf5878666ac6acb701cdd9101879f3a87","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    return wrap"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"@rename_kwargs(a\u003d\u0027z\u0027)"},{"line_number":52,"context_line":"class C(object):"},{"line_number":53,"context_line":"    def __init__(self, x, z\u003dNone):"},{"line_number":54,"context_line":"        self.x \u003d x"},{"line_number":55,"context_line":"        self.z \u003d z"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"def log_reads(instance):"},{"line_number":59,"context_line":"    print(\"instance.a \u003d %d\" % instance.a)"},{"line_number":60,"context_line":"    print(\"instance.z \u003d %d\" % instance.z)"},{"line_number":61,"context_line":"    print(\"instance.x \u003d %d\" % instance.x)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"def set_attribute(instance, attribute):"},{"line_number":64,"context_line":"    print(\"Setting instance.%s \u003d 4\" % attribute)"},{"line_number":65,"context_line":"    setattr(instance, attribute, 4)"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"},{"line_number":68,"context_line":"    print(\"Passing old parameters to class: C(1, a\u003d3)\")"},{"line_number":69,"context_line":"    old_style \u003d C(1, a\u003d3)"},{"line_number":70,"context_line":"    log_reads(old_style)"},{"line_number":71,"context_line":"    set_attribute(old_style, \u0027a\u0027)"},{"line_number":72,"context_line":"    log_reads(old_style)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    print(\"\\nPassing new parameters to class: C(1, z\u003d5)\")"},{"line_number":75,"context_line":"    new_style \u003d C(1, z\u003d5)"},{"line_number":76,"context_line":"    log_reads(new_style)"},{"line_number":77,"context_line":"    set_attribute(new_style, \u0027z\u0027)"},{"line_number":78,"context_line":"log_reads(new_style)"},{"line_number":79,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_b8e4aa0d","line":78,"range":{"start_line":51,"start_character":0,"end_line":78,"end_character":20},"updated":"2016-12-01 20:35:42.000000000","message":"this code doesn\u0027t suppose to be here or should be changed into comment describing how it works, but without that __main__ part.","commit_id":"0cc62ed44d9c29d1c54d9ec6465039e086c2733e"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ed0f85dce899f67078d3a54b85c2f244c95c3069","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    return wrap"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"@rename_kwargs(a\u003d\u0027z\u0027)"},{"line_number":52,"context_line":"class C(object):"},{"line_number":53,"context_line":"    def __init__(self, x, z\u003dNone):"},{"line_number":54,"context_line":"        self.x \u003d x"},{"line_number":55,"context_line":"        self.z \u003d z"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"def log_reads(instance):"},{"line_number":59,"context_line":"    print(\"instance.a \u003d %d\" % instance.a)"},{"line_number":60,"context_line":"    print(\"instance.z \u003d %d\" % instance.z)"},{"line_number":61,"context_line":"    print(\"instance.x \u003d %d\" % instance.x)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"def set_attribute(instance, attribute):"},{"line_number":64,"context_line":"    print(\"Setting instance.%s \u003d 4\" % attribute)"},{"line_number":65,"context_line":"    setattr(instance, attribute, 4)"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"},{"line_number":68,"context_line":"    print(\"Passing old parameters to class: C(1, a\u003d3)\")"},{"line_number":69,"context_line":"    old_style \u003d C(1, a\u003d3)"},{"line_number":70,"context_line":"    log_reads(old_style)"},{"line_number":71,"context_line":"    set_attribute(old_style, \u0027a\u0027)"},{"line_number":72,"context_line":"    log_reads(old_style)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    print(\"\\nPassing new parameters to class: C(1, z\u003d5)\")"},{"line_number":75,"context_line":"    new_style \u003d C(1, z\u003d5)"},{"line_number":76,"context_line":"    log_reads(new_style)"},{"line_number":77,"context_line":"    set_attribute(new_style, \u0027z\u0027)"},{"line_number":78,"context_line":"log_reads(new_style)"},{"line_number":79,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_7803f273","line":78,"range":{"start_line":51,"start_character":0,"end_line":78,"end_character":20},"in_reply_to":"3a71b18c_b8e4aa0d","updated":"2016-12-01 20:38:46.000000000","message":"Agreed.","commit_id":"0cc62ed44d9c29d1c54d9ec6465039e086c2733e"}],"octavia/tests/unit/common/test_decorator.py":[{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"c8f399e3e54c212788ecb611f80c4beee623bd21","unresolved":false,"context_lines":[{"line_number":20,"context_line":"import octavia.tests.unit.base as base"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class Test_Decorator(base.TestCase):"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    class Test_Class(object):"},{"line_number":26,"context_line":"        @dec.rename_kwargs(a\u003d\u0027z\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a71b18c_f38a0e1a","line":23,"range":{"start_line":23,"start_character":6,"end_line":23,"end_character":20},"updated":"2016-12-06 19:59:23.000000000","message":"Also, just PascalCase.  You\u0027ve combined PascalCase with snake_case.","commit_id":"e174fa29f0f6a26cb05a4990c2ba99a5f19b044d"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"c8f399e3e54c212788ecb611f80c4beee623bd21","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class Test_Decorator(base.TestCase):"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    class Test_Class(object):"},{"line_number":26,"context_line":"        @dec.rename_kwargs(a\u003d\u0027z\u0027)"},{"line_number":27,"context_line":"        def __init__(self, x, z\u003dNone):"},{"line_number":28,"context_line":"            self.x \u003d x"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a71b18c_3381e6fb","line":25,"updated":"2016-12-06 19:59:23.000000000","message":"same as above","commit_id":"e174fa29f0f6a26cb05a4990c2ba99a5f19b044d"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"4d60f047cb36dac95e264cb13c880ef27a1d5c52","unresolved":false,"context_lines":[{"line_number":23,"context_line":"class Test_Decorator(base.TestCase):"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    class Test_Class(object):"},{"line_number":26,"context_line":"        @dec.rename_kwargs(a\u003d\u0027z\u0027)"},{"line_number":27,"context_line":"        def __init__(self, x, z\u003dNone):"},{"line_number":28,"context_line":"            self.x \u003d x"},{"line_number":29,"context_line":"            self.z \u003d z"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a71b18c_106940f9","line":26,"updated":"2016-12-06 19:46:09.000000000","message":"you should just put this above the class definition.","commit_id":"e174fa29f0f6a26cb05a4990c2ba99a5f19b044d"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"73c7c0e412f54c9e1ca73c6669fd4caf420dff49","unresolved":false,"context_lines":[{"line_number":23,"context_line":"class Test_Decorator(base.TestCase):"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    class Test_Class(object):"},{"line_number":26,"context_line":"        @dec.rename_kwargs(a\u003d\u0027z\u0027)"},{"line_number":27,"context_line":"        def __init__(self, x, z\u003dNone):"},{"line_number":28,"context_line":"            self.x \u003d x"},{"line_number":29,"context_line":"            self.z \u003d z"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a71b18c_b36176d5","line":26,"in_reply_to":"3a71b18c_106940f9","updated":"2016-12-06 19:51:45.000000000","message":"We get this error of \"multiple arg \u0027z\u0027 passed in\" when the decorator sits on the class rather than the init","commit_id":"e174fa29f0f6a26cb05a4990c2ba99a5f19b044d"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"da3e630f30459bf608c86c58e13aa5e182f2c63e","unresolved":false,"context_lines":[{"line_number":23,"context_line":"class Test_Decorator(base.TestCase):"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    class Test_Class(object):"},{"line_number":26,"context_line":"        @dec.rename_kwargs(a\u003d\u0027z\u0027)"},{"line_number":27,"context_line":"        def __init__(self, x, z\u003dNone):"},{"line_number":28,"context_line":"            self.x \u003d x"},{"line_number":29,"context_line":"            self.z \u003d z"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a71b18c_133dca8e","line":26,"in_reply_to":"3a71b18c_b36176d5","updated":"2016-12-06 19:55:35.000000000","message":"hmm, i wasnt\u0027 getting that in the script i wrote for this.  You\u0027ve forced me to pull this down and trace through it!","commit_id":"e174fa29f0f6a26cb05a4990c2ba99a5f19b044d"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"4d60f047cb36dac95e264cb13c880ef27a1d5c52","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"3a71b18c_905c704c","line":42,"updated":"2016-12-06 19:46:09.000000000","message":"Can you make another test that tests out when 2 different classes use this decorator but with the same variable names, that they don\u0027t cause overwrites of the other class?  I don\u0027t think this will be an issue but I could see how it could be.  I\u0027d just like to be sure.","commit_id":"e174fa29f0f6a26cb05a4990c2ba99a5f19b044d"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"56b01e0fb903381d2c9dfc80d575caa598b2fc7a","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def test_similar_classes(self):"},{"line_number":51,"context_line":"        obj \u003d self.TestClass(1, z\u003d5)"},{"line_number":52,"context_line":"        obj2 \u003d self.TestClass(2, z\u003d10)"},{"line_number":53,"context_line":"        self.assertEqual(5, obj.z)"},{"line_number":54,"context_line":"        self.assertEqual(10, obj2.z)"},{"line_number":55,"context_line":"        self.assertEqual(obj.z, obj.a)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a6eadb0_c517dceb","line":52,"updated":"2016-12-12 21:07:47.000000000","message":"This should be self.TestClassDupe right?","commit_id":"6a831bce95271d5cdfe0bac8aff260ac2bcec235"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"c9fb464c8f7ccc81dbfde389182e75db7f2ccf45","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def test_similar_classes(self):"},{"line_number":51,"context_line":"        obj \u003d self.TestClass(1, z\u003d5)"},{"line_number":52,"context_line":"        obj2 \u003d self.TestClass(2, z\u003d10)"},{"line_number":53,"context_line":"        self.assertEqual(5, obj.z)"},{"line_number":54,"context_line":"        self.assertEqual(10, obj2.z)"},{"line_number":55,"context_line":"        self.assertEqual(obj.z, obj.a)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a6eadb0_05655444","line":52,"in_reply_to":"1a6eadb0_c517dceb","updated":"2016-12-12 21:16:28.000000000","message":"Done","commit_id":"6a831bce95271d5cdfe0bac8aff260ac2bcec235"}]}
