)]}'
{"vitrage/api/controllers/v1/__init__.py":[{"author":{"_account_id":19122,"name":"Alexey Weyl","email":"aloshaweyl@gmail.com","username":"alexey_weyl"},"change_message_id":"cd0892867da83d491a0bd017dc28eed35ad0613a","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"# under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"__author__ \u003d \u0027stack\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"ffe62b97_459dfc08","line":15,"updated":"2017-03-30 08:59:45.000000000","message":"My mistake about this.\nThis should be removed.","commit_id":"e38ef66d08fd57008baf1042cf2f2ec62f776f73"},{"author":{"_account_id":18783,"name":"dongwenjuan","email":"dong.wenjuan@zte.com.cn","username":"dongwenjuan"},"change_message_id":"57bb2b4883869cd4d2063e2c003c99dd1bc1148c","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"# under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"__author__ \u003d \u0027stack\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"ffe62b97_f17172e0","line":15,"in_reply_to":"ffe62b97_459dfc08","updated":"2017-03-30 10:41:39.000000000","message":"Done","commit_id":"e38ef66d08fd57008baf1042cf2f2ec62f776f73"}],"vitrage/api/controllers/v1/alarm.py":[{"author":{"_account_id":19122,"name":"Alexey Weyl","email":"aloshaweyl@gmail.com","username":"alexey_weyl"},"change_message_id":"cd0892867da83d491a0bd017dc28eed35ad0613a","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        return self.get(vitrage_id, all_tenants)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    @pecan.expose(\u0027json\u0027)"},{"line_number":35,"context_line":"    def get(self, vitrage_id, all_tenants\u003dFalse):"},{"line_number":36,"context_line":"        if type(all_tenants) !\u003d bool:"},{"line_number":37,"context_line":"            all_tenants \u003d str(True) \u003d\u003d all_tenants"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ffe62b97_6565a045","line":35,"range":{"start_line":35,"start_character":8,"end_line":35,"end_character":11},"updated":"2017-03-30 08:59:45.000000000","message":"why did you change it from post to get?","commit_id":"e38ef66d08fd57008baf1042cf2f2ec62f776f73"},{"author":{"_account_id":18783,"name":"dongwenjuan","email":"dong.wenjuan@zte.com.cn","username":"dongwenjuan"},"change_message_id":"4e34d6fc48fab3a7f8b37273e26425995d96b33c","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        return self.get(vitrage_id, all_tenants)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    @pecan.expose(\u0027json\u0027)"},{"line_number":35,"context_line":"    def get(self, vitrage_id, all_tenants\u003dFalse):"},{"line_number":36,"context_line":"        if type(all_tenants) !\u003d bool:"},{"line_number":37,"context_line":"            all_tenants \u003d str(True) \u003d\u003d all_tenants"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ffe62b97_abdff9d4","line":35,"range":{"start_line":35,"start_character":8,"end_line":35,"end_character":11},"in_reply_to":"ffe62b97_6565a045","updated":"2017-03-30 10:11:31.000000000","message":"The client use \"GET\" method.　Here it may lead some misunderstanding. I think the method \"index\" may not needed.\nPecan can map the URL to the \"get\" method.\nsee http://pecan.readthedocs.io/en/latest/rest.html#url-mapping.","commit_id":"e38ef66d08fd57008baf1042cf2f2ec62f776f73"},{"author":{"_account_id":21414,"name":"Yujun Zhang","email":"zhang.yujunz@zte.com.cn","username":"yujunz"},"change_message_id":"3a6bd20f449cee7bb3c3afd033a41548f18b5361","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        return self.get(vitrage_id, all_tenants)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    @pecan.expose(\u0027json\u0027)"},{"line_number":35,"context_line":"    def get(self, vitrage_id, all_tenants\u003dFalse):"},{"line_number":36,"context_line":"        if type(all_tenants) !\u003d bool:"},{"line_number":37,"context_line":"            all_tenants \u003d str(True) \u003d\u003d all_tenants"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"dfeb2761_f9c4b242","line":35,"range":{"start_line":35,"start_character":8,"end_line":35,"end_character":11},"in_reply_to":"ffe62b97_abdff9d4","updated":"2017-03-31 00:34:36.000000000","message":"@Alexey, any history reason for matching all HTTP methods with `index` and map it to POST?\n\nNormally GET is used for listing or reading.","commit_id":"e38ef66d08fd57008baf1042cf2f2ec62f776f73"},{"author":{"_account_id":19122,"name":"Alexey Weyl","email":"aloshaweyl@gmail.com","username":"alexey_weyl"},"change_message_id":"cd0892867da83d491a0bd017dc28eed35ad0613a","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    @pecan.expose(\u0027json\u0027)"},{"line_number":35,"context_line":"    def get(self, vitrage_id, all_tenants\u003dFalse):"},{"line_number":36,"context_line":"        if type(all_tenants) !\u003d bool:"},{"line_number":37,"context_line":"            all_tenants \u003d str(True) \u003d\u003d all_tenants"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        if all_tenants:"},{"line_number":40,"context_line":"            enforce(\"list alarms:all_tenants\", pecan.request.headers,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ffe62b97_05549453","line":37,"range":{"start_line":36,"start_character":8,"end_line":37,"end_character":50},"updated":"2017-03-30 08:59:45.000000000","message":"why do we need this check?","commit_id":"e38ef66d08fd57008baf1042cf2f2ec62f776f73"},{"author":{"_account_id":18783,"name":"dongwenjuan","email":"dong.wenjuan@zte.com.cn","username":"dongwenjuan"},"change_message_id":"4e34d6fc48fab3a7f8b37273e26425995d96b33c","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    @pecan.expose(\u0027json\u0027)"},{"line_number":35,"context_line":"    def get(self, vitrage_id, all_tenants\u003dFalse):"},{"line_number":36,"context_line":"        if type(all_tenants) !\u003d bool:"},{"line_number":37,"context_line":"            all_tenants \u003d str(True) \u003d\u003d all_tenants"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        if all_tenants:"},{"line_number":40,"context_line":"            enforce(\"list alarms:all_tenants\", pecan.request.headers,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ffe62b97_f69de857","line":37,"range":{"start_line":36,"start_character":8,"end_line":37,"end_character":50},"in_reply_to":"ffe62b97_05549453","updated":"2017-03-30 10:11:31.000000000","message":"When i tested these APIs, i found that the type of \"all_tenants\" in server is always str, not bool. All the paramaters transform to str type when client send the request to server.","commit_id":"e38ef66d08fd57008baf1042cf2f2ec62f776f73"},{"author":{"_account_id":21414,"name":"Yujun Zhang","email":"zhang.yujunz@zte.com.cn","username":"yujunz"},"change_message_id":"3a6bd20f449cee7bb3c3afd033a41548f18b5361","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    @pecan.expose(\u0027json\u0027)"},{"line_number":35,"context_line":"    def get(self, vitrage_id, all_tenants\u003dFalse):"},{"line_number":36,"context_line":"        if type(all_tenants) !\u003d bool:"},{"line_number":37,"context_line":"            all_tenants \u003d str(True) \u003d\u003d all_tenants"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        if all_tenants:"},{"line_number":40,"context_line":"            enforce(\"list alarms:all_tenants\", pecan.request.headers,"}],"source_content_type":"text/x-python","patch_set":3,"id":"dfeb2761_d9efaeae","line":37,"range":{"start_line":36,"start_character":8,"end_line":37,"end_character":50},"in_reply_to":"ffe62b97_f69de857","updated":"2017-03-31 00:34:36.000000000","message":"I think string `\"True\"` and boolean `true` are different in json notation. See http://www.json.org/ .\n\nMaybe we should get the client fixed instead of tolerating a wrong notation in server?","commit_id":"e38ef66d08fd57008baf1042cf2f2ec62f776f73"}]}
