)]}'
{"nova/cmd/__init__.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"ba49458199c8c4cfda17591ac9b1a0cab7d87a8d","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"# under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"# TODO(mikal): move eventlet imports to nova.__init__ once we move to PBR"},{"line_number":17,"context_line":"import os"},{"line_number":18,"context_line":"import sys"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOX%2F%2F5jI%3D","line":16,"updated":"2013-04-08 16:24:31.000000000","message":"\"PBR\"?","commit_id":"76f7689164c05303df040aad4c85eb792884508e"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"ba49458199c8c4cfda17591ac9b1a0cab7d87a8d","unresolved":false,"context_lines":[{"line_number":22,"context_line":"# implementation which doesn\u0027t work for IPv6. What we\u0027re checking here is"},{"line_number":23,"context_line":"# that the magic environment variable was set when the import happened."},{"line_number":24,"context_line":"if \u0027eventlet\u0027 in sys.modules and not os.environ.get(\u0027EVENTLET_NO_GREENDNS\u0027):"},{"line_number":25,"context_line":"    raise ImportError(\u0027eventlet imported before nova.wrapeventlet \u0027"},{"line_number":26,"context_line":"                      \u0027(env var set to %s)\u0027"},{"line_number":27,"context_line":"                      % os.environ.get(\u0027EVENTLET_NO_GREENDNS\u0027))"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOX%2F%2F5jA%3D","line":25,"updated":"2013-04-08 16:24:31.000000000","message":"You have eliminated nova.wrapeventlet, by the way.","commit_id":"76f7689164c05303df040aad4c85eb792884508e"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"3067065339cdf7d29902be765ec0c6d52be9499a","unresolved":false,"context_lines":[{"line_number":22,"context_line":"# implementation which doesn\u0027t work for IPv6. What we\u0027re checking here is"},{"line_number":23,"context_line":"# that the magic environment variable was set when the import happened."},{"line_number":24,"context_line":"if (\u0027eventlet\u0027 in sys.modules and"},{"line_number":25,"context_line":"    os.environ.get(\u0027EVENTLET_NO_GREENDNS\u0027).lower() !\u003d \u0027yes\u0027):"},{"line_number":26,"context_line":"    raise ImportError(\u0027eventlet imported before nova/cmd/__init__ \u0027"},{"line_number":27,"context_line":"                      \u0027(env var set to %s)\u0027"},{"line_number":28,"context_line":"                      % os.environ.get(\u0027EVENTLET_NO_GREENDNS\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAOn%2F%2F%2Fj8%3D","line":25,"updated":"2013-04-08 21:47:50.000000000","message":"You missed a subtlety of my suggestion.  You need to give .get() a string default, i.e., \u0027\u0027; otherwise, this\u0027ll try to do None.lower(), which obviously isn\u0027t going to do us any good :)\n\n(Another subtlety you missed was the extra indentation I had on the second line of the expression; this addresses a strictness in recent pep8 concerning having the expression distinguish itself from the statements that follow.  Of course, I think we have this strictness turned off, which is why this paragraph is parenthetical, but I thought I\u0027d mention it… ;)","commit_id":"f76f6fbae84df221ab1a08758bee5c700037ff84"}],"nova/tests/__init__.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"ba49458199c8c4cfda17591ac9b1a0cab7d87a8d","unresolved":false,"context_lines":[{"line_number":32,"context_line":"# environment then eventlet monkeypatches socket.getaddrinfo() with an"},{"line_number":33,"context_line":"# implementation which doesn\u0027t work for IPv6. What we\u0027re checking here is"},{"line_number":34,"context_line":"# that the magic environment variable was set when the import happened."},{"line_number":35,"context_line":"if \u0027eventlet\u0027 in sys.modules and not os.environ.get(\u0027EVENTLET_NO_GREENDNS\u0027):"},{"line_number":36,"context_line":"    raise ImportError(\u0027eventlet imported before nova.wrapeventlet \u0027"},{"line_number":37,"context_line":"                      \u0027(env var set to %s)\u0027"},{"line_number":38,"context_line":"                      % os.environ.get(\u0027EVENTLET_NO_GREENDNS\u0027))"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOX%2F%2F5io%3D","line":35,"updated":"2013-04-08 16:24:31.000000000","message":"It might be better to have this second condition a little more explicit, i.e.:\n\n    if (\u0027eventlet\u0027 in sys.modules and\n            os.environ.get(\u0027EVENTLET_NO_GREENDNS\u0027, \u0027\u0027).lower() !\u003d \u0027yes\u0027):\n        …\n\nThis would then match the exact logic that eventlet.green.socket uses.","commit_id":"76f7689164c05303df040aad4c85eb792884508e"}]}
