)]}'
{"tests/test_notifier_logger.py":[{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"939f09fd85a56f0a87123a7c0a5ff83b64ffc040","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from oslo import messaging"},{"line_number":26,"context_line":"from oslo.messaging.openstack.common import timeutils"},{"line_number":27,"context_line":"from six.moves import _thread"},{"line_number":28,"context_line":"from tests import test_notifier"},{"line_number":29,"context_line":"from tests import utils as test_utils"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9ad9bd40_2007911a","line":27,"updated":"2014-05-06 11:09:13.000000000","message":"I\u0027d prefer to avoid using _thread - a low-level library not supported on all platforms - for such a simple case.","commit_id":"c1cebecd7705246c4a7e4b2c9e18a8645d02884f"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"68fc107931ebf545f1bfa8a38570bc1d4a9c0da3","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from oslo import messaging"},{"line_number":26,"context_line":"from oslo.messaging.openstack.common import timeutils"},{"line_number":27,"context_line":"from six.moves import _thread"},{"line_number":28,"context_line":"from tests import test_notifier"},{"line_number":29,"context_line":"from tests import utils as test_utils"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7adec928_48f7738b","line":27,"in_reply_to":"7adec928_19617139","updated":"2014-05-15 12:31:33.000000000","message":"what about remove the try/except  logic as victor suggested ?","commit_id":"c1cebecd7705246c4a7e4b2c9e18a8645d02884f"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"d2a5caaa6c38d698a0f4fcd5116e9dba6971b92c","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from oslo import messaging"},{"line_number":26,"context_line":"from oslo.messaging.openstack.common import timeutils"},{"line_number":27,"context_line":"from six.moves import _thread"},{"line_number":28,"context_line":"from tests import test_notifier"},{"line_number":29,"context_line":"from tests import utils as test_utils"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7adec928_68042f18","line":27,"in_reply_to":"7adec928_48f7738b","updated":"2014-05-15 12:49:37.000000000","message":"Don\u0027t hesitate to propose a different patch if you would like to drop support of Python compiled without thread support (very unlikely platform).","commit_id":"c1cebecd7705246c4a7e4b2c9e18a8645d02884f"},{"author":{"_account_id":333,"name":"Isaku Yamahata","email":"isaku.yamahata@gmail.com","username":"yamahata"},"change_message_id":"7f9fd8f847e97e93a963e28ccd5588da795e72c4","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from oslo import messaging"},{"line_number":26,"context_line":"from oslo.messaging.openstack.common import timeutils"},{"line_number":27,"context_line":"from six.moves import _thread"},{"line_number":28,"context_line":"from tests import test_notifier"},{"line_number":29,"context_line":"from tests import utils as test_utils"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9ad9bd40_ffee1bec","line":27,"in_reply_to":"9ad9bd40_2007911a","updated":"2014-05-06 16:44:22.000000000","message":"Then, how about\ntrying to import _thread, next try threading, then None?","commit_id":"c1cebecd7705246c4a7e4b2c9e18a8645d02884f"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"5366f689f7d820078435a8e3ffd8ca6eff715d9d","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from oslo import messaging"},{"line_number":26,"context_line":"from oslo.messaging.openstack.common import timeutils"},{"line_number":27,"context_line":"from six.moves import _thread"},{"line_number":28,"context_line":"from tests import test_notifier"},{"line_number":29,"context_line":"from tests import utils as test_utils"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7adec928_19617139","line":27,"in_reply_to":"9ad9bd40_ffee1bec","updated":"2014-05-12 13:18:42.000000000","message":"Private modules (names starting with \"_\") must not be used outside Python standard library.\n\nI don\u0027t understand why you prefer a private module whereas threading.current_thread().ident already works on all Python implementations (CPython, PyPy, Python 2 and Python 3).\n\nI don\u0027t understand why Oslo Messaging handles the import error on \"import threading\". Did someone seriously tried to run OpenStack on a Python compiled without thread support? What is the use case? Even on embedded devices, Python is compiled with threads support (I know, I worked with Python on small embedded devices).","commit_id":"c1cebecd7705246c4a7e4b2c9e18a8645d02884f"}]}
