)]}'
{"glanceclient/shell.py":[{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"4f1ca207c6f0596cf0d9c2c9ae7d7d7c0d9e706d","unresolved":false,"context_lines":[{"line_number":33,"context_line":"import six.moves.urllib.parse as urlparse"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"import glanceclient"},{"line_number":36,"context_line":"from glanceclient._i18n import _"},{"line_number":37,"context_line":"from glanceclient.common import utils"},{"line_number":38,"context_line":"from glanceclient import exc"},{"line_number":39,"context_line":"from glanceclient.openstack.common import importutils"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a930d6b_35fecb6b","line":36,"updated":"2015-01-27 04:05:55.000000000","message":"According to our most practice, we\u0027d like to import module instead of function. So what about do this:\n\n  from glanceclient import _i18n\n  ...\n  _ \u003d _i18n._\n  ...\n  _(\u0027xxxxx\u0027)","commit_id":"4a06eadd32c0f24b01eb2b216f280308a246ccf5"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"08cc717206c63f37f48b3e7fc2669863127cac38","unresolved":false,"context_lines":[{"line_number":33,"context_line":"import six.moves.urllib.parse as urlparse"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"import glanceclient"},{"line_number":36,"context_line":"from glanceclient._i18n import _"},{"line_number":37,"context_line":"from glanceclient.common import utils"},{"line_number":38,"context_line":"from glanceclient import exc"},{"line_number":39,"context_line":"from glanceclient.openstack.common import importutils"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa81d914_b7db481a","line":36,"in_reply_to":"1a930d6b_35fecb6b","updated":"2015-01-28 16:37:30.000000000","message":"Done","commit_id":"4a06eadd32c0f24b01eb2b216f280308a246ccf5"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"3723b1c45fe7f64f720c411b04c706290ecd3376","unresolved":false,"context_lines":[{"line_number":33,"context_line":"import six.moves.urllib.parse as urlparse"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"import glanceclient"},{"line_number":36,"context_line":"from glanceclient._i18n import _"},{"line_number":37,"context_line":"from glanceclient.common import utils"},{"line_number":38,"context_line":"from glanceclient import exc"},{"line_number":39,"context_line":"from glanceclient.openstack.common import importutils"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa81d914_4a58d3fa","line":36,"in_reply_to":"1a930d6b_35fecb6b","updated":"2015-01-27 18:37:49.000000000","message":"Will do","commit_id":"4a06eadd32c0f24b01eb2b216f280308a246ccf5"}],"tox.ini":[{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"4f1ca207c6f0596cf0d9c2c9ae7d7d7c0d9e706d","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"[hacking]"},{"line_number":44,"context_line":"import_exceptions \u003d"},{"line_number":45,"context_line":"    glanceclient._i18n"}],"source_content_type":"text/x-properties","patch_set":5,"id":"1a930d6b_d5eca7bd","line":45,"updated":"2015-01-27 04:05:55.000000000","message":"So why not do a same way like glance? to name in-tree wrapper file as \"glanceclient/i18n.py\" instead of \"_i18n.py\", then we needn\u0027t hacking exception here any more.","commit_id":"4a06eadd32c0f24b01eb2b216f280308a246ccf5"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"08cc717206c63f37f48b3e7fc2669863127cac38","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"[hacking]"},{"line_number":44,"context_line":"import_exceptions \u003d"},{"line_number":45,"context_line":"    glanceclient._i18n"}],"source_content_type":"text/x-properties","patch_set":5,"id":"fa81d914_77d1d0fa","line":45,"in_reply_to":"1a930d6b_d5eca7bd","updated":"2015-01-28 16:37:30.000000000","message":"Done","commit_id":"4a06eadd32c0f24b01eb2b216f280308a246ccf5"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"3723b1c45fe7f64f720c411b04c706290ecd3376","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"[hacking]"},{"line_number":44,"context_line":"import_exceptions \u003d"},{"line_number":45,"context_line":"    glanceclient._i18n"}],"source_content_type":"text/x-properties","patch_set":5,"id":"fa81d914_6acf57b1","line":45,"in_reply_to":"1a930d6b_d5eca7bd","updated":"2015-01-27 18:37:49.000000000","message":"The _ in _i18n is not the cause of the exception here. We can import _i18n as a module and remove this. For clients, we probably don\u0027t want to expose i18n as a public submodule. That would imply that users would be allowed/expected to use it.","commit_id":"4a06eadd32c0f24b01eb2b216f280308a246ccf5"}]}
