)]}'
{"cinder/tests/test_netapp.py":[{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"06ecc13446570c8e5de406f721059bc718a5ee6a","unresolved":false,"context_lines":[{"line_number":1211,"context_line":"    \"\"\"Test case for NetApp api element translations.\"\"\""},{"line_number":1212,"context_line":""},{"line_number":1213,"context_line":"    def setUp(self):"},{"line_number":1214,"context_line":"        super(NetAppApiElementTransTests, self).setUp()"},{"line_number":1215,"context_line":""},{"line_number":1216,"context_line":"    def test_translate_struct_dict_unique_key(self):"},{"line_number":1217,"context_line":"        \"\"\"Tests if dict gets properly converted to NaElements.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAVn%2F%2B6C8%3D","line":1214,"updated":"2014-03-11 13:18:32.000000000","message":"redundant if nothing except super() call.","commit_id":"0624a095ef3924e1bac90f7aa4ae2d6ee49cb89b"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"06ecc13446570c8e5de406f721059bc718a5ee6a","unresolved":false,"context_lines":[{"line_number":1326,"context_line":"            if isinstance(e, TypeError):"},{"line_number":1327,"context_line":"                pass"},{"line_number":1328,"context_line":"            else:"},{"line_number":1329,"context_line":"                self.fail(_(\u0027Error not a TypeError.\u0027))"},{"line_number":1330,"context_line":""},{"line_number":1331,"context_line":"    def test_setter_invalid_key(self):"},{"line_number":1332,"context_line":"        \"\"\"Tests invalid value raises exception.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAVn%2F%2B6as%3D","line":1329,"updated":"2014-03-11 13:18:32.000000000","message":"lines  1326-1329 can be simplified to next:\n\nin not isinstance(e, TypeError):\n    self.fail(_(\u0027Error not a TypeError.\u0027))","commit_id":"0624a095ef3924e1bac90f7aa4ae2d6ee49cb89b"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"06ecc13446570c8e5de406f721059bc718a5ee6a","unresolved":false,"context_lines":[{"line_number":1337,"context_line":"            if isinstance(e, KeyError):"},{"line_number":1338,"context_line":"                pass"},{"line_number":1339,"context_line":"            else:"},{"line_number":1340,"context_line":"                self.fail(_(\u0027Error not a KeyError.\u0027))"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAVn%2F%2B6aU%3D","line":1340,"updated":"2014-03-11 13:18:32.000000000","message":"ditto","commit_id":"0624a095ef3924e1bac90f7aa4ae2d6ee49cb89b"}],"cinder/volume/drivers/netapp/api.py":[{"author":{"_account_id":9190,"name":"Glenn M. Gobeli","email":"glenn.gobeli@gmail.com","username":"ggobeli"},"change_message_id":"0b1f7e85474d72c4067e78973712778adcb21914","unresolved":false,"context_lines":[{"line_number":429,"context_line":"                    child \u003d NaElement(key)"},{"line_number":430,"context_line":"                    child.add_child_elem(value)"},{"line_number":431,"context_line":"                    self.add_child_elem(child)"},{"line_number":432,"context_line":"                elif (isinstance(value, str) or isinstance(value, int)"},{"line_number":433,"context_line":"                      or isinstance(value, float)"},{"line_number":434,"context_line":"                      or isinstance(value, long)):"},{"line_number":435,"context_line":"                    self.add_new_child(key, str(value))"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAVn%2F%2Fs%2FY%3D","line":432,"updated":"2014-03-04 15:48:02.000000000","message":"I have noted from the Pep*:\n\"The preferred place to break around a binary operator is after the operator, not before it.\"\n\nShould we modify to line break after each \u0027or\u0027 and place the \u0027or at the end of the line instead of beginning of next line?\n\nif xxxxxx or\n   yyyyyy or\n   zzzzzz:","commit_id":"59a7ad14d78bc87d1ebd4c871334874a69f9d6e4"},{"author":{"_account_id":9190,"name":"Glenn M. Gobeli","email":"glenn.gobeli@gmail.com","username":"ggobeli"},"change_message_id":"0b1f7e85474d72c4067e78973712778adcb21914","unresolved":false,"context_lines":[{"line_number":467,"context_line":""},{"line_number":468,"context_line":"        if isinstance(data_struct, list) or isinstance(data_struct, tuple):"},{"line_number":469,"context_line":"            for el in data_struct:"},{"line_number":470,"context_line":"                if (isinstance(el, list) or isinstance(el, tuple)"},{"line_number":471,"context_line":"                        or isinstance(el, dict)):"},{"line_number":472,"context_line":"                    self.translate_struct(el)"},{"line_number":473,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAVn%2F%2Fs%2BM%3D","line":470,"updated":"2014-03-04 15:48:02.000000000","message":"Same as above\"\n\nif xxxxxx or\n   yyyyyy or\n   zzzzzz:","commit_id":"59a7ad14d78bc87d1ebd4c871334874a69f9d6e4"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"29de2d68ec175d7c9d749908bc63a9c9f6b78224","unresolved":false,"context_lines":[{"line_number":430,"context_line":"                    child.add_child_elem(value)"},{"line_number":431,"context_line":"                    self.add_child_elem(child)"},{"line_number":432,"context_line":"                elif (isinstance(value, str) or isinstance(value, int) or"},{"line_number":433,"context_line":"                      isinstance(value, float) or isinstance(value, long)):"},{"line_number":434,"context_line":"                    self.add_new_child(key, str(value))"},{"line_number":435,"context_line":"                elif (isinstance(value, list) or isinstance(value, tuple) or"},{"line_number":436,"context_line":"                      isinstance(value, dict)):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVn%2F%2FYnU%3D","line":433,"updated":"2014-03-06 13:47:42.000000000","message":"lines 432 and 433 can be simplified to:\n\nelif isinstance(value, (str, int, float, long)):","commit_id":"c3f5e1b7f7de7a7753c056b8429b551253360db7"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"29de2d68ec175d7c9d749908bc63a9c9f6b78224","unresolved":false,"context_lines":[{"line_number":432,"context_line":"                elif (isinstance(value, str) or isinstance(value, int) or"},{"line_number":433,"context_line":"                      isinstance(value, float) or isinstance(value, long)):"},{"line_number":434,"context_line":"                    self.add_new_child(key, str(value))"},{"line_number":435,"context_line":"                elif (isinstance(value, list) or isinstance(value, tuple) or"},{"line_number":436,"context_line":"                      isinstance(value, dict)):"},{"line_number":437,"context_line":"                    child \u003d NaElement(key)"},{"line_number":438,"context_line":"                    child.translate_struct(value)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVn%2F%2FYnE%3D","line":435,"updated":"2014-03-06 13:47:42.000000000","message":"ditto","commit_id":"c3f5e1b7f7de7a7753c056b8429b551253360db7"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"29de2d68ec175d7c9d749908bc63a9c9f6b78224","unresolved":false,"context_lines":[{"line_number":451,"context_line":""},{"line_number":452,"context_line":"           Example usage:"},{"line_number":453,"context_line":"           1."},{"line_number":454,"context_line":"           \u003croot\u003e\u003celem1\u003evl1\u003c/elem1\u003e\u003celem2\u003evl2\u003c/elem2\u003e\u003celem3\u003evl3\u003c/elem3\u003e\u003c/root\u003e"},{"line_number":455,"context_line":"           The above can be achieved by doing"},{"line_number":456,"context_line":"           root \u003d NaElement(\u0027root\u0027)"},{"line_number":457,"context_line":"           root.translate_struct({\u0027elem1\u0027: \u0027vl1\u0027, \u0027elem2\u0027: \u0027vl2\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVn%2F%2FYkI%3D","line":454,"updated":"2014-03-06 13:47:42.000000000","message":"Would like see more human-readable variant, for example:\n\n\u003croot\u003e\n    \u003celem1\u003evl1\u003c/elem1\u003e\n    \u003celem2\u003evl2\u003c/elem2\u003e\n    \u003celem3\u003evl3\u003c/elem3\u003e\n\u003c/root\u003e","commit_id":"c3f5e1b7f7de7a7753c056b8429b551253360db7"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"29de2d68ec175d7c9d749908bc63a9c9f6b78224","unresolved":false,"context_lines":[{"line_number":457,"context_line":"           root.translate_struct({\u0027elem1\u0027: \u0027vl1\u0027, \u0027elem2\u0027: \u0027vl2\u0027,"},{"line_number":458,"context_line":"                                  \u0027elem3\u0027: \u0027vl3\u0027})"},{"line_number":459,"context_line":"           2."},{"line_number":460,"context_line":"           \u003croot\u003e\u003celem1\u003evl1\u003c/elem1\u003e\u003celem2\u003evl2\u003c/elem2\u003e\u003celem1\u003evl3\u003c/elem1\u003e\u003c/root\u003e"},{"line_number":461,"context_line":"           The above can be achieved by doing"},{"line_number":462,"context_line":"           root \u003d NaElement(\u0027root\u0027)"},{"line_number":463,"context_line":"           root.translate_struct([{\u0027elem1\u0027: \u0027vl1\u0027, \u0027elem2\u0027: \u0027vl2\u0027},"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVn%2F%2FYkA%3D","line":460,"updated":"2014-03-06 13:47:42.000000000","message":"ditto","commit_id":"c3f5e1b7f7de7a7753c056b8429b551253360db7"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"29de2d68ec175d7c9d749908bc63a9c9f6b78224","unresolved":false,"context_lines":[{"line_number":464,"context_line":"                                  {\u0027elem1\u0027: \u0027vl3\u0027}])"},{"line_number":465,"context_line":"        \"\"\""},{"line_number":466,"context_line":""},{"line_number":467,"context_line":"        if isinstance(data_struct, list) or isinstance(data_struct, tuple):"},{"line_number":468,"context_line":"            for el in data_struct:"},{"line_number":469,"context_line":"                if (isinstance(el, list) or isinstance(el, tuple) or"},{"line_number":470,"context_line":"                        isinstance(el, dict)):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVn%2F%2FYlU%3D","line":467,"updated":"2014-03-06 13:47:42.000000000","message":"ditto","commit_id":"c3f5e1b7f7de7a7753c056b8429b551253360db7"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"29de2d68ec175d7c9d749908bc63a9c9f6b78224","unresolved":false,"context_lines":[{"line_number":467,"context_line":"        if isinstance(data_struct, list) or isinstance(data_struct, tuple):"},{"line_number":468,"context_line":"            for el in data_struct:"},{"line_number":469,"context_line":"                if (isinstance(el, list) or isinstance(el, tuple) or"},{"line_number":470,"context_line":"                        isinstance(el, dict)):"},{"line_number":471,"context_line":"                    self.translate_struct(el)"},{"line_number":472,"context_line":"                else:"},{"line_number":473,"context_line":"                    self.add_child_elem(NaElement(str(el)))"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVn%2F%2FYnA%3D","line":470,"updated":"2014-03-06 13:47:42.000000000","message":"ditto","commit_id":"c3f5e1b7f7de7a7753c056b8429b551253360db7"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"b619a34c24629d2e64ba84fda08d0010b3b36393","unresolved":false,"context_lines":[{"line_number":429,"context_line":"                    child \u003d NaElement(key)"},{"line_number":430,"context_line":"                    child.add_child_elem(value)"},{"line_number":431,"context_line":"                    self.add_child_elem(child)"},{"line_number":432,"context_line":"                elif (isinstance(value, (str, int, float, long))):"},{"line_number":433,"context_line":"                    self.add_new_child(key, str(value))"},{"line_number":434,"context_line":"                elif (isinstance(value, (list, tuple, dict))):"},{"line_number":435,"context_line":"                    child \u003d NaElement(key)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAVn%2F%2FLFI%3D","line":432,"updated":"2014-03-07 21:38:59.000000000","message":"Brackets around \"isinstance\" are redundant.","commit_id":"e153ae8eca11e25de29fe2bc26ba83e6125ed9b1"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"b619a34c24629d2e64ba84fda08d0010b3b36393","unresolved":false,"context_lines":[{"line_number":431,"context_line":"                    self.add_child_elem(child)"},{"line_number":432,"context_line":"                elif (isinstance(value, (str, int, float, long))):"},{"line_number":433,"context_line":"                    self.add_new_child(key, str(value))"},{"line_number":434,"context_line":"                elif (isinstance(value, (list, tuple, dict))):"},{"line_number":435,"context_line":"                    child \u003d NaElement(key)"},{"line_number":436,"context_line":"                    child.translate_struct(value)"},{"line_number":437,"context_line":"                    self.add_child_elem(child)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAVn%2F%2FLE8%3D","line":434,"updated":"2014-03-07 21:38:59.000000000","message":"Brackets around \"isinstance\" are redundant.","commit_id":"e153ae8eca11e25de29fe2bc26ba83e6125ed9b1"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"b619a34c24629d2e64ba84fda08d0010b3b36393","unresolved":false,"context_lines":[{"line_number":436,"context_line":"                    child.translate_struct(value)"},{"line_number":437,"context_line":"                    self.add_child_elem(child)"},{"line_number":438,"context_line":"                elif value is None:"},{"line_number":439,"context_line":"                    self.add_child_elem(NaElement(key))"},{"line_number":440,"context_line":"                else:"},{"line_number":441,"context_line":"                    raise TypeError(_(\u0027Not a valid value for NaElement.\u0027))"},{"line_number":442,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAVn%2F%2FLPM%3D","line":439,"updated":"2014-03-07 21:38:59.000000000","message":"Lines 438 and 439 are redundant, because if value is None, condition in line 427  will result False, then lines 444-445 will be run. That already do the same.","commit_id":"e153ae8eca11e25de29fe2bc26ba83e6125ed9b1"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"b619a34c24629d2e64ba84fda08d0010b3b36393","unresolved":false,"context_lines":[{"line_number":472,"context_line":""},{"line_number":473,"context_line":"        if isinstance(data_struct, (list, tuple)):"},{"line_number":474,"context_line":"            for el in data_struct:"},{"line_number":475,"context_line":"                if (isinstance(el, (list, tuple, dict))):"},{"line_number":476,"context_line":"                    self.translate_struct(el)"},{"line_number":477,"context_line":"                else:"},{"line_number":478,"context_line":"                    self.add_child_elem(NaElement(str(el)))"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAVn%2F%2FLE4%3D","line":475,"updated":"2014-03-07 21:38:59.000000000","message":"Brackets around \"isinstance\" are redundant.","commit_id":"e153ae8eca11e25de29fe2bc26ba83e6125ed9b1"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"b619a34c24629d2e64ba84fda08d0010b3b36393","unresolved":false,"context_lines":[{"line_number":475,"context_line":"                if (isinstance(el, (list, tuple, dict))):"},{"line_number":476,"context_line":"                    self.translate_struct(el)"},{"line_number":477,"context_line":"                else:"},{"line_number":478,"context_line":"                    self.add_child_elem(NaElement(str(el)))"},{"line_number":479,"context_line":"        elif isinstance(data_struct, dict):"},{"line_number":480,"context_line":"            for k in data_struct.keys():"},{"line_number":481,"context_line":"                child \u003d NaElement(k)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAVn%2F%2FLEQ%3D","line":478,"updated":"2014-03-07 21:38:59.000000000","message":"In line 443 key used without str convertion, here with it. Is it intended?","commit_id":"e153ae8eca11e25de29fe2bc26ba83e6125ed9b1"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"b619a34c24629d2e64ba84fda08d0010b3b36393","unresolved":false,"context_lines":[{"line_number":479,"context_line":"        elif isinstance(data_struct, dict):"},{"line_number":480,"context_line":"            for k in data_struct.keys():"},{"line_number":481,"context_line":"                child \u003d NaElement(k)"},{"line_number":482,"context_line":"                if (isinstance(data_struct[k], (dict, list, tuple))):"},{"line_number":483,"context_line":"                    child.translate_struct(data_struct[k])"},{"line_number":484,"context_line":"                else:"},{"line_number":485,"context_line":"                    if data_struct[k]:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAVn%2F%2FLEw%3D","line":482,"updated":"2014-03-07 21:38:59.000000000","message":"Brackets around \"isinstance\" are redundant.","commit_id":"e153ae8eca11e25de29fe2bc26ba83e6125ed9b1"}]}
