)]}'
{"novaclient/auth_plugin.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"91896395e59afb6eb3ee7c5e3589ae90b21f85b2","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import logging"},{"line_number":18,"context_line":"import pkg_resources"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"import six"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from novaclient import exceptions"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F9FV4%3D","side":"PARENT","line":19,"updated":"2013-12-16 23:25:18.000000000","message":"This blank line is supposed to separate the first group of imports (standard library imports) from third-party imports such as six…and, incidentally the \"pkg_resources\" import, which should have been in that second group.","commit_id":"02074d5d4df1b1f5cbe989ef429b1df683721994"},{"author":{"_account_id":9214,"name":"Sergio Cazzolato","email":"sergiocazzolato@gmail.com","username":"sjcazzol"},"change_message_id":"3ba99e96a194380b510548120bd3e6f8cf1fa774","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import logging"},{"line_number":18,"context_line":"import pkg_resources"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"import six"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from novaclient import exceptions"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F9CYE%3D","side":"PARENT","line":19,"in_reply_to":"AAAATn%2F9FV4%3D","updated":"2013-12-17 13:54:12.000000000","message":"Done","commit_id":"02074d5d4df1b1f5cbe989ef429b1df683721994"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"91896395e59afb6eb3ee7c5e3589ae90b21f85b2","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        try:"},{"line_number":40,"context_line":"            auth_plugin \u003d ep.load()"},{"line_number":41,"context_line":"        except (ImportError, pkg_resources.UnknownExtra, AttributeError) as e:"},{"line_number":42,"context_line":"            logger.debug(_(\"ERROR: Cannot load auth plugin %s\") % ep.name)"},{"line_number":43,"context_line":"            logger.debug(e, exc_info\u003d1)"},{"line_number":44,"context_line":"        else:"},{"line_number":45,"context_line":"            _discovered_plugins[ep.name] \u003d auth_plugin"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F9FTI%3D","line":42,"updated":"2013-12-16 23:25:18.000000000","message":"I\u0027m not certain it makes sense to translate debug messages.  These messages are generally of use only to developers, after all…","commit_id":"0fdd581c46920520121043a17165628363fbbd17"},{"author":{"_account_id":7770,"name":"Abhishek Chanda","email":"abhishek.becs@gmail.com","username":"abhishek"},"change_message_id":"e8707e48439193aa0593cfe9bc02eaf52aa5b44a","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        try:"},{"line_number":40,"context_line":"            auth_plugin \u003d ep.load()"},{"line_number":41,"context_line":"        except (ImportError, pkg_resources.UnknownExtra, AttributeError) as e:"},{"line_number":42,"context_line":"            logger.debug(_(\"ERROR: Cannot load auth plugin %s\") % ep.name)"},{"line_number":43,"context_line":"            logger.debug(e, exc_info\u003d1)"},{"line_number":44,"context_line":"        else:"},{"line_number":45,"context_line":"            _discovered_plugins[ep.name] \u003d auth_plugin"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F9DX4%3D","line":42,"in_reply_to":"AAAATn%2F9FTI%3D","updated":"2013-12-17 09:10:43.000000000","message":"I\u0027d actually prefer to translate, to be consistent. Besides, it\u0027s not unusual for deployers to turn on debug logging.","commit_id":"0fdd581c46920520121043a17165628363fbbd17"}],"novaclient/openstack/common/gettextutils.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"a108eb6bf3ec0744c0ef5bbb8aec14f76d74a5ff","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        return Message(msg, \u0027novaclient\u0027)"},{"line_number":62,"context_line":"    else:"},{"line_number":63,"context_line":"        if six.PY3:"},{"line_number":64,"context_line":"            return _t.gettext(msg)"},{"line_number":65,"context_line":"        return _t.ugettext(msg)"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F8wZE%3D","line":64,"updated":"2013-12-20 16:33:42.000000000","message":"Is this synchronized from an oslo-incubator patch?  Please mention the relevant change ID or commit SHA in the commit message…","commit_id":"1092233116c61be30710d1b4cff5c2c98cef588c"}],"novaclient/shell.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"91896395e59afb6eb3ee7c5e3589ae90b21f85b2","unresolved":false,"context_lines":[{"line_number":32,"context_line":"import pkg_resources"},{"line_number":33,"context_line":"import six"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"from novaclient.openstack.common.gettextutils import _"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"HAS_KEYRING \u003d False"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F9FVc%3D","line":35,"updated":"2013-12-16 23:25:18.000000000","message":"You missed the novaclient imports below; that\u0027s where this import should go","commit_id":"0fdd581c46920520121043a17165628363fbbd17"},{"author":{"_account_id":9214,"name":"Sergio Cazzolato","email":"sergiocazzolato@gmail.com","username":"sjcazzol"},"change_message_id":"3ba99e96a194380b510548120bd3e6f8cf1fa774","unresolved":false,"context_lines":[{"line_number":32,"context_line":"import pkg_resources"},{"line_number":33,"context_line":"import six"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"from novaclient.openstack.common.gettextutils import _"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"HAS_KEYRING \u003d False"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F9CVo%3D","line":35,"in_reply_to":"AAAATn%2F9FVc%3D","updated":"2013-12-17 13:54:12.000000000","message":"Done","commit_id":"0fdd581c46920520121043a17165628363fbbd17"}],"novaclient/v1_1/contrib/baremetal.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"91896395e59afb6eb3ee7c5e3589ae90b21f85b2","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from novaclient import base"},{"line_number":20,"context_line":"from novaclient import utils"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from novaclient.openstack.common.gettextutils import _"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class BareMetalNode(base.Resource):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F9FUs%3D","line":22,"updated":"2013-12-16 23:25:18.000000000","message":"This import should not be separated from the other novaclient imports.","commit_id":"0fdd581c46920520121043a17165628363fbbd17"},{"author":{"_account_id":9214,"name":"Sergio Cazzolato","email":"sergiocazzolato@gmail.com","username":"sjcazzol"},"change_message_id":"3ba99e96a194380b510548120bd3e6f8cf1fa774","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from novaclient import base"},{"line_number":20,"context_line":"from novaclient import utils"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from novaclient.openstack.common.gettextutils import _"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class BareMetalNode(base.Resource):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F9CXo%3D","line":22,"in_reply_to":"AAAATn%2F9FUs%3D","updated":"2013-12-17 13:54:12.000000000","message":"Done","commit_id":"0fdd581c46920520121043a17165628363fbbd17"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"91896395e59afb6eb3ee7c5e3589ae90b21f85b2","unresolved":false,"context_lines":[{"line_number":154,"context_line":"@utils.arg(\u0027service_host\u0027,"},{"line_number":155,"context_line":"    metavar\u003d\u0027\u003cservice_host\u003e\u0027,"},{"line_number":156,"context_line":"    help\u003d_(\u0027Name of nova compute host which will control this baremetal \u0027"},{"line_number":157,"context_line":"           \u0027node\u0027))"},{"line_number":158,"context_line":"@utils.arg(\u0027cpus\u0027,"},{"line_number":159,"context_line":"    metavar\u003d\u0027\u003ccpus\u003e\u0027,"},{"line_number":160,"context_line":"    type\u003dint,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F9FUI%3D","line":157,"updated":"2013-12-16 23:25:18.000000000","message":"I don\u0027t believe this works, but I\u0027m honestly not sure.  My reasoning is that the help text will be substituted when the .py file is read in.  Please feel free to correct me if this has been taken into account in the openstack.common.gettextutils.","commit_id":"0fdd581c46920520121043a17165628363fbbd17"},{"author":{"_account_id":9214,"name":"Sergio Cazzolato","email":"sergiocazzolato@gmail.com","username":"sjcazzol"},"change_message_id":"3ba99e96a194380b510548120bd3e6f8cf1fa774","unresolved":false,"context_lines":[{"line_number":154,"context_line":"@utils.arg(\u0027service_host\u0027,"},{"line_number":155,"context_line":"    metavar\u003d\u0027\u003cservice_host\u003e\u0027,"},{"line_number":156,"context_line":"    help\u003d_(\u0027Name of nova compute host which will control this baremetal \u0027"},{"line_number":157,"context_line":"           \u0027node\u0027))"},{"line_number":158,"context_line":"@utils.arg(\u0027cpus\u0027,"},{"line_number":159,"context_line":"    metavar\u003d\u0027\u003ccpus\u003e\u0027,"},{"line_number":160,"context_line":"    type\u003dint,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F9CFw%3D","line":157,"in_reply_to":"AAAATn%2F9FUI%3D","updated":"2013-12-17 13:54:12.000000000","message":"The _ function in openstack.common.gettextutils is configured for lazy translation, as I understand this will cover this case and % (format string) operation as well. Please correct me it I didn\u0027t understood correctly the mechanism.","commit_id":"0fdd581c46920520121043a17165628363fbbd17"}]}
