)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"f70ccabd652c63382d7542c5d21dca527dd52ffa","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix the error of escape character in calendar_time.py"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"when create trigger by cli or other method, the body will be"},{"line_number":10,"context_line":"transformated, such as:"},{"line_number":11,"context_line":"\"BEGIN:VEVENT\\nRRULE:FREQ\u003dMINUTELY;INTERVAL\u003d5;\\nEND:VEVENT\""},{"line_number":12,"context_line":"will be transformated as:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"ffe62b97_b1fddcb2","line":9,"range":{"start_line":9,"start_character":23,"end_line":9,"end_character":26},"updated":"2017-03-27 02:27:12.000000000","message":"CLI","commit_id":"ed3f1db8cf02918faaa47198ffb5e848a2ae745e"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"f70ccabd652c63382d7542c5d21dca527dd52ffa","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix the error of escape character in calendar_time.py"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"when create trigger by cli or other method, the body will be"},{"line_number":10,"context_line":"transformated, such as:"},{"line_number":11,"context_line":"\"BEGIN:VEVENT\\nRRULE:FREQ\u003dMINUTELY;INTERVAL\u003d5;\\nEND:VEVENT\""},{"line_number":12,"context_line":"will be transformated as:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"ffe62b97_f1f364e6","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":4},"updated":"2017-03-27 02:27:12.000000000","message":"When","commit_id":"ed3f1db8cf02918faaa47198ffb5e848a2ae745e"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"f70ccabd652c63382d7542c5d21dca527dd52ffa","unresolved":false,"context_lines":[{"line_number":12,"context_line":"will be transformated as:"},{"line_number":13,"context_line":"\"BEGIN:VEVENT\\\\nRRULE:FREQ\u003dMINUTELY;INTERVAL\u003d5;\\\\nEND:VEVENT\""},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"that will be error in initializing ICal object or check_time_format."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I78d046047b08013bd0cc9540f9c9ec7e30a4bf0a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"ffe62b97_713194a2","line":15,"range":{"start_line":15,"start_character":13,"end_line":15,"end_character":18},"updated":"2017-03-27 02:27:12.000000000","message":"an error","commit_id":"ed3f1db8cf02918faaa47198ffb5e848a2ae745e"}],"karbor/services/operationengine/engine/triggers/timetrigger/timeformats/calendar_time.py":[{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"f70ccabd652c63382d7542c5d21dca527dd52ffa","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        self.rrule_obj \u003d self._get_rrule_obj(vevent, start_time)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    @staticmethod"},{"line_number":56,"context_line":"    def _decode(pattern):"},{"line_number":57,"context_line":"        try:"},{"line_number":58,"context_line":"            pattern.index(\u0027\\\\\u0027)"},{"line_number":59,"context_line":"            pattern_dict \u003d jsonutils.loads(\u0027{\"pattern\": \"%s\"}\u0027 % pattern)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ffe62b97_5184500c","line":56,"range":{"start_line":56,"start_character":8,"end_line":56,"end_character":15},"updated":"2017-03-27 02:27:12.000000000","message":"This function name is too wide. Better to make it more explicit.","commit_id":"ed3f1db8cf02918faaa47198ffb5e848a2ae745e"}],"karbor/tests/unit/operationengine/engine/triggers/timetrigger/timeformats/test_calendar_time.py":[{"author":{"_account_id":16206,"name":"chenhuayi","email":"chenhuayi@huawei.com","username":"chenhuayi2"},"change_message_id":"7caa97584ff57e09595d26162c06c42ffe4086c0","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    def test_valid_pattern(self):"},{"line_number":100,"context_line":"        pattern \u003d \"BEGIN:VEVENT\\nRRULE:FREQ\u003dMINUTELY;INTERVAL\u003d60;\\nEND:VEVENT\""},{"line_number":101,"context_line":"        self.assertIsNone(calendar_time.ICal.check_time_format(pattern))"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    def test_escape_valid_pattern(self):"},{"line_number":104,"context_line":"        pattern0 \u003d \"BEGIN:VEVENT\\\\nRRULE:FREQ\u003dHOURLY;INTERVAL\u003d1;\\\\nEND:VEVENT\""}],"source_content_type":"text/x-python","patch_set":3,"id":"1a1ced50_d28b6766","line":101,"range":{"start_line":101,"start_character":13,"end_line":101,"end_character":25},"updated":"2017-03-22 08:21:58.000000000","message":"Use assertEqual. Because the patter for input is fixed, so the output for check_time_format is expectable.","commit_id":"5506165b9d90f6b22260f65f7a8b513b273b0c64"},{"author":{"_account_id":21648,"name":"zhangshuai","email":"446077695@qq.com","username":"zhangshuai"},"change_message_id":"324df90adc11c8d6428fc0922c9f03d163c3098e","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    def test_valid_pattern(self):"},{"line_number":100,"context_line":"        pattern \u003d \"BEGIN:VEVENT\\nRRULE:FREQ\u003dMINUTELY;INTERVAL\u003d60;\\nEND:VEVENT\""},{"line_number":101,"context_line":"        self.assertIsNone(calendar_time.ICal.check_time_format(pattern))"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    def test_escape_valid_pattern(self):"},{"line_number":104,"context_line":"        pattern0 \u003d \"BEGIN:VEVENT\\\\nRRULE:FREQ\u003dHOURLY;INTERVAL\u003d1;\\\\nEND:VEVENT\""}],"source_content_type":"text/x-python","patch_set":3,"id":"1a1ced50_52b777f4","line":101,"range":{"start_line":101,"start_character":13,"end_line":101,"end_character":25},"in_reply_to":"1a1ced50_d28b6766","updated":"2017-03-22 08:26:58.000000000","message":"IMO, it means \"return None\" if there is no return .","commit_id":"5506165b9d90f6b22260f65f7a8b513b273b0c64"},{"author":{"_account_id":16206,"name":"chenhuayi","email":"chenhuayi@huawei.com","username":"chenhuayi2"},"change_message_id":"7caa97584ff57e09595d26162c06c42ffe4086c0","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    def test_escape_valid_pattern(self):"},{"line_number":104,"context_line":"        pattern0 \u003d \"BEGIN:VEVENT\\\\nRRULE:FREQ\u003dHOURLY;INTERVAL\u003d1;\\\\nEND:VEVENT\""},{"line_number":105,"context_line":"        self.assertIsNone(calendar_time.ICal.check_time_format(pattern0))"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        pattern1 \u003d \"BEGIN:VEVENT\\nRRULE:FREQ\u003dHOURLY;INTERVAL\u003d1;\\nEND:VEVENT\""},{"line_number":108,"context_line":"        properties \u003d {\"format\": \"calendar\","}],"source_content_type":"text/x-python","patch_set":3,"id":"1a1ced50_72df1369","line":105,"range":{"start_line":105,"start_character":13,"end_line":105,"end_character":25},"updated":"2017-03-22 08:21:58.000000000","message":"Use assertEqual. Because the patter for input is fixed, so the output for check_time_format is expectable.","commit_id":"5506165b9d90f6b22260f65f7a8b513b273b0c64"},{"author":{"_account_id":21648,"name":"zhangshuai","email":"446077695@qq.com","username":"zhangshuai"},"change_message_id":"324df90adc11c8d6428fc0922c9f03d163c3098e","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    def test_escape_valid_pattern(self):"},{"line_number":104,"context_line":"        pattern0 \u003d \"BEGIN:VEVENT\\\\nRRULE:FREQ\u003dHOURLY;INTERVAL\u003d1;\\\\nEND:VEVENT\""},{"line_number":105,"context_line":"        self.assertIsNone(calendar_time.ICal.check_time_format(pattern0))"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        pattern1 \u003d \"BEGIN:VEVENT\\nRRULE:FREQ\u003dHOURLY;INTERVAL\u003d1;\\nEND:VEVENT\""},{"line_number":108,"context_line":"        properties \u003d {\"format\": \"calendar\","}],"source_content_type":"text/x-python","patch_set":3,"id":"1a1ced50_d2c36755","line":105,"range":{"start_line":105,"start_character":13,"end_line":105,"end_character":25},"in_reply_to":"1a1ced50_72df1369","updated":"2017-03-22 08:26:58.000000000","message":"ditto","commit_id":"5506165b9d90f6b22260f65f7a8b513b273b0c64"},{"author":{"_account_id":16206,"name":"chenhuayi","email":"chenhuayi@huawei.com","username":"chenhuayi2"},"change_message_id":"7caa97584ff57e09595d26162c06c42ffe4086c0","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        trigger_property \u003d trigger_info.get(\"properties\", None)"},{"line_number":118,"context_line":"        pattern_ \u003d trigger_property.get(\"pattern\", None)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        self.assertIsNone(calendar_time.ICal.check_time_format(pattern_))"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def test_compute_next_time(self):"},{"line_number":123,"context_line":"        pattern \u003d ("}],"source_content_type":"text/x-python","patch_set":3,"id":"1a1ced50_52f697f9","line":120,"range":{"start_line":120,"start_character":13,"end_line":120,"end_character":25},"updated":"2017-03-22 08:21:58.000000000","message":"Use assertEqual. Because the patter for input is fixed, so the output for check_time_format is expectable.","commit_id":"5506165b9d90f6b22260f65f7a8b513b273b0c64"},{"author":{"_account_id":21648,"name":"zhangshuai","email":"446077695@qq.com","username":"zhangshuai"},"change_message_id":"324df90adc11c8d6428fc0922c9f03d163c3098e","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        trigger_property \u003d trigger_info.get(\"properties\", None)"},{"line_number":118,"context_line":"        pattern_ \u003d trigger_property.get(\"pattern\", None)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        self.assertIsNone(calendar_time.ICal.check_time_format(pattern_))"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def test_compute_next_time(self):"},{"line_number":123,"context_line":"        pattern \u003d ("}],"source_content_type":"text/x-python","patch_set":3,"id":"1a1ced50_f2a223ad","line":120,"range":{"start_line":120,"start_character":13,"end_line":120,"end_character":25},"in_reply_to":"1a1ced50_52f697f9","updated":"2017-03-22 08:26:58.000000000","message":"ditto","commit_id":"5506165b9d90f6b22260f65f7a8b513b273b0c64"}]}
