)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e85bf758f5fa022cc4c87388bbf262c969669345","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Pablo Andres Fuente \u003cpablo.a.fuente@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-02-19 10:36:26 -0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adding DB specific exceptions"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added a new family of exceptions to easily differentiate the exceptions"},{"line_number":10,"context_line":"related to database API."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAUX%2F%2Bl34%3D","line":7,"updated":"2014-02-20 10:13:35.000000000","message":"Well, you\u0027re also doing some extra-checks, not only raising new Climate Exceptions.\n\nPlease modify title and scope of this patch","commit_id":"c37241e61f38c927ef152755e778a7f48d14facf"}],"climate/api/utils.py":[{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"f4b0d27fd53e9f38a4b1dc133f494feed0a4c75a","unresolved":false,"context_lines":[{"line_number":80,"context_line":"                        # Get the exception from manager and common exceptions"},{"line_number":81,"context_line":"                        cls \u003d getattr(manager_exceptions, e.exc_type,"},{"line_number":82,"context_line":"                                      getattr(ex, e.exc_type, None))"},{"line_number":83,"context_line":"                        if cls:"},{"line_number":84,"context_line":"                            return render_error_message(cls.code, e.value,"},{"line_number":85,"context_line":"                                                        cls.code)"},{"line_number":86,"context_line":"                        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUX%2F%2BbXQ%3D","line":83,"updated":"2014-02-21 07:52:22.000000000","message":"more correct thing here will be \u0027id cos is not None\u0027","commit_id":"20245e2166cedaea8e7934d46a5a0892eeed7810"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"3dee8628ba4888d58787ca567b9259fdb0581ad7","unresolved":false,"context_lines":[{"line_number":80,"context_line":"                        # Get the exception from manager and common exceptions"},{"line_number":81,"context_line":"                        cls \u003d getattr(manager_exceptions, e.exc_type,"},{"line_number":82,"context_line":"                                      getattr(ex, e.exc_type, None))"},{"line_number":83,"context_line":"                        if cls:"},{"line_number":84,"context_line":"                            return render_error_message(cls.code, e.value,"},{"line_number":85,"context_line":"                                                        cls.code)"},{"line_number":86,"context_line":"                        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUX%2F%2Bahk%3D","line":83,"in_reply_to":"AAAAUX%2F%2BbXQ%3D","updated":"2014-02-21 09:52:19.000000000","message":"+1 to Dina, that\u0027s a common practice","commit_id":"20245e2166cedaea8e7934d46a5a0892eeed7810"},{"author":{"_account_id":9331,"name":"Pablo Andres Fuente","email":"pablo.andres.fuente@gmail.com","username":"pafuent"},"change_message_id":"abdb3ab74ae67332942919becd2f52345047e353","unresolved":false,"context_lines":[{"line_number":80,"context_line":"                        # Get the exception from manager and common exceptions"},{"line_number":81,"context_line":"                        cls \u003d getattr(manager_exceptions, e.exc_type,"},{"line_number":82,"context_line":"                                      getattr(ex, e.exc_type, None))"},{"line_number":83,"context_line":"                        if cls:"},{"line_number":84,"context_line":"                            return render_error_message(cls.code, e.value,"},{"line_number":85,"context_line":"                                                        cls.code)"},{"line_number":86,"context_line":"                        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAU3%2F%2F3MY%3D","line":83,"in_reply_to":"AAAAUX%2F%2BbXQ%3D","updated":"2014-02-24 13:00:11.000000000","message":"Done","commit_id":"20245e2166cedaea8e7934d46a5a0892eeed7810"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"f4b0d27fd53e9f38a4b1dc133f494feed0a4c75a","unresolved":false,"context_lines":[{"line_number":88,"context_line":"                            # the message because could contain table/column"},{"line_number":89,"context_line":"                            # information"},{"line_number":90,"context_line":"                            cls \u003d getattr(db_exceptions, e.exc_type, None)"},{"line_number":91,"context_line":"                            if cls:"},{"line_number":92,"context_line":"                                return render_error_message("},{"line_number":93,"context_line":"                                    cls.code,"},{"line_number":94,"context_line":"                                    \u0027{0}: A database error occurred\u0027.format("}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUX%2F%2BbXA%3D","line":91,"updated":"2014-02-21 07:52:22.000000000","message":"the same","commit_id":"20245e2166cedaea8e7934d46a5a0892eeed7810"},{"author":{"_account_id":9331,"name":"Pablo Andres Fuente","email":"pablo.andres.fuente@gmail.com","username":"pafuent"},"change_message_id":"abdb3ab74ae67332942919becd2f52345047e353","unresolved":false,"context_lines":[{"line_number":88,"context_line":"                            # the message because could contain table/column"},{"line_number":89,"context_line":"                            # information"},{"line_number":90,"context_line":"                            cls \u003d getattr(db_exceptions, e.exc_type, None)"},{"line_number":91,"context_line":"                            if cls:"},{"line_number":92,"context_line":"                                return render_error_message("},{"line_number":93,"context_line":"                                    cls.code,"},{"line_number":94,"context_line":"                                    \u0027{0}: A database error occurred\u0027.format("}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAU3%2F%2F3MQ%3D","line":91,"in_reply_to":"AAAAUX%2F%2BbXA%3D","updated":"2014-02-24 13:00:11.000000000","message":"Done","commit_id":"20245e2166cedaea8e7934d46a5a0892eeed7810"}],"climate/db/sqlalchemy/api.py":[{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"f4b0d27fd53e9f38a4b1dc133f494feed0a4c75a","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from sqlalchemy.sql.expression import desc"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from climate import context"},{"line_number":25,"context_line":"from climate.db import exceptions as db_exceptions"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from climate.db.sqlalchemy import models"},{"line_number":28,"context_line":"from climate.openstack.common.db import exception as db_exc"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUX%2F%2BbWw%3D","line":25,"updated":"2014-02-21 07:52:22.000000000","message":"there is no other exceptions here except db_exc :D \nI think db_exc and db_exception in the same file is too much :) Maybe you can just from climate.db import exceptions","commit_id":"20245e2166cedaea8e7934d46a5a0892eeed7810"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"777da07d183d8a5f7148093767b55c3abfe6e4f5","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from sqlalchemy.sql.expression import desc"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from climate import context"},{"line_number":25,"context_line":"from climate.db import exceptions as db_exceptions"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from climate.db.sqlalchemy import models"},{"line_number":28,"context_line":"from climate.openstack.common.db import exception as db_exc"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUX%2F%2BaZM%3D","line":25,"in_reply_to":"AAAAUX%2F%2BahE%3D","updated":"2014-02-21 10:06:58.000000000","message":"+1","commit_id":"20245e2166cedaea8e7934d46a5a0892eeed7810"},{"author":{"_account_id":9331,"name":"Pablo Andres Fuente","email":"pablo.andres.fuente@gmail.com","username":"pafuent"},"change_message_id":"abdb3ab74ae67332942919becd2f52345047e353","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from sqlalchemy.sql.expression import desc"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from climate import context"},{"line_number":25,"context_line":"from climate.db import exceptions as db_exceptions"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from climate.db.sqlalchemy import models"},{"line_number":28,"context_line":"from climate.openstack.common.db import exception as db_exc"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAU3%2F%2F3MI%3D","line":25,"in_reply_to":"AAAAUX%2F%2BahE%3D","updated":"2014-02-24 13:00:11.000000000","message":"Done","commit_id":"20245e2166cedaea8e7934d46a5a0892eeed7810"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"3dee8628ba4888d58787ca567b9259fdb0581ad7","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from sqlalchemy.sql.expression import desc"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from climate import context"},{"line_number":25,"context_line":"from climate.db import exceptions as db_exceptions"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from climate.db.sqlalchemy import models"},{"line_number":28,"context_line":"from climate.openstack.common.db import exception as db_exc"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUX%2F%2BahE%3D","line":25,"in_reply_to":"AAAAUX%2F%2BbWw%3D","updated":"2014-02-21 09:52:19.000000000","message":"I would prefer calling common_db_exc for olso and db_exc for climate.db.exc","commit_id":"20245e2166cedaea8e7934d46a5a0892eeed7810"}],"climate/exceptions.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e85bf758f5fa022cc4c87388bbf262c969669345","unresolved":false,"context_lines":[{"line_number":90,"context_line":"    msg_fmt \u003d _(\u0027Current task failed with timeout\u0027)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"class ClimateDBException(ClimateException):"},{"line_number":94,"context_line":"    msg_fmt \u003d _(\u0027An unknown database exception occurred\u0027)"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUX%2F%2Bl4w%3D","line":93,"updated":"2014-02-20 10:13:35.000000000","message":"these exceptions should be defined in manager/exceptions.py","commit_id":"c37241e61f38c927ef152755e778a7f48d14facf"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"efde743680674a451a3bd7a99d7772deb917de50","unresolved":false,"context_lines":[{"line_number":90,"context_line":"    msg_fmt \u003d _(\u0027Current task failed with timeout\u0027)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"class ClimateDBException(ClimateException):"},{"line_number":94,"context_line":"    msg_fmt \u003d _(\u0027An unknown database exception occurred\u0027)"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUX%2F%2BlqY%3D","line":93,"in_reply_to":"AAAAUX%2F%2Bl4w%3D","updated":"2014-02-20 10:34:37.000000000","message":"Well, that said, DB exceptions should be defined on db.exceptions module\n\nOnce you create it, please modify api.service module accordingly for handling DB exceptions on the API side and not present them to the user (security reasons)","commit_id":"c37241e61f38c927ef152755e778a7f48d14facf"},{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"4ec14bdb69788448f026d135baef864564ec0965","unresolved":false,"context_lines":[{"line_number":90,"context_line":"    msg_fmt \u003d _(\u0027Current task failed with timeout\u0027)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"class ClimateDBException(ClimateException):"},{"line_number":94,"context_line":"    msg_fmt \u003d _(\u0027An unknown database exception occurred\u0027)"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUX%2F%2BlqA%3D","line":93,"in_reply_to":"AAAAUX%2F%2BlqY%3D","updated":"2014-02-20 10:36:06.000000000","message":"+1","commit_id":"c37241e61f38c927ef152755e778a7f48d14facf"}]}
