)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"05a423bbb957e16f9703d28600aa02fc69db66e8","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This patch adds comments to a few functions."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I810e01231d98bf1c2c64551b6442bd33707699fe"},{"line_number":12,"context_line":"Note: _sanitize_default has an unused argument \"name\"."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bae84128_82d5daba","line":12,"updated":"2016-02-25 07:31:38.000000000","message":"The note is not needed as you already describe it in function\u0027s help message","commit_id":"e89b09f8df6d0143b1af2a91e119238a10fe0950"}],"ironic/common/config_generator/generator.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"cb1a7e29b41fe120f0c49fbc886d483439935c59","unresolved":false,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"def _is_in_group(opt, group):"},{"line_number":166,"context_line":"    \"\"\"_is_in_group: checks if opt is in group._opts.values()."},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"       :param opt: option object"},{"line_number":169,"context_line":"       :param group: DEFAULT group object as specified by cfg.CONF or"}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_abfbd645","line":166,"updated":"2016-02-24 12:17:01.000000000","message":"I think this function is pretty self-descriptive, the previous docstring should be enough..","commit_id":"0469022764669144c3538d4104d60bfa34c9695f"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"cb1a7e29b41fe120f0c49fbc886d483439935c59","unresolved":false,"context_lines":[{"line_number":249,"context_line":"       to a specific external host, in this case, it is Google\u0027s public"},{"line_number":250,"context_line":"       DNS server address 8.8.8.8."},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"       :params: none"},{"line_number":253,"context_line":"       :returns: host IP address or None on socket error."},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_cb657a45","line":252,"updated":"2016-02-24 12:17:01.000000000","message":"No need to add this.","commit_id":"0469022764669144c3538d4104d60bfa34c9695f"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"cb1a7e29b41fe120f0c49fbc886d483439935c59","unresolved":false,"context_lines":[{"line_number":267,"context_line":"def _sanitize_default(name, value):"},{"line_number":268,"context_line":"    \"\"\"Set up a reasonably sensible default for pybasedir, my_ip and host."},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"       _sanitize_default: Checks input string params for path/ip address."},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"       :param name: name of the option (unused parameter)."},{"line_number":273,"context_line":"       :param value: directory path or ip address, which is checked"}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_eb2ddefe","line":270,"updated":"2016-02-24 12:17:01.000000000","message":"I think the description on L268 is more accurate.","commit_id":"0469022764669144c3538d4104d60bfa34c9695f"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"cb1a7e29b41fe120f0c49fbc886d483439935c59","unresolved":false,"context_lines":[{"line_number":271,"context_line":""},{"line_number":272,"context_line":"       :param name: name of the option (unused parameter)."},{"line_number":273,"context_line":"       :param value: directory path or ip address, which is checked"},{"line_number":274,"context_line":"                     and/or modified"},{"line_number":275,"context_line":"       :returns: value"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_2bfd066e","line":274,"updated":"2016-02-24 12:17:01.000000000","message":"which is sanitized","commit_id":"0469022764669144c3538d4104d60bfa34c9695f"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"cb1a7e29b41fe120f0c49fbc886d483439935c59","unresolved":false,"context_lines":[{"line_number":272,"context_line":"       :param name: name of the option (unused parameter)."},{"line_number":273,"context_line":"       :param value: directory path or ip address, which is checked"},{"line_number":274,"context_line":"                     and/or modified"},{"line_number":275,"context_line":"       :returns: value"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"    \"\"\""},{"line_number":278,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_0b9be266","line":275,"updated":"2016-02-24 12:17:01.000000000","message":"returns sanitized value.","commit_id":"0469022764669144c3538d4104d60bfa34c9695f"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"05a423bbb957e16f9703d28600aa02fc69db66e8","unresolved":false,"context_lines":[{"line_number":234,"context_line":""},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"def _get_my_ip():"},{"line_number":237,"context_line":"    \"\"\"_get_my_ip: returns host ip address."},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"       A connected UDP socket uses the local routing table to"},{"line_number":240,"context_line":"       find the IP address of the ethernet interface used for a connection"}],"source_content_type":"text/x-python","patch_set":2,"id":"bae84128_22204ef7","line":237,"updated":"2016-02-25 07:31:38.000000000","message":"s/_get_my_ip: returns/returns/","commit_id":"e89b09f8df6d0143b1af2a91e119238a10fe0950"},{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"3000b7f952034f5a5ff0352cb48e109e97965963","unresolved":false,"context_lines":[{"line_number":258,"context_line":"def _sanitize_default(name, value):"},{"line_number":259,"context_line":"    \"\"\"Set up a reasonably sensible default for pybasedir, my_ip and host."},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"       :param name: name of the option (unused parameter)."},{"line_number":262,"context_line":"       :param value: directory path or ip address, which is sanitized."},{"line_number":263,"context_line":"       :returns: sanitized value."},{"line_number":264,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9aed3d3a_cb105404","line":261,"range":{"start_line":261,"start_character":40,"end_line":261,"end_character":56},"updated":"2016-02-27 15:01:34.000000000","message":"I think you should just delete the unused parameter \u0027name\u0027 instead of adding a note here.","commit_id":"04d474b9924211969e3f9de474a99237361af6e3"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"49bf7c11f2aadb1f4de7230125f34130ad048243","unresolved":false,"context_lines":[{"line_number":242,"context_line":""},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"def _get_my_ip():"},{"line_number":245,"context_line":"    \"\"\"Returns host ip address."},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"       A connected UDP socket uses the local routing table to"},{"line_number":248,"context_line":"       find the IP address of the ethernet interface used for a connection"},{"line_number":249,"context_line":"       to a specific external host, in this case, it is Google\u0027s public"},{"line_number":250,"context_line":"       DNS server address 8.8.8.8."},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"       :returns: host IP address or None on socket error."},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"    \"\"\""},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"    try:"},{"line_number":257,"context_line":"        csock \u003d socket.socket(socket.AF_INET, socket.SOCK_DGRAM)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1af94dfe_1263d1dd","line":254,"range":{"start_line":245,"start_character":0,"end_line":254,"end_character":7},"updated":"2016-03-16 02:46:03.000000000","message":"bad indents, please keep consistency with other parts, \nsee https://github.com/openstack/ironic/blob/master/ironic/conductor/manager.py#L204-L213","commit_id":"523d400eb3d666975487c8cb4511404838ad1c41"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"49bf7c11f2aadb1f4de7230125f34130ad048243","unresolved":false,"context_lines":[{"line_number":269,"context_line":"       :param value: directory path or ip address, which is sanitized."},{"line_number":270,"context_line":"       :returns: sanitized value."},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"    \"\"\""},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"    if value.startswith(sys.prefix):"},{"line_number":275,"context_line":"        # NOTE(jd) Don\u0027t use os.path.join, because it is likely to think the"}],"source_content_type":"text/x-python","patch_set":6,"id":"1af94dfe_926ec1c7","line":272,"updated":"2016-03-16 02:46:03.000000000","message":"ditto","commit_id":"523d400eb3d666975487c8cb4511404838ad1c41"}]}
