)]}'
{"quantum/agent/linux/dhcp.py":[{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"bbbddbe012d2e702d71d23d7954ca3e9d4716af5","unresolved":false,"context_lines":[{"line_number":391,"context_line":"                                        \u0027,\u0027.join(host_routes)))"},{"line_number":392,"context_line":"                options.append("},{"line_number":393,"context_line":"                    self._format_option(i, 249,"},{"line_number":394,"context_line":"                                        \u0027,\u0027.join(host_routes)))"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"            if subnet.ip_version \u003d\u003d 4:"},{"line_number":397,"context_line":"                if subnet.gateway_ip:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPn%2F%2F%2BxE%3D","line":394,"updated":"2013-06-15 22:50:54.000000000","message":"I woul prefer a solution where you can specify either \u0027249\u0027 or 249 and the result would be the same.","commit_id":"309dad12b23c0e98a04077a325c81408a813dddb"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"bbbddbe012d2e702d71d23d7954ca3e9d4716af5","unresolved":false,"context_lines":[{"line_number":439,"context_line":"            set_tag \u003d \u0027tag:\u0027"},{"line_number":440,"context_line":"        else:"},{"line_number":441,"context_line":"            set_tag \u003d \u0027\u0027"},{"line_number":442,"context_line":"        if isinstance(option, int):"},{"line_number":443,"context_line":"            return \u0027,\u0027.join((set_tag + self._TAG_PREFIX % index,"},{"line_number":444,"context_line":"                             str(option)) + args)"},{"line_number":445,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPn%2F%2F%2BxI%3D","line":442,"updated":"2013-06-15 22:50:54.000000000","message":"I tend to regard code which depends on the type of the parameter as not extremely easy to maintain.\n\nI think there are several alternatives which might save us the above check.\n\nFor instance, have two methods (which share most of the code), one accepts the text version of the option, the other the numeric version.\n\nOr having distinct keyword parameters (you\u0027ll need to ensure they\u0027re XORed as only one of them can be specified).\n\nAnyway, I don\u0027t have a strong point here; so if you have a good reason (excluding lazyness) for keeping the code as it is, that\u0027s fine.","commit_id":"309dad12b23c0e98a04077a325c81408a813dddb"},{"author":{"_account_id":2634,"name":"Peng Yong","email":"ppyy@pubyun.com","username":"ppyy"},"change_message_id":"12bcdcf6738613c5f84179e17758f24438b56b33","unresolved":false,"context_lines":[{"line_number":439,"context_line":"            set_tag \u003d \u0027tag:\u0027"},{"line_number":440,"context_line":"        else:"},{"line_number":441,"context_line":"            set_tag \u003d \u0027\u0027"},{"line_number":442,"context_line":"        if isinstance(option, int):"},{"line_number":443,"context_line":"            return \u0027,\u0027.join((set_tag + self._TAG_PREFIX % index,"},{"line_number":444,"context_line":"                             str(option)) + args)"},{"line_number":445,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPn%2F%2F%2Bmw%3D","line":442,"in_reply_to":"AAAAPn%2F%2F%2BxI%3D","updated":"2013-06-16 07:31:03.000000000","message":"the code is clean, although it\u0027s a not so easy to maintain.\n\ni have two versions of this code, one have two method and another use type of parameter. and i choose later.\n\nnow i reconsider your suggestion and will rever to the first one.","commit_id":"309dad12b23c0e98a04077a325c81408a813dddb"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"1f103e279d16471d5692d1c8f352d99071036852","unresolved":false,"context_lines":[{"line_number":390,"context_line":"                    self._format_option_name(i, \u0027classless-static-route\u0027,"},{"line_number":391,"context_line":"                                             \u0027,\u0027.join(host_routes)))"},{"line_number":392,"context_line":"                options.append("},{"line_number":393,"context_line":"                    self._format_option_code(i, 249,"},{"line_number":394,"context_line":"                                             \u0027,\u0027.join(host_routes)))"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"            if subnet.ip_version \u003d\u003d 4:"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPn%2F%2F7zM%3D","line":393,"updated":"2013-06-21 19:22:48.000000000","message":"Please use constant here.","commit_id":"f6a936d1d7fdc30f3f75d7a6c36b338d49b0e682"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"unresolved":false,"context_lines":[{"line_number":432,"context_line":""},{"line_number":433,"context_line":"    def _format_option_name(self, index, option, *args):"},{"line_number":434,"context_line":"        \"\"\""},{"line_number":435,"context_line":"        Format DHCP option by option name"},{"line_number":436,"context_line":"        \"\"\""},{"line_number":437,"context_line":"        if self.version \u003e\u003d self.MINIMUM_VERSION:"},{"line_number":438,"context_line":"            set_tag \u003d \u0027tag:\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPn%2F%2Fmz4%3D","line":435,"updated":"2013-06-26 21:00:03.000000000","message":"I don\u0027t want to sound pedantic, but this can be a one liner like this:\n\n\"\"\"Format DHCP option by option name.\"\"\"","commit_id":"f6a936d1d7fdc30f3f75d7a6c36b338d49b0e682"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"unresolved":false,"context_lines":[{"line_number":443,"context_line":""},{"line_number":444,"context_line":"    def _format_option_code(self, index, option, *args):"},{"line_number":445,"context_line":"        \"\"\""},{"line_number":446,"context_line":"        Format DHCP option by option code"},{"line_number":447,"context_line":"        \"\"\""},{"line_number":448,"context_line":"        if self.version \u003e\u003d self.MINIMUM_VERSION:"},{"line_number":449,"context_line":"            set_tag \u003d \u0027tag:\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPn%2F%2Fmz0%3D","line":446,"updated":"2013-06-26 21:00:03.000000000","message":"ditto","commit_id":"f6a936d1d7fdc30f3f75d7a6c36b338d49b0e682"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"bae551ffb003bff1d6334a89fb2a74b519d53f45","unresolved":false,"context_lines":[{"line_number":438,"context_line":"        if self.version \u003e\u003d self.MINIMUM_VERSION:"},{"line_number":439,"context_line":"            set_tag \u003d \u0027tag:\u0027"},{"line_number":440,"context_line":"        else:"},{"line_number":441,"context_line":"            set_tag \u003d \u0027\u0027"},{"line_number":442,"context_line":"        return \u0027,\u0027.join((set_tag + self._TAG_PREFIX % index,"},{"line_number":443,"context_line":"                         \u0027option:%s\u0027 % option) + args)"},{"line_number":444,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAPn%2F%2FflI%3D","line":441,"updated":"2013-06-29 16:12:00.000000000","message":"You can make this method support both option names and codes.  Insert after line 441:\n\noption \u003d str(option)\nif not option.isdigit():\n    option \u003d \u0027option:%s\u0027 % option","commit_id":"face48e4a96fe591f065be9ec7c0fe06576b1c17"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"unresolved":false,"context_lines":[{"line_number":438,"context_line":"        if self.version \u003e\u003d self.MINIMUM_VERSION:"},{"line_number":439,"context_line":"            set_tag \u003d \u0027tag:\u0027"},{"line_number":440,"context_line":"        else:"},{"line_number":441,"context_line":"            set_tag \u003d \u0027\u0027"},{"line_number":442,"context_line":"        return \u0027,\u0027.join((set_tag + self._TAG_PREFIX % index,"},{"line_number":443,"context_line":"                         \u0027option:%s\u0027 % option) + args)"},{"line_number":444,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAP3%2F%2FqOo%3D","line":441,"in_reply_to":"AAAAPn%2F%2FflI%3D","updated":"2013-07-15 04:00:08.000000000","message":"This approach is actually preferrable to the one I suggested in patch set #2, as it allows you to keep the code fairly simple, and hence maintainable, and avoids having two methods.\n\nSo I\u0027d follow Mark\u0027s suggestion.","commit_id":"face48e4a96fe591f065be9ec7c0fe06576b1c17"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"bae551ffb003bff1d6334a89fb2a74b519d53f45","unresolved":false,"context_lines":[{"line_number":440,"context_line":"        else:"},{"line_number":441,"context_line":"            set_tag \u003d \u0027\u0027"},{"line_number":442,"context_line":"        return \u0027,\u0027.join((set_tag + self._TAG_PREFIX % index,"},{"line_number":443,"context_line":"                         \u0027option:%s\u0027 % option) + args)"},{"line_number":444,"context_line":""},{"line_number":445,"context_line":"    def _format_option_code(self, index, option, *args):"},{"line_number":446,"context_line":"        \"\"\"Format DHCP option by option code.\"\"\""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAPn%2F%2Ffk8%3D","line":443,"updated":"2013-06-29 16:12:00.000000000","message":"remove \u0027option:%s\u0027 %","commit_id":"face48e4a96fe591f065be9ec7c0fe06576b1c17"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"bae551ffb003bff1d6334a89fb2a74b519d53f45","unresolved":false,"context_lines":[{"line_number":442,"context_line":"        return \u0027,\u0027.join((set_tag + self._TAG_PREFIX % index,"},{"line_number":443,"context_line":"                         \u0027option:%s\u0027 % option) + args)"},{"line_number":444,"context_line":""},{"line_number":445,"context_line":"    def _format_option_code(self, index, option, *args):"},{"line_number":446,"context_line":"        \"\"\"Format DHCP option by option code.\"\"\""},{"line_number":447,"context_line":"        if self.version \u003e\u003d self.MINIMUM_VERSION:"},{"line_number":448,"context_line":"            set_tag \u003d \u0027tag:\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAPn%2F%2Ffk4%3D","line":445,"updated":"2013-06-29 16:12:00.000000000","message":"This method is not necessary.  See above comments.","commit_id":"face48e4a96fe591f065be9ec7c0fe06576b1c17"}]}
