)]}'
{"manila_ui/dashboards/admin/share_types/templates/share_types/_create.html":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c4fe91ed888dc556cdf12338b0eb379b8a1348f9","unresolved":false,"context_lines":[{"line_number":4,"context_line":"  \u003ch3\u003e{% trans \"Description\" %}:\u003c/h3\u003e"},{"line_number":5,"context_line":"  \u003cp\u003e"},{"line_number":6,"context_line":"    {% blocktrans %}"},{"line_number":7,"context_line":"      Share type defines share backend characteristics. Share type specs \u0027driver_handles_share_servers\u0027"},{"line_number":8,"context_line":"      and \u0027snapshot_support\u0027 can be set only via the corresponding fields. To add another specs use"},{"line_number":9,"context_line":"      \u003cstrong\u003eExtra specs\u003c/strong\u003e field, one action per line. Empty strings will be ignored."},{"line_number":10,"context_line":"    {% endblocktrans %}\u003cbr /\u003e"}],"source_content_type":"text/html","patch_set":8,"id":"7f231b9d_98071919","line":7,"range":{"start_line":7,"start_character":96,"end_line":7,"end_character":103},"updated":"2017-07-14 13:10:27.000000000","message":"wrapping","commit_id":"e61031c830386b383fb3a34ca39109dbc3a86760"}],"manila_ui/dashboards/admin/shares/forms.py":[{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"f021dce79222a98958fd78980393d4371bb37865","unresolved":false,"context_lines":[{"line_number":151,"context_line":"    name \u003d forms.CharField(max_length\u003d\"255\", label\u003d_(\"Name\"))"},{"line_number":152,"context_line":"    spec_driver_handles_share_servers \u003d forms.ChoiceField("},{"line_number":153,"context_line":"        label\u003d_(\"Driver handles share servers\"),"},{"line_number":154,"context_line":"        choices\u003d[(True, _(\u0027True\u0027)), (False, _(\u0027False\u0027))])"},{"line_number":155,"context_line":"    spec_snapshot_support \u003d forms.ChoiceField("},{"line_number":156,"context_line":"        required\u003dFalse, label\u003d_(\"Snapshot support\"),"},{"line_number":157,"context_line":"        choices\u003d[(True, _(\u0027True\u0027)), (False, _(\u0027False\u0027))])"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_3775aa97","line":154,"range":{"start_line":154,"start_character":16,"end_line":154,"end_character":56},"updated":"2016-07-21 10:53:53.000000000","message":"Please, keep it as tuple as it was. \"tuple init\" is much faster than \"list init\". Same in all other similar places.","commit_id":"b01dedb762f32ef5086409919b032094f68ab07b"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"f021dce79222a98958fd78980393d4371bb37865","unresolved":false,"context_lines":[{"line_number":187,"context_line":"            self.api_error(e.messages[0])"},{"line_number":188,"context_line":"            return False"},{"line_number":189,"context_line":"        except Exception:"},{"line_number":190,"context_line":"            exceptions.handle(request, _(\"Unable to create share type.\"))"},{"line_number":191,"context_line":"            return False"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_196c0e34","line":190,"range":{"start_line":190,"start_character":41,"end_line":190,"end_character":71},"updated":"2016-07-21 10:53:53.000000000","message":"?","commit_id":"b01dedb762f32ef5086409919b032094f68ab07b"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"f021dce79222a98958fd78980393d4371bb37865","unresolved":false,"context_lines":[{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    def handle(self, request, data):"},{"line_number":218,"context_line":"        try:"},{"line_number":219,"context_line":"            set_dict, unset_list \u003d utils.parse_str_meta("},{"line_number":220,"context_line":"                data.pop(\u0027extra_specs\u0027))"},{"line_number":221,"context_line":"            set_dict.update(data)"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"            if set_dict:"},{"line_number":224,"context_line":"                manila.share_type_set_extra_specs("}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_b966a227","line":221,"range":{"start_line":219,"start_character":12,"end_line":221,"end_character":33},"updated":"2016-07-21 10:53:53.000000000","message":"Now it is possible to set values twice and the ones that are in separate inputs can be easily overriden. Need to add here check for absence of duplication.","commit_id":"b01dedb762f32ef5086409919b032094f68ab07b"},{"author":{"_account_id":6914,"name":"Tatiana Ovchinnikova","email":"t.v.ovtchinnikova@gmail.com","username":"tmazur"},"change_message_id":"703652ee430a1bf50c397c7fb2686bd3a7148791","unresolved":false,"context_lines":[{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    def handle(self, request, data):"},{"line_number":218,"context_line":"        try:"},{"line_number":219,"context_line":"            set_dict, unset_list \u003d utils.parse_str_meta("},{"line_number":220,"context_line":"                data.pop(\u0027extra_specs\u0027))"},{"line_number":221,"context_line":"            set_dict.update(data)"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"            if set_dict:"},{"line_number":224,"context_line":"                manila.share_type_set_extra_specs("}],"source_content_type":"text/x-python","patch_set":2,"id":"bacf61ea_6eab648a","line":221,"range":{"start_line":219,"start_character":12,"end_line":221,"end_character":33},"in_reply_to":"bacf61ea_48b67f3e","updated":"2016-07-28 07:48:17.000000000","message":"On the second thought snapshot_support and driver_handles_share_servers cannot be overriden just because they stay in data and if they are the same keys in set_dict, the values will be overriden by data in L#221. In other words the two separate fields have higher priority and it doesn\u0027t matter what we put in extra_specs field. However there\u0027s still a possibility to get an error while trying to unset snapshot_support and driver_handles_share_servers in this field and it definitely should be handled properly.","commit_id":"b01dedb762f32ef5086409919b032094f68ab07b"},{"author":{"_account_id":6914,"name":"Tatiana Ovchinnikova","email":"t.v.ovtchinnikova@gmail.com","username":"tmazur"},"change_message_id":"47dceb449c6019bfb984e5b07fb1d15951a4f766","unresolved":false,"context_lines":[{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    def handle(self, request, data):"},{"line_number":218,"context_line":"        try:"},{"line_number":219,"context_line":"            set_dict, unset_list \u003d utils.parse_str_meta("},{"line_number":220,"context_line":"                data.pop(\u0027extra_specs\u0027))"},{"line_number":221,"context_line":"            set_dict.update(data)"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"            if set_dict:"},{"line_number":224,"context_line":"                manila.share_type_set_extra_specs("}],"source_content_type":"text/x-python","patch_set":2,"id":"bacf61ea_48b67f3e","line":221,"range":{"start_line":219,"start_character":12,"end_line":221,"end_character":33},"in_reply_to":"dada55a8_b966a227","updated":"2016-07-27 13:55:04.000000000","message":"Good point, thank you. We should remove the duplicates here and add a corresponding help message.","commit_id":"b01dedb762f32ef5086409919b032094f68ab07b"}]}
