)]}'
{"smaug/api/v1/router.py":[{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"0e693955688ce6e7d7aa0d7311e0a98bd8fc0f1f","unresolved":false,"context_lines":[{"line_number":77,"context_line":"                       controller\u003dproviders_resources,"},{"line_number":78,"context_line":"                       action\u003d\u0027checkpoints_delete\u0027,"},{"line_number":79,"context_line":"                       conditions\u003d{\"method\": [\u0027DELETE\u0027]})"},{"line_number":80,"context_line":"        mapper.resource(\"trigger\", \"triggers\","},{"line_number":81,"context_line":"                        controller\u003dtrigger_resources,"},{"line_number":82,"context_line":"                        collection\u003d{},"},{"line_number":83,"context_line":"                        member\u003d{\u0027action\u0027: \u0027POST\u0027})"},{"line_number":84,"context_line":"        mapper.resource(\"scheduled_operation\", \"scheduled_operations\","},{"line_number":85,"context_line":"                        controller\u003dscheduled_operation_resources,"},{"line_number":86,"context_line":"                        collection\u003d{\u0027detail\u0027: \u0027GET\u0027},"}],"source_content_type":"text/x-python","patch_set":26,"id":"9a061dce_82ddc472","line":83,"range":{"start_line":80,"start_character":8,"end_line":83,"end_character":50},"updated":"2016-04-10 12:40:16.000000000","message":"We are Missing the PUT (update) command on all the API  am I correct ?","commit_id":"d9406c41f5947b20989186b29d955b03a4dc4319"}],"smaug/api/v1/triggers.py":[{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"b9440ebace5b44799d1b6275338a378800167825","unresolved":false,"context_lines":[{"line_number":46,"context_line":"\r"},{"line_number":47,"context_line":"\r"},{"line_number":48,"context_line":"class TriggerViewBuilder(common.ViewBuilder):\r"},{"line_number":49,"context_line":"    \"\"\"Model a server API response as a python dictionary.\"\"\"\r"},{"line_number":50,"context_line":"\r"},{"line_number":51,"context_line":"    _collection_name \u003d \"triggers\"\r"},{"line_number":52,"context_line":"\r"}],"source_content_type":"text/x-python","patch_set":3,"id":"7af24918_1e5b0d56","line":49,"range":{"start_line":49,"start_character":15,"end_line":49,"end_character":21},"updated":"2016-03-01 11:43:21.000000000","message":"trigger","commit_id":"7f93ebb0f9b5ee8e3ddb4d891c87d45442b9c455"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"abef7bd6357833ac348e423237af20af30928f73","unresolved":false,"context_lines":[{"line_number":46,"context_line":"\r"},{"line_number":47,"context_line":"\r"},{"line_number":48,"context_line":"class TriggerViewBuilder(common.ViewBuilder):\r"},{"line_number":49,"context_line":"    \"\"\"Model a server API response as a python dictionary.\"\"\"\r"},{"line_number":50,"context_line":"\r"},{"line_number":51,"context_line":"    _collection_name \u003d \"triggers\"\r"},{"line_number":52,"context_line":"\r"}],"source_content_type":"text/x-python","patch_set":3,"id":"5aef4532_7083ec56","line":49,"range":{"start_line":49,"start_character":15,"end_line":49,"end_character":21},"in_reply_to":"7af24918_1e5b0d56","updated":"2016-03-09 02:37:14.000000000","message":"Done","commit_id":"7f93ebb0f9b5ee8e3ddb4d891c87d45442b9c455"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"b9440ebace5b44799d1b6275338a378800167825","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        return trigger_ref\r"},{"line_number":65,"context_line":"\r"},{"line_number":66,"context_line":"    def detail_list(self, request, triggers):\r"},{"line_number":67,"context_line":"        \"\"\"Detailed view of a list of plans.\"\"\"\r"},{"line_number":68,"context_line":"        return self._list_view(self.detail, request, triggers)\r"},{"line_number":69,"context_line":"\r"},{"line_number":70,"context_line":"    def _list_view(self, func, request, triggers):\r"}],"source_content_type":"text/x-python","patch_set":3,"id":"7af24918_e1804049","line":67,"range":{"start_line":67,"start_character":38,"end_line":67,"end_character":43},"updated":"2016-03-01 11:43:21.000000000","message":"triggers","commit_id":"7f93ebb0f9b5ee8e3ddb4d891c87d45442b9c455"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"abef7bd6357833ac348e423237af20af30928f73","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        return trigger_ref\r"},{"line_number":65,"context_line":"\r"},{"line_number":66,"context_line":"    def detail_list(self, request, triggers):\r"},{"line_number":67,"context_line":"        \"\"\"Detailed view of a list of plans.\"\"\"\r"},{"line_number":68,"context_line":"        return self._list_view(self.detail, request, triggers)\r"},{"line_number":69,"context_line":"\r"},{"line_number":70,"context_line":"    def _list_view(self, func, request, triggers):\r"}],"source_content_type":"text/x-python","patch_set":3,"id":"5aef4532_5086b065","line":67,"range":{"start_line":67,"start_character":38,"end_line":67,"end_character":43},"in_reply_to":"7af24918_e1804049","updated":"2016-03-09 02:37:14.000000000","message":"Done","commit_id":"7f93ebb0f9b5ee8e3ddb4d891c87d45442b9c455"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"b9440ebace5b44799d1b6275338a378800167825","unresolved":false,"context_lines":[{"line_number":77,"context_line":"                                                    )\r"},{"line_number":78,"context_line":"        ret \u003d {\u0027triggers\u0027: triggers_list}\r"},{"line_number":79,"context_line":"        if triggers_links:\r"},{"line_number":80,"context_line":"            ret[\u0027plans_links\u0027] \u003d triggers_links\r"},{"line_number":81,"context_line":"\r"},{"line_number":82,"context_line":"        return ret\r"},{"line_number":83,"context_line":"\r"}],"source_content_type":"text/x-python","patch_set":3,"id":"7af24918_61e4303b","line":80,"range":{"start_line":80,"start_character":17,"end_line":80,"end_character":28},"updated":"2016-03-01 11:43:21.000000000","message":"triggers_links","commit_id":"7f93ebb0f9b5ee8e3ddb4d891c87d45442b9c455"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"abef7bd6357833ac348e423237af20af30928f73","unresolved":false,"context_lines":[{"line_number":77,"context_line":"                                                    )\r"},{"line_number":78,"context_line":"        ret \u003d {\u0027triggers\u0027: triggers_list}\r"},{"line_number":79,"context_line":"        if triggers_links:\r"},{"line_number":80,"context_line":"            ret[\u0027plans_links\u0027] \u003d triggers_links\r"},{"line_number":81,"context_line":"\r"},{"line_number":82,"context_line":"        return ret\r"},{"line_number":83,"context_line":"\r"}],"source_content_type":"text/x-python","patch_set":3,"id":"5aef4532_f097fc8d","line":80,"range":{"start_line":80,"start_character":17,"end_line":80,"end_character":28},"in_reply_to":"7af24918_61e4303b","updated":"2016-03-09 02:37:14.000000000","message":"Done","commit_id":"7f93ebb0f9b5ee8e3ddb4d891c87d45442b9c455"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"b9440ebace5b44799d1b6275338a378800167825","unresolved":false,"context_lines":[{"line_number":83,"context_line":"\r"},{"line_number":84,"context_line":"\r"},{"line_number":85,"context_line":"class TriggersController(wsgi.Controller):\r"},{"line_number":86,"context_line":"    \"\"\"The Plans API controller for the OpenStack API.\"\"\"\r"},{"line_number":87,"context_line":"\r"},{"line_number":88,"context_line":"    _view_builder_class \u003d TriggerViewBuilder\r"},{"line_number":89,"context_line":"\r"}],"source_content_type":"text/x-python","patch_set":3,"id":"7af24918_be9499e8","line":86,"range":{"start_line":86,"start_character":11,"end_line":86,"end_character":16},"updated":"2016-03-01 11:43:21.000000000","message":"trigger","commit_id":"7f93ebb0f9b5ee8e3ddb4d891c87d45442b9c455"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"abef7bd6357833ac348e423237af20af30928f73","unresolved":false,"context_lines":[{"line_number":83,"context_line":"\r"},{"line_number":84,"context_line":"\r"},{"line_number":85,"context_line":"class TriggersController(wsgi.Controller):\r"},{"line_number":86,"context_line":"    \"\"\"The Plans API controller for the OpenStack API.\"\"\"\r"},{"line_number":87,"context_line":"\r"},{"line_number":88,"context_line":"    _view_builder_class \u003d TriggerViewBuilder\r"},{"line_number":89,"context_line":"\r"}],"source_content_type":"text/x-python","patch_set":3,"id":"5aef4532_d092c09e","line":86,"range":{"start_line":86,"start_character":11,"end_line":86,"end_character":16},"in_reply_to":"7af24918_be9499e8","updated":"2016-03-09 02:37:14.000000000","message":"Done","commit_id":"7f93ebb0f9b5ee8e3ddb4d891c87d45442b9c455"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"f3d0db6143719a19c2985de03b346dbb3d15b3c2","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        return trigger_ref\r"},{"line_number":65,"context_line":"\r"},{"line_number":66,"context_line":"    def detail_list(self, request, triggers):\r"},{"line_number":67,"context_line":"        \"\"\"Detailed view of a list of plans.\"\"\"\r"},{"line_number":68,"context_line":"        return self._list_view(self.detail, request, triggers)\r"},{"line_number":69,"context_line":"\r"},{"line_number":70,"context_line":"    def _list_view(self, func, request, triggers):\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"7af24918_40ef0eb0","line":67,"range":{"start_line":67,"start_character":38,"end_line":67,"end_character":43},"updated":"2016-03-02 15:14:03.000000000","message":"s/Plans/Triggers/","commit_id":"2e96dd05d656baacb86261d2243fd4a26c65346b"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"a2845cb8ede7b193fb450ff902ed1116b5846906","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        return trigger_ref\r"},{"line_number":65,"context_line":"\r"},{"line_number":66,"context_line":"    def detail_list(self, request, triggers):\r"},{"line_number":67,"context_line":"        \"\"\"Detailed view of a list of plans.\"\"\"\r"},{"line_number":68,"context_line":"        return self._list_view(self.detail, request, triggers)\r"},{"line_number":69,"context_line":"\r"},{"line_number":70,"context_line":"    def _list_view(self, func, request, triggers):\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"5aef4532_90e15801","line":67,"range":{"start_line":67,"start_character":38,"end_line":67,"end_character":43},"in_reply_to":"7af24918_40ef0eb0","updated":"2016-03-09 02:38:32.000000000","message":"Done","commit_id":"2e96dd05d656baacb86261d2243fd4a26c65346b"},{"author":{"_account_id":15069,"name":"zhonghuali","email":"lizhonghua.li@huawei.com","username":"sloblee"},"change_message_id":"4c5bafb3287c6763bdea3c459dbe434c2f8a1264","unresolved":false,"context_lines":[{"line_number":83,"context_line":"\r"},{"line_number":84,"context_line":"\r"},{"line_number":85,"context_line":"class TriggersController(wsgi.Controller):\r"},{"line_number":86,"context_line":"    \"\"\"The Plans API controller for the OpenStack API.\"\"\"\r"},{"line_number":87,"context_line":"\r"},{"line_number":88,"context_line":"    _view_builder_class \u003d TriggerViewBuilder\r"},{"line_number":89,"context_line":"\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"7af24918_1a15793f","line":86,"range":{"start_line":86,"start_character":11,"end_line":86,"end_character":16},"updated":"2016-03-02 15:03:03.000000000","message":"s/Plans/Triggers","commit_id":"2e96dd05d656baacb86261d2243fd4a26c65346b"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"a2845cb8ede7b193fb450ff902ed1116b5846906","unresolved":false,"context_lines":[{"line_number":83,"context_line":"\r"},{"line_number":84,"context_line":"\r"},{"line_number":85,"context_line":"class TriggersController(wsgi.Controller):\r"},{"line_number":86,"context_line":"    \"\"\"The Plans API controller for the OpenStack API.\"\"\"\r"},{"line_number":87,"context_line":"\r"},{"line_number":88,"context_line":"    _view_builder_class \u003d TriggerViewBuilder\r"},{"line_number":89,"context_line":"\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"5aef4532_70d48c1f","line":86,"range":{"start_line":86,"start_character":11,"end_line":86,"end_character":16},"in_reply_to":"7af24918_1a15793f","updated":"2016-03-09 02:38:32.000000000","message":"Done","commit_id":"2e96dd05d656baacb86261d2243fd4a26c65346b"},{"author":{"_account_id":2023,"name":"Saggi Mizrahi","email":"ficoos+osreview@gmail.com","username":"ficoos"},"change_message_id":"ee9774150e683ef2d08e0311a79ca7ff28d3feaf","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from smaug import exception\r"},{"line_number":23,"context_line":"from smaug.i18n import _\r"},{"line_number":24,"context_line":"from smaug import objects\r"},{"line_number":25,"context_line":"from smaug.operationengine.engine import trigger_manager\r"},{"line_number":26,"context_line":"from smaug import policy\r"},{"line_number":27,"context_line":"from smaug import utils\r"},{"line_number":28,"context_line":"\r"}],"source_content_type":"text/x-python","patch_set":18,"id":"da0c15f0_cf4d1374","line":25,"range":{"start_line":25,"start_character":5,"end_line":25,"end_character":33},"updated":"2016-03-27 10:32:29.000000000","message":"This doesn\u0027t seem to exist","commit_id":"a209218eb7a5e5e25f1395f970a2d41e70cd2b9f"},{"author":{"_account_id":20883,"name":"Yuval Brik","email":"yuval@brik.org.il","username":"yuvalbr"},"change_message_id":"a9e8eff2486a7e2a2cbcec726d75e0435945b439","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        try:"},{"line_number":117,"context_line":"            trigger \u003d objects.Trigger(context\u003dcontext, **trigger_definition)"},{"line_number":118,"context_line":"            trigger.create()"},{"line_number":119,"context_line":"        except Exception as ex:"},{"line_number":120,"context_line":"            self._raise_unknown_exception(ex)"},{"line_number":121,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"9a061dce_cb039575","line":118,"range":{"start_line":118,"start_character":0,"end_line":118,"end_character":28},"updated":"2016-04-04 10:05:44.000000000","message":"Add Trigger RPC which will add the trigger object to the OperationEngineManager\u0027s TriggerManager.","commit_id":"ec86c3b4c60a14caaee8ead14c5b4df0c9a9bc44"}],"smaug/objects/trigger.py":[{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"b9440ebace5b44799d1b6275338a378800167825","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    @base.remotable\r"},{"line_number":82,"context_line":"    def save(self):\r"},{"line_number":83,"context_line":"        updates \u003d self.smaug_obj_get_changes()\r"},{"line_number":84,"context_line":"        if updates and self.id:\r"},{"line_number":85,"context_line":"            db.trigger_update(self._context, self.id, updates)\r"},{"line_number":86,"context_line":"            self.obj_reset_changes()\r"},{"line_number":87,"context_line":"\r"}],"source_content_type":"text/x-python","patch_set":3,"id":"7af24918_c7171453","line":84,"updated":"2016-03-01 11:43:21.000000000","message":"missing _convert_properties_to_db_format?","commit_id":"7f93ebb0f9b5ee8e3ddb4d891c87d45442b9c455"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"abef7bd6357833ac348e423237af20af30928f73","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    @base.remotable\r"},{"line_number":82,"context_line":"    def save(self):\r"},{"line_number":83,"context_line":"        updates \u003d self.smaug_obj_get_changes()\r"},{"line_number":84,"context_line":"        if updates and self.id:\r"},{"line_number":85,"context_line":"            db.trigger_update(self._context, self.id, updates)\r"},{"line_number":86,"context_line":"            self.obj_reset_changes()\r"},{"line_number":87,"context_line":"\r"}],"source_content_type":"text/x-python","patch_set":3,"id":"5aef4532_905cb8ee","line":84,"in_reply_to":"7af24918_c7171453","updated":"2016-03-09 02:37:14.000000000","message":"Done","commit_id":"7f93ebb0f9b5ee8e3ddb4d891c87d45442b9c455"}]}
