)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"c45e6d5a3ca3bbb6a89d03715cfa0291c6359fd6","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Stop using deprecated timeutils.isotime()"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"oslo_utils.timeutils.isotime() has been deprecated, stop using it."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I0176f498db89a3a10c2474e4ae5c4b0929c65ece"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7a016987_a4b4a581","line":9,"updated":"2015-05-20 02:56:58.000000000","message":"Would you like to attach a link where it is said deprecated and what it should be replaced? For example http://docs.openstack.org/developer/oslo.utils/api/timeutils.html#oslo_utils.timeutils.isotime","commit_id":"87304f6885f9c7fefb19e678d2bc51c2e912f7ee"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"d50cb00adcf33c3d23bc1fce6b0566c3e02d19c6","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Stop using deprecated timeutils.isotime()"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"oslo_utils.timeutils.isotime() has been deprecated, stop using it."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I0176f498db89a3a10c2474e4ae5c4b0929c65ece"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7a016987_082a4090","line":9,"in_reply_to":"7a016987_a4b4a581","updated":"2015-05-21 21:42:58.000000000","message":"Sure, good idea, added!","commit_id":"87304f6885f9c7fefb19e678d2bc51c2e912f7ee"}],"cinder/hacking/checks.py":[{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"c45e6d5a3ca3bbb6a89d03715cfa0291c6359fd6","unresolved":false,"context_lines":[{"line_number":306,"context_line":"def check_timeutils_isotime(logical_line):"},{"line_number":307,"context_line":"    msg \u003d (\"C308: Found timeutils.isotime(). \""},{"line_number":308,"context_line":"           \"Please use datetime.datetime.isoformat()\")"},{"line_number":309,"context_line":"    if \u0027timeutils.strtime\u0027 in logical_line:"},{"line_number":310,"context_line":"        yield(0, msg)"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_04e1399a","line":309,"updated":"2015-05-20 02:56:58.000000000","message":"I think it should be \u0027timeutils.isotime\u0027","commit_id":"87304f6885f9c7fefb19e678d2bc51c2e912f7ee"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"d50cb00adcf33c3d23bc1fce6b0566c3e02d19c6","unresolved":false,"context_lines":[{"line_number":306,"context_line":"def check_timeutils_isotime(logical_line):"},{"line_number":307,"context_line":"    msg \u003d (\"C308: Found timeutils.isotime(). \""},{"line_number":308,"context_line":"           \"Please use datetime.datetime.isoformat()\")"},{"line_number":309,"context_line":"    if \u0027timeutils.strtime\u0027 in logical_line:"},{"line_number":310,"context_line":"        yield(0, msg)"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_e81b647f","line":309,"in_reply_to":"7a016987_04e1399a","updated":"2015-05-21 21:42:58.000000000","message":"Copy paste :( Thanks!","commit_id":"87304f6885f9c7fefb19e678d2bc51c2e912f7ee"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"c45e6d5a3ca3bbb6a89d03715cfa0291c6359fd6","unresolved":false,"context_lines":[{"line_number":319,"context_line":"    register(check_assert_called_once)"},{"line_number":320,"context_line":"    register(check_oslo_namespace_imports)"},{"line_number":321,"context_line":"    register(check_datetime_now)"},{"line_number":322,"context_line":"    register(check_timeutils_strtime)"},{"line_number":323,"context_line":"    register(validate_log_translations)"},{"line_number":324,"context_line":"    register(check_unicode_usage)"},{"line_number":325,"context_line":"    register(check_no_print_statements)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_e465fd1d","line":322,"updated":"2015-05-20 02:56:58.000000000","message":"check_timeutils_isotime is not registered.","commit_id":"87304f6885f9c7fefb19e678d2bc51c2e912f7ee"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"d50cb00adcf33c3d23bc1fce6b0566c3e02d19c6","unresolved":false,"context_lines":[{"line_number":319,"context_line":"    register(check_assert_called_once)"},{"line_number":320,"context_line":"    register(check_oslo_namespace_imports)"},{"line_number":321,"context_line":"    register(check_datetime_now)"},{"line_number":322,"context_line":"    register(check_timeutils_strtime)"},{"line_number":323,"context_line":"    register(validate_log_translations)"},{"line_number":324,"context_line":"    register(check_unicode_usage)"},{"line_number":325,"context_line":"    register(check_no_print_statements)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_08012006","line":322,"in_reply_to":"7a016987_e465fd1d","updated":"2015-05-21 21:42:58.000000000","message":"Done","commit_id":"87304f6885f9c7fefb19e678d2bc51c2e912f7ee"}],"cinder/volume/utils.py":[{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"c2ee4d06942741f9d86683866e8c86ff37f332c6","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"def _usage_from_volume(volume_ref, **kw):"},{"line_number":46,"context_line":"    now \u003d timeutils.utcnow()"},{"line_number":47,"context_line":"    launched_at \u003d volume_ref[\u0027launched_at\u0027] or now"},{"line_number":48,"context_line":"    created_at \u003d volume_ref[\u0027created_at\u0027] or now"},{"line_number":49,"context_line":"    usage_info \u003d dict("},{"line_number":50,"context_line":"        tenant_id\u003dvolume_ref[\u0027project_id\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_700c7242","line":47,"updated":"2015-05-27 17:14:23.000000000","message":"This should be volume_ref.get(\u0027launched_at\u0027) so it returns None if launched_at does not exist.  Although, it is unlikely that launched_at does not exist.","commit_id":"d106e6f61b493ce4c822601236bbb73c07b9c8da"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"a657e6f292e2fe26807f5e4141e0d26c21d7ced0","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"def _usage_from_volume(volume_ref, **kw):"},{"line_number":46,"context_line":"    now \u003d timeutils.utcnow()"},{"line_number":47,"context_line":"    launched_at \u003d volume_ref[\u0027launched_at\u0027] or now"},{"line_number":48,"context_line":"    created_at \u003d volume_ref[\u0027created_at\u0027] or now"},{"line_number":49,"context_line":"    usage_info \u003d dict("},{"line_number":50,"context_line":"        tenant_id\u003dvolume_ref[\u0027project_id\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_c370fba6","line":47,"in_reply_to":"7a016987_700c7242","updated":"2015-05-27 18:31:07.000000000","message":"Yes, I didn\u0027t do that on purpose to not change the current behaviour, i.e. raise if it does not exist.","commit_id":"d106e6f61b493ce4c822601236bbb73c07b9c8da"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"c2ee4d06942741f9d86683866e8c86ff37f332c6","unresolved":false,"context_lines":[{"line_number":45,"context_line":"def _usage_from_volume(volume_ref, **kw):"},{"line_number":46,"context_line":"    now \u003d timeutils.utcnow()"},{"line_number":47,"context_line":"    launched_at \u003d volume_ref[\u0027launched_at\u0027] or now"},{"line_number":48,"context_line":"    created_at \u003d volume_ref[\u0027created_at\u0027] or now"},{"line_number":49,"context_line":"    usage_info \u003d dict("},{"line_number":50,"context_line":"        tenant_id\u003dvolume_ref[\u0027project_id\u0027],"},{"line_number":51,"context_line":"        host\u003dvolume_ref[\u0027host\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_5007361d","line":48,"updated":"2015-05-27 17:14:23.000000000","message":"Ditto","commit_id":"d106e6f61b493ce4c822601236bbb73c07b9c8da"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"a657e6f292e2fe26807f5e4141e0d26c21d7ced0","unresolved":false,"context_lines":[{"line_number":45,"context_line":"def _usage_from_volume(volume_ref, **kw):"},{"line_number":46,"context_line":"    now \u003d timeutils.utcnow()"},{"line_number":47,"context_line":"    launched_at \u003d volume_ref[\u0027launched_at\u0027] or now"},{"line_number":48,"context_line":"    created_at \u003d volume_ref[\u0027created_at\u0027] or now"},{"line_number":49,"context_line":"    usage_info \u003d dict("},{"line_number":50,"context_line":"        tenant_id\u003dvolume_ref[\u0027project_id\u0027],"},{"line_number":51,"context_line":"        host\u003dvolume_ref[\u0027host\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_836323dd","line":48,"in_reply_to":"7a016987_5007361d","updated":"2015-05-27 18:31:07.000000000","message":"Ditto.","commit_id":"d106e6f61b493ce4c822601236bbb73c07b9c8da"}]}
