)]}'
{"glance/api/middleware/context.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"fe0f81dee68865b2a2857a10b0ce67606382a17c","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            # For python 3 compatibility need to use bytes type"},{"line_number":57,"context_line":"            prefix \u003d \u0027req-\u0027"},{"line_number":58,"context_line":"            if isinstance(request_id, bytes):"},{"line_number":59,"context_line":"                prefix \u003d b\u0027req-\u0027"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"            if not request_id.startswith(prefix):"},{"line_number":62,"context_line":"                request_id \u003d prefix + request_id"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_9072c4e2","line":59,"updated":"2015-07-30 00:48:50.000000000","message":"IMO, these above three lines can be changed to the following one line.\n\nprefix \u003d b\u0027req-\u0027","commit_id":"af73e62673a4db2e2a171b3f955f4f7c40e19e68"},{"author":{"_account_id":8300,"name":"Abhijeet Malawade","email":"abhijeet.malawade@gmail.com","username":"abhijeet"},"change_message_id":"fdfaae4e60165a96d3ee5ea1f2c0f6806bdbf779","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            # For python 3 compatibility need to use bytes type"},{"line_number":57,"context_line":"            prefix \u003d \u0027req-\u0027"},{"line_number":58,"context_line":"            if isinstance(request_id, bytes):"},{"line_number":59,"context_line":"                prefix \u003d b\u0027req-\u0027"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"            if not request_id.startswith(prefix):"},{"line_number":62,"context_line":"                request_id \u003d prefix + request_id"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_9ce2da00","line":59,"in_reply_to":"3a50d1a3_9072c4e2","updated":"2015-07-30 06:24:11.000000000","message":"Hi Takashi San,\n\nNew request-id is getting generated in oslo_context only when you do not pass it to \u0027RequestContext\u0027. \u0027generate_request_id\u0027 method of oslo_context returns request-id as bytes if you do not pass it to \u0027RequestContext\u0027.\nhttps://github.com/openstack/oslo.context/blob/master/oslo_context/context.py#L64\n\nBut if request-id is str (string) in this case string concatenation will fail  in Python 3 with error \u0027TypeError: can\u0027t concat bytes to str\u0027. Because of this I have used \u0027isinstance\u0027. IMO it will be safer to use \u0027isinstance\u0027 to check type of \u0027reques-id\u0027 and then convert prefix to bytes.","commit_id":"af73e62673a4db2e2a171b3f955f4f7c40e19e68"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"5283ae6d4c5c3e93281511bf4af92f4f91b2ad2d","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            # For python 3 compatibility need to use bytes type"},{"line_number":57,"context_line":"            prefix \u003d \u0027req-\u0027"},{"line_number":58,"context_line":"            if isinstance(request_id, bytes):"},{"line_number":59,"context_line":"                prefix \u003d b\u0027req-\u0027"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"            if not request_id.startswith(prefix):"},{"line_number":62,"context_line":"                request_id \u003d prefix + request_id"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a50d1a3_79cfb229","line":59,"in_reply_to":"3a50d1a3_9ce2da00","updated":"2015-07-31 00:05:07.000000000","message":"Thank you for your answer.\nI understand.\nBut the following wolud be better.\n\nif isinstance(request_id, bytes):\n    prefix \u003d b\u0027req-\u0027\nelse:\n    prefix \u003d \u0027req-\u0027\n\nOR\n\nprefix \u003d b\u0027req-\u0027 if isinstance(request_id, bytes) else \u0027req-\u0027","commit_id":"af73e62673a4db2e2a171b3f955f4f7c40e19e68"}]}
