)]}'
{"quantum/agent/dhcp_agent.py":[{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"8546cffe5b568856c2b3795ddaf7b8ce3fb1f630","unresolved":false,"context_lines":[{"line_number":519,"context_line":"            network_id \u003d data[\u0027network_id\u0027]"},{"line_number":520,"context_line":"            if not uuidutils.is_uuid_like(network_id):"},{"line_number":521,"context_line":"                raise ValueError(_(\"Network ID %s is not a valid UUID\"),"},{"line_number":522,"context_line":"                                 (network_id))"},{"line_number":523,"context_line":"            ip_address \u003d str(netaddr.IPAddress(data[\u0027ip_address\u0027]))"},{"line_number":524,"context_line":"            lease_remaining \u003d int(data[\u0027lease_remaining\u0027])"},{"line_number":525,"context_line":"            self.callback(network_id, ip_address, lease_remaining)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FehM%3D","line":522,"updated":"2013-01-20 11:21:37.000000000","message":"This is not a LOG statement. valueerror accepts varargs, so it\u0027s not so bad, but the error message would be a tuple.\n\nIs it ok for you to restore the \u0027%\u0027?","commit_id":"ce2f62c7bab067b83207902ae2dbb2694096b282"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3d0ddd0cbf6b6396adc43c59a1bbb1441f07c0a2","unresolved":false,"context_lines":[{"line_number":519,"context_line":"            network_id \u003d data[\u0027network_id\u0027]"},{"line_number":520,"context_line":"            if not uuidutils.is_uuid_like(network_id):"},{"line_number":521,"context_line":"                raise ValueError(_(\"Network ID %s is not a valid UUID\"),"},{"line_number":522,"context_line":"                                 (network_id))"},{"line_number":523,"context_line":"            ip_address \u003d str(netaddr.IPAddress(data[\u0027ip_address\u0027]))"},{"line_number":524,"context_line":"            lease_remaining \u003d int(data[\u0027lease_remaining\u0027])"},{"line_number":525,"context_line":"            self.callback(network_id, ip_address, lease_remaining)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FeQ4%3D","line":522,"in_reply_to":"AAAAM3%2F%2FehM%3D","updated":"2013-01-21 06:32:11.000000000","message":"Done","commit_id":"ce2f62c7bab067b83207902ae2dbb2694096b282"}],"quantum/agent/linux/ovs_lib.py":[{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"8546cffe5b568856c2b3795ddaf7b8ce3fb1f630","unresolved":false,"context_lines":[{"line_number":286,"context_line":"    try:"},{"line_number":287,"context_line":"        return utils.execute(args, root_helper\u003droot_helper).strip()"},{"line_number":288,"context_line":"    except Exception, e:"},{"line_number":289,"context_line":"        LOG.error(_(\"Iface %(iface)s not found. Exception: %(e)s\"), locals())"},{"line_number":290,"context_line":"        return None"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FehE%3D","line":289,"updated":"2013-01-20 11:21:37.000000000","message":"Why not \"Interface\" directly? (just a suggestion, do what you reckon is better)","commit_id":"ce2f62c7bab067b83207902ae2dbb2694096b282"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3d0ddd0cbf6b6396adc43c59a1bbb1441f07c0a2","unresolved":false,"context_lines":[{"line_number":286,"context_line":"    try:"},{"line_number":287,"context_line":"        return utils.execute(args, root_helper\u003droot_helper).strip()"},{"line_number":288,"context_line":"    except Exception, e:"},{"line_number":289,"context_line":"        LOG.error(_(\"Iface %(iface)s not found. Exception: %(e)s\"), locals())"},{"line_number":290,"context_line":"        return None"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FeQ0%3D","line":289,"in_reply_to":"AAAAM3%2F%2FehE%3D","updated":"2013-01-21 06:32:11.000000000","message":"Done","commit_id":"ce2f62c7bab067b83207902ae2dbb2694096b282"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"unresolved":false,"context_lines":[{"line_number":286,"context_line":"    try:"},{"line_number":287,"context_line":"        return utils.execute(args, root_helper\u003droot_helper).strip()"},{"line_number":288,"context_line":"    except Exception, e:"},{"line_number":289,"context_line":"        LOG.error(_(\"Interface %(iface)s not found. Exception: %(e)s\"),"},{"line_number":290,"context_line":"                  locals())"},{"line_number":291,"context_line":"        return None"},{"line_number":292,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FdRM%3D","line":289,"updated":"2013-01-21 21:38:18.000000000","message":"Why not LOG.exception here?","commit_id":"484c8147832285a2be66a066ff904a5d5170ade5"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3d0ddd0cbf6b6396adc43c59a1bbb1441f07c0a2","unresolved":false,"context_lines":[{"line_number":286,"context_line":"    try:"},{"line_number":287,"context_line":"        return utils.execute(args, root_helper\u003droot_helper).strip()"},{"line_number":288,"context_line":"    except Exception, e:"},{"line_number":289,"context_line":"        LOG.error(_(\"Interface %(iface)s not found. Exception: %(e)s\"),"},{"line_number":290,"context_line":"                  locals())"},{"line_number":291,"context_line":"        return None"},{"line_number":292,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FcuE%3D","line":289,"in_reply_to":"AAAAM3%2F%2FdRM%3D","updated":"2013-01-22 03:41:16.000000000","message":"Done","commit_id":"484c8147832285a2be66a066ff904a5d5170ade5"}],"quantum/api/api_common.py":[{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"unresolved":false,"context_lines":[{"line_number":46,"context_line":"        except KeyError:"},{"line_number":47,"context_line":"            # raise if _resource_name is not in req body."},{"line_number":48,"context_line":"            raise exc.HTTPBadRequest(_(\"Unable to find \u0027%s\u0027 in request \""},{"line_number":49,"context_line":"                                       \"body\") % self._resource_name)"},{"line_number":50,"context_line":"        for param in params:"},{"line_number":51,"context_line":"            param_name \u003d param[\u0027param-name\u0027]"},{"line_number":52,"context_line":"            param_value \u003d data.get(param_name, None)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FeJ4%3D","line":49,"updated":"2013-01-21 08:41:24.000000000","message":"Fix of this module is incomplete. Line 55 also needs a fix\n\nI have fixed this module in https://review.openstack.org/#/c/20113/","commit_id":"1058cdd9e4ef95ea5a4fae6f59aab0c4d91cdc60"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3d0ddd0cbf6b6396adc43c59a1bbb1441f07c0a2","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        except KeyError:"},{"line_number":47,"context_line":"            # raise if _resource_name is not in req body."},{"line_number":48,"context_line":"            raise exc.HTTPBadRequest(_(\"Unable to find \u0027%s\u0027 in request \""},{"line_number":49,"context_line":"                                       \"body\") % self._resource_name)"},{"line_number":50,"context_line":"        for param in params:"},{"line_number":51,"context_line":"            param_name \u003d param[\u0027param-name\u0027]"},{"line_number":52,"context_line":"            param_value \u003d data.get(param_name, None)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FeAI%3D","line":49,"in_reply_to":"AAAAM3%2F%2FeJ4%3D","updated":"2013-01-21 11:55:26.000000000","message":"Done","commit_id":"1058cdd9e4ef95ea5a4fae6f59aab0c4d91cdc60"}],"quantum/api/extensions.py":[{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"8546cffe5b568856c2b3795ddaf7b8ce3fb1f630","unresolved":false,"context_lines":[{"line_number":497,"context_line":"                    self.add_extension(new_ext)"},{"line_number":498,"context_line":"            except Exception as exception:"},{"line_number":499,"context_line":"                LOG.warn(_(\"Extension file %(file)s wasn\u0027t loaded due to \""},{"line_number":500,"context_line":"                           \"%(e)s\"), locals())"},{"line_number":501,"context_line":""},{"line_number":502,"context_line":"    def add_extension(self, ext):"},{"line_number":503,"context_line":"        # Do nothing if the extension doesn\u0027t check out"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Feg0%3D","line":500,"updated":"2013-01-20 11:21:37.000000000","message":"the local variable is actually \u0027exception\u0027 not \u0027e\u0027","commit_id":"ce2f62c7bab067b83207902ae2dbb2694096b282"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3d0ddd0cbf6b6396adc43c59a1bbb1441f07c0a2","unresolved":false,"context_lines":[{"line_number":497,"context_line":"                    self.add_extension(new_ext)"},{"line_number":498,"context_line":"            except Exception as exception:"},{"line_number":499,"context_line":"                LOG.warn(_(\"Extension file %(file)s wasn\u0027t loaded due to \""},{"line_number":500,"context_line":"                           \"%(e)s\"), locals())"},{"line_number":501,"context_line":""},{"line_number":502,"context_line":"    def add_extension(self, ext):"},{"line_number":503,"context_line":"        # Do nothing if the extension doesn\u0027t check out"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FeQw%3D","line":500,"in_reply_to":"AAAAM3%2F%2Feg0%3D","updated":"2013-01-21 06:32:11.000000000","message":"Done","commit_id":"ce2f62c7bab067b83207902ae2dbb2694096b282"}],"quantum/api/v2/attributes.py":[{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"8546cffe5b568856c2b3795ddaf7b8ce3fb1f630","unresolved":false,"context_lines":[{"line_number":49,"context_line":"def _validate_values(data, valid_values\u003dNone):"},{"line_number":50,"context_line":"    if data not in valid_values:"},{"line_number":51,"context_line":"        msg \u003d _(\"\u0027%(data)s\u0027 is not in %(valid_values)s\") % locals()"},{"line_number":52,"context_line":"        LOG.debug(_(\"validate_values: %s\"), msg)"},{"line_number":53,"context_line":"        return msg"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Feg4%3D","line":52,"updated":"2013-01-20 11:21:37.000000000","message":"I understand the need for i18n, and I appreciate you guys doing all this hard work.\n\nBut in this module you\u0027re internationalizing strings containing function names. They can hardly be traslated!\n\nWe should probably not have them as literals anyway.\n\ne.g.: \nLOG.debug(\"%(f_name)s:%(msg)s\",\n                    {\u0027f_name\u0027:  _validate_values.__name__,\n                     \u0027msg\u0027: msg})\n\nWrapping the literal with _() seems irrelevant here, but you can do it if you wish","commit_id":"ce2f62c7bab067b83207902ae2dbb2694096b282"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3d0ddd0cbf6b6396adc43c59a1bbb1441f07c0a2","unresolved":false,"context_lines":[{"line_number":49,"context_line":"def _validate_values(data, valid_values\u003dNone):"},{"line_number":50,"context_line":"    if data not in valid_values:"},{"line_number":51,"context_line":"        msg \u003d _(\"\u0027%(data)s\u0027 is not in %(valid_values)s\") % locals()"},{"line_number":52,"context_line":"        LOG.debug(_(\"validate_values: %s\"), msg)"},{"line_number":53,"context_line":"        return msg"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FePM%3D","line":52,"in_reply_to":"AAAAM3%2F%2Feg4%3D","updated":"2013-01-21 06:32:11.000000000","message":"We define logging_debug_format_suffix in quantum.openstack.common.log:60, it\u0027s include function name, so wk we can remove the function name at here, just print the message.","commit_id":"ce2f62c7bab067b83207902ae2dbb2694096b282"}],"quantum/context.py":[{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"unresolved":false,"context_lines":[{"line_number":45,"context_line":"        \"\"\""},{"line_number":46,"context_line":"        if kwargs:"},{"line_number":47,"context_line":"            LOG.warn(_(\u0027Arguments dropped when creating \u0027"},{"line_number":48,"context_line":"                       \u0027context: %s\u0027), str(kwargs))"},{"line_number":49,"context_line":"        super(ContextBase, self).__init__(user\u003duser_id, tenant\u003dtenant_id,"},{"line_number":50,"context_line":"                                          is_admin\u003dis_admin)"},{"line_number":51,"context_line":"        self.roles \u003d roles or []"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FdPg%3D","line":48,"updated":"2013-01-21 21:38:18.000000000","message":"The string replacement var is %s, so str() is redundant.","commit_id":"484c8147832285a2be66a066ff904a5d5170ade5"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3d0ddd0cbf6b6396adc43c59a1bbb1441f07c0a2","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        \"\"\""},{"line_number":46,"context_line":"        if kwargs:"},{"line_number":47,"context_line":"            LOG.warn(_(\u0027Arguments dropped when creating \u0027"},{"line_number":48,"context_line":"                       \u0027context: %s\u0027), str(kwargs))"},{"line_number":49,"context_line":"        super(ContextBase, self).__init__(user\u003duser_id, tenant\u003dtenant_id,"},{"line_number":50,"context_line":"                                          is_admin\u003dis_admin)"},{"line_number":51,"context_line":"        self.roles \u003d roles or []"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FcuA%3D","line":48,"in_reply_to":"AAAAM3%2F%2FdPg%3D","updated":"2013-01-22 03:41:16.000000000","message":"Done","commit_id":"484c8147832285a2be66a066ff904a5d5170ade5"}],"quantum/db/db_base_plugin_v2.py":[{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"8546cffe5b568856c2b3795ddaf7b8ce3fb1f630","unresolved":false,"context_lines":[{"line_number":783,"context_line":"            netaddr.IPNetwork(route[\u0027destination\u0027])"},{"line_number":784,"context_line":"            netaddr.IPAddress(route[\u0027nexthop\u0027])"},{"line_number":785,"context_line":"        except netaddr.core.AddrFormatError:"},{"line_number":786,"context_line":"            err_msg \u003d _(\"Invalid route: %s\") % (str(route))"},{"line_number":787,"context_line":"            raise q_exc.InvalidInput(error_message\u003derr_msg)"},{"line_number":788,"context_line":"        except ValueError:"},{"line_number":789,"context_line":"            # netaddr.IPAddress would raise this"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Fegs%3D","line":786,"updated":"2013-01-20 11:21:37.000000000","message":"Pedant nit: the parenthesis wrapping str(route) are 2 wasted bytes :)","commit_id":"ce2f62c7bab067b83207902ae2dbb2694096b282"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3d0ddd0cbf6b6396adc43c59a1bbb1441f07c0a2","unresolved":false,"context_lines":[{"line_number":783,"context_line":"            netaddr.IPNetwork(route[\u0027destination\u0027])"},{"line_number":784,"context_line":"            netaddr.IPAddress(route[\u0027nexthop\u0027])"},{"line_number":785,"context_line":"        except netaddr.core.AddrFormatError:"},{"line_number":786,"context_line":"            err_msg \u003d _(\"Invalid route: %s\") % (str(route))"},{"line_number":787,"context_line":"            raise q_exc.InvalidInput(error_message\u003derr_msg)"},{"line_number":788,"context_line":"        except ValueError:"},{"line_number":789,"context_line":"            # netaddr.IPAddress would raise this"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FePI%3D","line":786,"in_reply_to":"AAAAM3%2F%2Fegs%3D","updated":"2013-01-21 06:32:11.000000000","message":"Done","commit_id":"ce2f62c7bab067b83207902ae2dbb2694096b282"}],"quantum/db/dhcp_rpc_base.py":[{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"8546cffe5b568856c2b3795ddaf7b8ce3fb1f630","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        network_id \u003d kwargs.get(\u0027network_id\u0027)"},{"line_number":124,"context_line":"        device_id \u003d kwargs.get(\u0027device_id\u0027)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        LOG.debug(_(\u0027DHCP port deletion for %(network_id)s d request from \u0027"},{"line_number":127,"context_line":"                    \u0027%(host)s\u0027), locals())"},{"line_number":128,"context_line":"        plugin \u003d manager.QuantumManager.get_plugin()"},{"line_number":129,"context_line":"        filters \u003d dict(network_id\u003d[network_id], device_id\u003d[device_id])"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Fegw%3D","line":126,"updated":"2013-01-20 11:21:37.000000000","message":"There\u0027s a \u0027d\u0027 which should probably not be there (It was there even before your change actually!)\n\nSame comment at line 143","commit_id":"ce2f62c7bab067b83207902ae2dbb2694096b282"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3d0ddd0cbf6b6396adc43c59a1bbb1441f07c0a2","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        network_id \u003d kwargs.get(\u0027network_id\u0027)"},{"line_number":124,"context_line":"        device_id \u003d kwargs.get(\u0027device_id\u0027)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        LOG.debug(_(\u0027DHCP port deletion for %(network_id)s d request from \u0027"},{"line_number":127,"context_line":"                    \u0027%(host)s\u0027), locals())"},{"line_number":128,"context_line":"        plugin \u003d manager.QuantumManager.get_plugin()"},{"line_number":129,"context_line":"        filters \u003d dict(network_id\u003d[network_id], device_id\u003d[device_id])"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FePA%3D","line":126,"in_reply_to":"AAAAM3%2F%2Fegw%3D","updated":"2013-01-21 06:32:11.000000000","message":"Done","commit_id":"ce2f62c7bab067b83207902ae2dbb2694096b282"}],"quantum/extensions/securitygroup.py":[{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"8546cffe5b568856c2b3795ddaf7b8ce3fb1f630","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"class SecurityGroupSourceGroupNotFound(qexception.NotFound):"},{"line_number":81,"context_line":"    message \u003d _(\"Source group id %(id)s does not exist\")"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"class SecurityGroupNotFound(qexception.NotFound):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Fegk%3D","line":81,"updated":"2013-01-20 11:21:37.000000000","message":"Generally we should refrain from using keywords as variable names, especially in formatting strings.\n\nBut this is beyond the scope of this patch.","commit_id":"ce2f62c7bab067b83207902ae2dbb2694096b282"}],"quantum/extensions/servicetype.py":[{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"8546cffe5b568856c2b3795ddaf7b8ce3fb1f630","unresolved":false,"context_lines":[{"line_number":99,"context_line":"                except KeyError:"},{"line_number":100,"context_line":"                    msg \u003d (_(\"Required attributes missing in service \""},{"line_number":101,"context_line":"                             \"definition: %s\") % svc_def)"},{"line_number":102,"context_line":"                    LOG.error(_(\"%(f_name)s: %(msg)s\"), locals())"},{"line_number":103,"context_line":"                    return msg"},{"line_number":104,"context_line":"                # Validate \u0027service\u0027 attribute"},{"line_number":105,"context_line":"                if not svc_name in constants.ALLOWED_SERVICES:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Fego%3D","line":102,"updated":"2013-01-20 11:21:37.000000000","message":"I had a similar comment elsewhere in this patch... What the translation would be here?","commit_id":"ce2f62c7bab067b83207902ae2dbb2694096b282"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3d0ddd0cbf6b6396adc43c59a1bbb1441f07c0a2","unresolved":false,"context_lines":[{"line_number":99,"context_line":"                except KeyError:"},{"line_number":100,"context_line":"                    msg \u003d (_(\"Required attributes missing in service \""},{"line_number":101,"context_line":"                             \"definition: %s\") % svc_def)"},{"line_number":102,"context_line":"                    LOG.error(_(\"%(f_name)s: %(msg)s\"), locals())"},{"line_number":103,"context_line":"                    return msg"},{"line_number":104,"context_line":"                # Validate \u0027service\u0027 attribute"},{"line_number":105,"context_line":"                if not svc_name in constants.ALLOWED_SERVICES:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FeO0%3D","line":102,"in_reply_to":"AAAAM3%2F%2Fego%3D","updated":"2013-01-21 06:32:11.000000000","message":"Just want to keep the i18n checking script quiet, that script will show this missage need translation. Translator can know this message needn\u0027t translate.","commit_id":"ce2f62c7bab067b83207902ae2dbb2694096b282"}],"quantum/tests/unit/test_agent_rpc.py":[{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"8546cffe5b568856c2b3795ddaf7b8ce3fb1f630","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"        with mock.patch(\u0027quantum.agent.rpc.LOG\u0027) as log:"},{"line_number":130,"context_line":"            self._test_run_dispatch_helper(msg, handler)"},{"line_number":131,"context_line":"            log.assert_has_calls([mock.call.debug(mock.ANY, mock.ANY)])"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    def test_run_dispatch_handler_raises(self):"},{"line_number":134,"context_line":"        class SimpleHandler:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Feg8%3D","line":131,"updated":"2013-01-20 11:21:37.000000000","message":"These changes seem out of scope in this patch. Can you clarify?","commit_id":"ce2f62c7bab067b83207902ae2dbb2694096b282"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3d0ddd0cbf6b6396adc43c59a1bbb1441f07c0a2","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"        with mock.patch(\u0027quantum.agent.rpc.LOG\u0027) as log:"},{"line_number":130,"context_line":"            self._test_run_dispatch_helper(msg, handler)"},{"line_number":131,"context_line":"            log.assert_has_calls([mock.call.debug(mock.ANY, mock.ANY)])"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    def test_run_dispatch_handler_raises(self):"},{"line_number":134,"context_line":"        class SimpleHandler:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FeOk%3D","line":131,"in_reply_to":"AAAAM3%2F%2Feg8%3D","updated":"2013-01-21 06:32:11.000000000","message":"Because the original code like \u0027LOG.debug(\u0027xxx %s xxx\u0027 % var)\u0027 , then I change it to  \u0027LOG.debug(\u0027xxx %s xxx\u0027, var)\u0027, then this test will failed.","commit_id":"ce2f62c7bab067b83207902ae2dbb2694096b282"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"        with mock.patch(\u0027quantum.agent.rpc.LOG\u0027) as log:"},{"line_number":130,"context_line":"            self._test_run_dispatch_helper(msg, handler)"},{"line_number":131,"context_line":"            log.assert_has_calls([mock.call.debug(mock.ANY, mock.ANY)])"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    def test_run_dispatch_handler_raises(self):"},{"line_number":134,"context_line":"        class SimpleHandler:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FdN4%3D","line":131,"updated":"2013-01-21 21:38:18.000000000","message":"Why the mock.ANY.  We should be able to now validate the args passed to the LOG.debug().","commit_id":"484c8147832285a2be66a066ff904a5d5170ade5"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3d0ddd0cbf6b6396adc43c59a1bbb1441f07c0a2","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"        with mock.patch(\u0027quantum.agent.rpc.LOG\u0027) as log:"},{"line_number":130,"context_line":"            self._test_run_dispatch_helper(msg, handler)"},{"line_number":131,"context_line":"            log.assert_has_calls([mock.call.debug(mock.ANY, mock.ANY)])"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    def test_run_dispatch_handler_raises(self):"},{"line_number":134,"context_line":"        class SimpleHandler:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2Fct4%3D","line":131,"in_reply_to":"AAAAM3%2F%2FdN4%3D","updated":"2013-01-22 03:41:16.000000000","message":"I think this test just want to ensure the code path. \n\nthe code as below:\n\n                if hasattr(handler, name):\n                    getattr(handler, name)(msg[\u0027payload\u0027])\n                else:\n                    LOG.debug(\u0027Unknown event_type: %s.\u0027 % msg[\u0027event_type\u0027])\n\nso assert the LOG.debug for ensure the code run in \u0027else\u0027 block.","commit_id":"484c8147832285a2be66a066ff904a5d5170ade5"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"unresolved":false,"context_lines":[{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        with mock.patch(\u0027quantum.agent.rpc.LOG\u0027) as log:"},{"line_number":144,"context_line":"            self._test_run_dispatch_helper(msg, handler)"},{"line_number":145,"context_line":"            log.assert_has_calls([mock.call.warn(mock.ANY, mock.ANY)])"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FdNs%3D","line":145,"updated":"2013-01-21 21:38:18.000000000","message":"same as above.","commit_id":"484c8147832285a2be66a066ff904a5d5170ade5"}],"quantum/tests/unit/test_linux_external_process.py":[{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"8546cffe5b568856c2b3795ddaf7b8ce3fb1f630","unresolved":false,"context_lines":[{"line_number":111,"context_line":"                with mock.patch.object(ep.LOG, \u0027debug\u0027) as debug:"},{"line_number":112,"context_line":"                    manager \u003d ep.ProcessManager(self.conf, \u0027uuid\u0027)"},{"line_number":113,"context_line":"                    manager.disable()"},{"line_number":114,"context_line":"                    debug.assert_called_once_with(mock.ANY, mock.ANY)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"    def test_disable_no_pid(self):"},{"line_number":117,"context_line":"        with mock.patch.object(ep.ProcessManager, \u0027pid\u0027) as pid:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FehA%3D","line":114,"updated":"2013-01-20 11:21:37.000000000","message":"Why these two changes?\nThey seem out of scope in the patch. Can you clarify?","commit_id":"ce2f62c7bab067b83207902ae2dbb2694096b282"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3d0ddd0cbf6b6396adc43c59a1bbb1441f07c0a2","unresolved":false,"context_lines":[{"line_number":111,"context_line":"                with mock.patch.object(ep.LOG, \u0027debug\u0027) as debug:"},{"line_number":112,"context_line":"                    manager \u003d ep.ProcessManager(self.conf, \u0027uuid\u0027)"},{"line_number":113,"context_line":"                    manager.disable()"},{"line_number":114,"context_line":"                    debug.assert_called_once_with(mock.ANY, mock.ANY)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"    def test_disable_no_pid(self):"},{"line_number":117,"context_line":"        with mock.patch.object(ep.ProcessManager, \u0027pid\u0027) as pid:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2FeOg%3D","line":114,"in_reply_to":"AAAAM3%2F%2FehA%3D","updated":"2013-01-21 06:32:11.000000000","message":"Because the original code like \u0027LOG.debug(\u0027xxx %s xxx\u0027 % var)\u0027 , then I change it to \u0027LOG.debug(\u0027xxx %s xxx\u0027, var)\u0027, then this test will failed.","commit_id":"ce2f62c7bab067b83207902ae2dbb2694096b282"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"unresolved":false,"context_lines":[{"line_number":111,"context_line":"                with mock.patch.object(ep.LOG, \u0027debug\u0027) as debug:"},{"line_number":112,"context_line":"                    manager \u003d ep.ProcessManager(self.conf, \u0027uuid\u0027)"},{"line_number":113,"context_line":"                    manager.disable()"},{"line_number":114,"context_line":"                    debug.assert_called_once_with(mock.ANY, mock.ANY)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"    def test_disable_no_pid(self):"},{"line_number":117,"context_line":"        with mock.patch.object(ep.ProcessManager, \u0027pid\u0027) as pid:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FdNQ%3D","line":114,"updated":"2013-01-21 21:38:18.000000000","message":"Same as before.  We should now be able to validate args passed to the log string.","commit_id":"484c8147832285a2be66a066ff904a5d5170ade5"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"unresolved":false,"context_lines":[{"line_number":121,"context_line":"                with mock.patch.object(ep.LOG, \u0027debug\u0027) as debug:"},{"line_number":122,"context_line":"                    manager \u003d ep.ProcessManager(self.conf, \u0027uuid\u0027)"},{"line_number":123,"context_line":"                    manager.disable()"},{"line_number":124,"context_line":"                    debug.assert_called_once_with(mock.ANY, mock.ANY)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    def test_get_pid_file_name_existing(self):"},{"line_number":127,"context_line":"        with mock.patch.object(ep.os.path, \u0027isdir\u0027) as isdir:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FdNU%3D","line":124,"updated":"2013-01-21 21:38:18.000000000","message":"Same as before.  We should now be able to validate args passed to the log string.","commit_id":"484c8147832285a2be66a066ff904a5d5170ade5"}]}
