)]}'
{"karbor/common/notification.py":[{"author":{"_account_id":21224,"name":"jiaopengju","email":"jiaopengju_yewu@cmss.chinamobile.com","username":"jiaopengju"},"change_message_id":"c88727d33a4c5092d62973a28e0158bf2d6aaea5","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    @property"},{"line_number":32,"context_line":"    def _notifier(self):"},{"line_number":33,"context_line":"        \u0027\u0027\u0027Returns the notification for Karbor API.\u0027\u0027\u0027"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        return (self.context.notification)"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9fb8cfa7_9792be9e","line":33,"range":{"start_line":33,"start_character":51,"end_line":33,"end_character":54},"updated":"2019-06-24 07:15:47.000000000","message":"ditto","commit_id":"862023a269ab0dcfb28f5a7092ccb33fc25e2728"},{"author":{"_account_id":21224,"name":"jiaopengju","email":"jiaopengju_yewu@cmss.chinamobile.com","username":"jiaopengju"},"change_message_id":"c88727d33a4c5092d62973a28e0158bf2d6aaea5","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    @property"},{"line_number":32,"context_line":"    def _notifier(self):"},{"line_number":33,"context_line":"        \u0027\u0027\u0027Returns the notification for Karbor API.\u0027\u0027\u0027"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        return (self.context.notification)"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9fb8cfa7_773b8ad0","line":33,"range":{"start_line":33,"start_character":8,"end_line":33,"end_character":11},"updated":"2019-06-24 07:15:47.000000000","message":"use \"\"\" \"\"\" instead","commit_id":"862023a269ab0dcfb28f5a7092ccb33fc25e2728"},{"author":{"_account_id":21224,"name":"jiaopengju","email":"jiaopengju_yewu@cmss.chinamobile.com","username":"jiaopengju"},"change_message_id":"c88727d33a4c5092d62973a28e0158bf2d6aaea5","unresolved":false,"context_lines":[{"line_number":199,"context_line":"    def event_type(self):"},{"line_number":200,"context_line":"        return \u0027plan_delete\u0027"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"    @abc.abstractmethod"},{"line_number":203,"context_line":"    def required_start_traits(self):"},{"line_number":204,"context_line":"        return [\u0027id\u0027]"},{"line_number":205,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9fb8cfa7_b7402209","line":202,"range":{"start_line":202,"start_character":4,"end_line":202,"end_character":23},"updated":"2019-06-24 07:15:47.000000000","message":"why the \u0027required_start_traits\u0027 functions in some class are method, and others are abstract method?","commit_id":"862023a269ab0dcfb28f5a7092ccb33fc25e2728"}]}
