)]}'
{"monascaclient/__init__.py":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"d43998bec01db4b8d89d0072bc9f455058e4f0d2","unresolved":false,"context_lines":[{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Patches method that transforms error responses."},{"line_number":18,"context_line":"That is required to handle different format monasca follows."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"\"\"\""},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"ff0f0b1f_8109b9de","line":18,"range":{"start_line":18,"start_character":52,"end_line":18,"end_character":59},"updated":"2017-05-17 14:59:16.000000000","message":"failures?","commit_id":"1cf1048aa3f1fecf9c03a814393e149767288401"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"7fde9f26b666929c50e1a69d84e4f3b1f2c95519","unresolved":false,"context_lines":[{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Patches method that transforms error responses."},{"line_number":18,"context_line":"That is required to handle different format monasca follows."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"\"\"\""},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"ff0f0b1f_437393e8","line":18,"range":{"start_line":18,"start_character":52,"end_line":18,"end_character":59},"in_reply_to":"ff0f0b1f_0f5144d9","updated":"2017-05-18 04:11:22.000000000","message":"Ok. The main purpose of this module is to monkeypatch keystoneatuh.exceptions.from_response function. The reason is that the library expects error response code:\n  \n  {\n   \"error\": {\n      \"message\": ...,\n      \"details\": ...\n    }\n  }\n\nwhile monasca-api offers:\n\n  {\n   \"title\": ...,\n   \"description\": ...\n  }\n\n \ntherefore it is a different format monasca-api follows thus monkey-patching method transforming error responses into Exceptions is required.\n\nDoes it make it clearer ?","commit_id":"1cf1048aa3f1fecf9c03a814393e149767288401"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"a1be0e64384ef4064e1ef4197f86acad395b9a00","unresolved":false,"context_lines":[{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Patches method that transforms error responses."},{"line_number":18,"context_line":"That is required to handle different format monasca follows."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"\"\"\""},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"ff0f0b1f_96eae472","line":18,"range":{"start_line":18,"start_character":52,"end_line":18,"end_character":59},"in_reply_to":"ff0f0b1f_1eea7b74","updated":"2017-05-19 04:38:31.000000000","message":"Documentation is available in newest patchset","commit_id":"1cf1048aa3f1fecf9c03a814393e149767288401"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"551d28d39c033807e3402067c993ab359f613d8f","unresolved":false,"context_lines":[{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Patches method that transforms error responses."},{"line_number":18,"context_line":"That is required to handle different format monasca follows."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"\"\"\""},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"ff0f0b1f_7ec29735","line":18,"range":{"start_line":18,"start_character":52,"end_line":18,"end_character":59},"in_reply_to":"ff0f0b1f_437393e8","updated":"2017-05-18 18:01:16.000000000","message":"Yes, it does. Thanks. So, I think it should be something like:\nThis is required because the Monasca API returns exceptions with different fields from what keystoneauth expects. Then give the example above.\n\nHave you checked whether this works with the Java API or is that just not important anymore?","commit_id":"1cf1048aa3f1fecf9c03a814393e149767288401"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"0f788251ffb90b3824052130c9b7f88d05b763a0","unresolved":false,"context_lines":[{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Patches method that transforms error responses."},{"line_number":18,"context_line":"That is required to handle different format monasca follows."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"\"\"\""},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"ff0f0b1f_0f5144d9","line":18,"range":{"start_line":18,"start_character":52,"end_line":18,"end_character":59},"in_reply_to":"ff0f0b1f_5c5b7f2d","updated":"2017-05-18 00:13:13.000000000","message":"The sentence doesn\u0027t make sense. If follows was replaced by failures, then it would make sense, but I\u0027m not sure that it then has the sense you want it to have. Can you expand on what you are trying to say?","commit_id":"1cf1048aa3f1fecf9c03a814393e149767288401"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"9e1a095cf1fd1720ba873f9b33238c1947b4f0ca","unresolved":false,"context_lines":[{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Patches method that transforms error responses."},{"line_number":18,"context_line":"That is required to handle different format monasca follows."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"\"\"\""},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"ff0f0b1f_1eea7b74","line":18,"range":{"start_line":18,"start_character":52,"end_line":18,"end_character":59},"in_reply_to":"ff0f0b1f_7ec29735","updated":"2017-05-18 18:08:42.000000000","message":"I haven\u0027t checked java...I assume it will work (hover using tempest to back up this assumption is weak as client is not used there AFAIK). I can try that tommorow, no problem.\n\nAlso will give a clear example of what\u0027s going on here.","commit_id":"1cf1048aa3f1fecf9c03a814393e149767288401"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"853dc729fc92269f7480b06c06c07702f2b81840","unresolved":false,"context_lines":[{"line_number":15,"context_line":"\"\"\""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Patches method that transforms error responses."},{"line_number":18,"context_line":"That is required to handle different format monasca follows."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"\"\"\""},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"ff0f0b1f_5c5b7f2d","line":18,"range":{"start_line":18,"start_character":52,"end_line":18,"end_character":59},"in_reply_to":"ff0f0b1f_8109b9de","updated":"2017-05-17 20:34:39.000000000","message":"Not really sure I got that. Can you explain ?","commit_id":"1cf1048aa3f1fecf9c03a814393e149767288401"}],"monascaclient/tests/v2_0/shell/test_alarm_definitions.py":[{"author":{"_account_id":23735,"name":"sumitjami","email":"sjamgade@suse.com","username":"nthforloop"},"change_message_id":"372a80626eccfe526799962aed230ad329f04a34","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        parsed_args \u003d parser.parse_args(raw_args)"},{"line_number":56,"context_line":"        cmd.run(parsed_args)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        print(1)"}],"source_content_type":"text/x-python","patch_set":37,"id":"ff0f0b1f_e2bcb3dd","line":58,"updated":"2017-05-19 11:24:23.000000000","message":"missed something ?","commit_id":"d77860360797364222f2468cdc4444d41a83fd0a"},{"author":{"_account_id":23735,"name":"sumitjami","email":"sjamgade@suse.com","username":"nthforloop"},"change_message_id":"6fa96be1151c4c15ac24aa4ba8d3f08455acbc5d","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        parsed_args \u003d parser.parse_args(raw_args)"},{"line_number":56,"context_line":"        cmd.run(parsed_args)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        print(1)"}],"source_content_type":"text/x-python","patch_set":37,"id":"ff0f0b1f_53cc50bb","line":58,"in_reply_to":"ff0f0b1f_33931ffd","updated":"2017-05-19 12:49:40.000000000","message":"Yes, that.\n\nAnd I see no assert statement. No validation of test being run.\nAm I missing something ?","commit_id":"d77860360797364222f2468cdc4444d41a83fd0a"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"8f0c57e38f531021abe7c5584514cb4e014853f3","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        parsed_args \u003d parser.parse_args(raw_args)"},{"line_number":56,"context_line":"        cmd.run(parsed_args)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        print(1)"}],"source_content_type":"text/x-python","patch_set":37,"id":"ff0f0b1f_33931ffd","line":58,"in_reply_to":"ff0f0b1f_b383afcc","updated":"2017-05-19 11:33:00.000000000","message":"Done","commit_id":"d77860360797364222f2468cdc4444d41a83fd0a"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"4f3bf4eab5207ab17547c1df0a2c533e49a2990b","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        parsed_args \u003d parser.parse_args(raw_args)"},{"line_number":56,"context_line":"        cmd.run(parsed_args)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        print(1)"}],"source_content_type":"text/x-python","patch_set":37,"id":"ff0f0b1f_b383afcc","line":58,"in_reply_to":"ff0f0b1f_e2bcb3dd","updated":"2017-05-19 11:31:56.000000000","message":"Guess so \u003crotfl\u003e","commit_id":"d77860360797364222f2468cdc4444d41a83fd0a"},{"author":{"_account_id":20033,"name":"Artur Basiak","email":"artur.basiak@ts.fujitsu.com","username":"abasiak"},"change_message_id":"87329ef03876bb53796160b15934ce9596b0c7eb","unresolved":false,"context_lines":[{"line_number":31,"context_line":"class TestAlarmDefinitionShellV2(base.BaseTestCase):"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    @mock.patch(\u0027monascaclient.osc.migration.make_client\u0027)"},{"line_number":34,"context_line":"    def test_notification_types_list(self, mc):"},{"line_number":35,"context_line":"        mc.return_value \u003d FakeV2Client()"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        ad_id \u003d \u00270495340b-58fd-4e1c-932b-5e6f9cc96490\u0027"}],"source_content_type":"text/x-python","patch_set":43,"id":"1f1a1f67_405a2d2a","line":34,"range":{"start_line":34,"start_character":8,"end_line":34,"end_character":36},"updated":"2017-07-14 11:16:06.000000000","message":"no asserts in this test","commit_id":"219626a1edb535bf0c001a36fa5e8f5e0ca5c512"},{"author":{"_account_id":20033,"name":"Artur Basiak","email":"artur.basiak@ts.fujitsu.com","username":"abasiak"},"change_message_id":"87329ef03876bb53796160b15934ce9596b0c7eb","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        parsed_args \u003d parser.parse_args(raw_args)"},{"line_number":56,"context_line":"        cmd.run(parsed_args)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        print(1)"}],"source_content_type":"text/x-python","patch_set":43,"id":"1f1a1f67_8050450c","line":58,"range":{"start_line":58,"start_character":7,"end_line":58,"end_character":16},"updated":"2017-07-14 11:16:06.000000000","message":"this can be removed","commit_id":"219626a1edb535bf0c001a36fa5e8f5e0ca5c512"}],"monascaclient/v2_0/alarm_definitions.py":[{"author":{"_account_id":23735,"name":"sumitjami","email":"sjamgade@suse.com","username":"nthforloop"},"change_message_id":"372a80626eccfe526799962aed230ad329f04a34","unresolved":false,"context_lines":[{"line_number":26,"context_line":"                                  json\u003dkwargs)"},{"line_number":27,"context_line":"        return resp"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def get(self, **kwargs):"},{"line_number":30,"context_line":"        \"\"\"Get the details for a specific alarm definition.\"\"\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"        # NOTE(trebskit) should actually be find_one, but"}],"source_content_type":"text/x-python","patch_set":37,"id":"ff0f0b1f_ff29f09a","line":29,"range":{"start_line":29,"start_character":3,"end_line":29,"end_character":28},"updated":"2017-05-19 11:24:23.000000000","message":"May be you could move methods (get,list,update) to \nMonascaManager. \nYou could add a dict informing what params to collect from kwargs.\n\nThey kind of look redundant.","commit_id":"d77860360797364222f2468cdc4444d41a83fd0a"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"4f3bf4eab5207ab17547c1df0a2c533e49a2990b","unresolved":false,"context_lines":[{"line_number":26,"context_line":"                                  json\u003dkwargs)"},{"line_number":27,"context_line":"        return resp"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def get(self, **kwargs):"},{"line_number":30,"context_line":"        \"\"\"Get the details for a specific alarm definition.\"\"\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"        # NOTE(trebskit) should actually be find_one, but"}],"source_content_type":"text/x-python","patch_set":37,"id":"ff0f0b1f_d3f3c372","line":29,"range":{"start_line":29,"start_character":3,"end_line":29,"end_character":28},"in_reply_to":"ff0f0b1f_ff29f09a","updated":"2017-05-19 11:31:56.000000000","message":"No in this change, if I can. I really want to lower the number of conflicts between this and existing changes whichever direction rebasing will go.\n\nNot to mention that next step of refactoring an agent would be full cliff compatibility and transforming all functions from monascaclient.v2_0.shell into cliff.Command. \n\nCurrent code that limited changes there required bit of dynamic class creation, which should be fine for migration but shouldn\u0027t be part of actual client for too long.","commit_id":"d77860360797364222f2468cdc4444d41a83fd0a"}],"monascaclient/v2_0/metrics.py":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"d43998bec01db4b8d89d0072bc9f455058e4f0d2","unresolved":false,"context_lines":[{"line_number":30,"context_line":"            url_str \u003d url_str + \u0027?tenant_id\u003d%s\u0027 % local_kwargs[\u0027tenant_id\u0027]"},{"line_number":31,"context_line":"            del local_kwargs[\u0027tenant_id\u0027]"},{"line_number":32,"context_line":"        if \u0027jsonbody\u0027 in local_kwargs:"},{"line_number":33,"context_line":"            body \u003d self.client.create(url\u003durl_str, method\u003d\u0027POST\u0027,"},{"line_number":34,"context_line":"                                      json\u003dlocal_kwargs[\u0027jsonbody\u0027])"},{"line_number":35,"context_line":"        else:"},{"line_number":36,"context_line":"            body \u003d self.client.create(url\u003durl_str, method\u003d\u0027POST\u0027,"}],"source_content_type":"text/x-python","patch_set":28,"id":"ff0f0b1f_44f72ff7","line":33,"range":{"start_line":33,"start_character":51,"end_line":33,"end_character":65},"updated":"2017-05-17 14:59:16.000000000","message":"Do you need to specify method here?","commit_id":"1cf1048aa3f1fecf9c03a814393e149767288401"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"853dc729fc92269f7480b06c06c07702f2b81840","unresolved":false,"context_lines":[{"line_number":30,"context_line":"            url_str \u003d url_str + \u0027?tenant_id\u003d%s\u0027 % local_kwargs[\u0027tenant_id\u0027]"},{"line_number":31,"context_line":"            del local_kwargs[\u0027tenant_id\u0027]"},{"line_number":32,"context_line":"        if \u0027jsonbody\u0027 in local_kwargs:"},{"line_number":33,"context_line":"            body \u003d self.client.create(url\u003durl_str, method\u003d\u0027POST\u0027,"},{"line_number":34,"context_line":"                                      json\u003dlocal_kwargs[\u0027jsonbody\u0027])"},{"line_number":35,"context_line":"        else:"},{"line_number":36,"context_line":"            body \u003d self.client.create(url\u003durl_str, method\u003d\u0027POST\u0027,"}],"source_content_type":"text/x-python","patch_set":28,"id":"ff0f0b1f_bc4cdb76","line":33,"range":{"start_line":33,"start_character":51,"end_line":33,"end_character":65},"in_reply_to":"ff0f0b1f_44f72ff7","updated":"2017-05-17 20:34:39.000000000","message":"Most likely not, will recheck.","commit_id":"1cf1048aa3f1fecf9c03a814393e149767288401"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"62a242e8970acda82b8d6d1ca7651105fed9bb8d","unresolved":false,"context_lines":[{"line_number":30,"context_line":"            url_str \u003d url_str + \u0027?tenant_id\u003d%s\u0027 % local_kwargs[\u0027tenant_id\u0027]"},{"line_number":31,"context_line":"            del local_kwargs[\u0027tenant_id\u0027]"},{"line_number":32,"context_line":"        if \u0027jsonbody\u0027 in local_kwargs:"},{"line_number":33,"context_line":"            body \u003d self.client.create(url\u003durl_str, method\u003d\u0027POST\u0027,"},{"line_number":34,"context_line":"                                      json\u003dlocal_kwargs[\u0027jsonbody\u0027])"},{"line_number":35,"context_line":"        else:"},{"line_number":36,"context_line":"            body \u003d self.client.create(url\u003durl_str, method\u003d\u0027POST\u0027,"}],"source_content_type":"text/x-python","patch_set":28,"id":"ff0f0b1f_fe46c04f","line":33,"range":{"start_line":33,"start_character":51,"end_line":33,"end_character":65},"in_reply_to":"ff0f0b1f_8f5e74e4","updated":"2017-05-18 04:23:08.000000000","message":"Done","commit_id":"1cf1048aa3f1fecf9c03a814393e149767288401"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"0f788251ffb90b3824052130c9b7f88d05b763a0","unresolved":false,"context_lines":[{"line_number":30,"context_line":"            url_str \u003d url_str + \u0027?tenant_id\u003d%s\u0027 % local_kwargs[\u0027tenant_id\u0027]"},{"line_number":31,"context_line":"            del local_kwargs[\u0027tenant_id\u0027]"},{"line_number":32,"context_line":"        if \u0027jsonbody\u0027 in local_kwargs:"},{"line_number":33,"context_line":"            body \u003d self.client.create(url\u003durl_str, method\u003d\u0027POST\u0027,"},{"line_number":34,"context_line":"                                      json\u003dlocal_kwargs[\u0027jsonbody\u0027])"},{"line_number":35,"context_line":"        else:"},{"line_number":36,"context_line":"            body \u003d self.client.create(url\u003durl_str, method\u003d\u0027POST\u0027,"}],"source_content_type":"text/x-python","patch_set":28,"id":"ff0f0b1f_8f5e74e4","line":33,"range":{"start_line":33,"start_character":51,"end_line":33,"end_character":65},"in_reply_to":"ff0f0b1f_bc4cdb76","updated":"2017-05-18 00:13:13.000000000","message":"The other create() methods like alarm definitions don\u0027t set method.","commit_id":"1cf1048aa3f1fecf9c03a814393e149767288401"}],"monascaclient/v2_0/shell.py":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"d43998bec01db4b8d89d0072bc9f455058e4f0d2","unresolved":false,"context_lines":[{"line_number":740,"context_line":"    if args.period or args.period \u003d\u003d 0:"},{"line_number":741,"context_line":"        if args.type and not _validate_notification_period("},{"line_number":742,"context_line":"                args.period, args.type.upper()):"},{"line_number":743,"context_line":"            err_msg \u003d (\u0027Invalid period %d for type %s\u0027"},{"line_number":744,"context_line":"                       % (args.period, args.type.upper()))"},{"line_number":745,"context_line":"            raise osc_exc.CommandError(err_msg)"},{"line_number":746,"context_line":"        fields[\u0027period\u0027] \u003d args.period"},{"line_number":747,"context_line":"    try:"},{"line_number":748,"context_line":"        notification \u003d mc.notifications.patch(**fields)"}],"source_content_type":"text/x-python","patch_set":28,"id":"ff0f0b1f_84c0a752","line":745,"range":{"start_line":743,"start_character":1,"end_line":745,"end_character":47},"updated":"2017-05-17 14:59:16.000000000","message":"Not thrilled to see this code duplicated. Can it be added to _validate_notification_period?","commit_id":"1cf1048aa3f1fecf9c03a814393e149767288401"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"62a242e8970acda82b8d6d1ca7651105fed9bb8d","unresolved":false,"context_lines":[{"line_number":740,"context_line":"    if args.period or args.period \u003d\u003d 0:"},{"line_number":741,"context_line":"        if args.type and not _validate_notification_period("},{"line_number":742,"context_line":"                args.period, args.type.upper()):"},{"line_number":743,"context_line":"            err_msg \u003d (\u0027Invalid period %d for type %s\u0027"},{"line_number":744,"context_line":"                       % (args.period, args.type.upper()))"},{"line_number":745,"context_line":"            raise osc_exc.CommandError(err_msg)"},{"line_number":746,"context_line":"        fields[\u0027period\u0027] \u003d args.period"},{"line_number":747,"context_line":"    try:"},{"line_number":748,"context_line":"        notification \u003d mc.notifications.patch(**fields)"}],"source_content_type":"text/x-python","patch_set":28,"id":"ff0f0b1f_3e6678ef","line":745,"range":{"start_line":743,"start_character":1,"end_line":745,"end_character":47},"in_reply_to":"ff0f0b1f_7112ecb3","updated":"2017-05-18 04:23:08.000000000","message":"For the time being - I am removing that exception from here.\nI want to things modifications in this file to bare minimum anyway.","commit_id":"1cf1048aa3f1fecf9c03a814393e149767288401"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"853dc729fc92269f7480b06c06c07702f2b81840","unresolved":false,"context_lines":[{"line_number":740,"context_line":"    if args.period or args.period \u003d\u003d 0:"},{"line_number":741,"context_line":"        if args.type and not _validate_notification_period("},{"line_number":742,"context_line":"                args.period, args.type.upper()):"},{"line_number":743,"context_line":"            err_msg \u003d (\u0027Invalid period %d for type %s\u0027"},{"line_number":744,"context_line":"                       % (args.period, args.type.upper()))"},{"line_number":745,"context_line":"            raise osc_exc.CommandError(err_msg)"},{"line_number":746,"context_line":"        fields[\u0027period\u0027] \u003d args.period"},{"line_number":747,"context_line":"    try:"},{"line_number":748,"context_line":"        notification \u003d mc.notifications.patch(**fields)"}],"source_content_type":"text/x-python","patch_set":28,"id":"ff0f0b1f_7112ecb3","line":745,"range":{"start_line":743,"start_character":1,"end_line":745,"end_character":47},"in_reply_to":"ff0f0b1f_84c0a752","updated":"2017-05-17 20:34:39.000000000","message":"I am thinking on making types for argparse that would handle validation instantly without code bloating the action.\nBut that is outside of the scope here. \n\nI didn\u0027t check what _validate_notification_period does exactly. My bad.","commit_id":"1cf1048aa3f1fecf9c03a814393e149767288401"}]}
