)]}'
{".cache/v/cache/lastfailed":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"512ab190e5d6c3d59b08f023522c1e4ac2528f2f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":41,"id":"5f93b717_1d2b74eb","side":"PARENT","updated":"2018-01-26 10:20:43.000000000","message":"This file doesn\u0027t seem to belong here.","commit_id":"1afce98b1eb4aee444432f3bb50d3f73bf7d2468"},{"author":{"_account_id":19930,"name":"Dai Dang Van","email":"daidv@omzcloud.vn","username":"daidv"},"change_message_id":"44107c1ac56bd864604fb8ab1ebe1934ca455ffc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":41,"id":"5f93b717_d54ac453","side":"PARENT","in_reply_to":"5f93b717_1d2b74eb","updated":"2018-01-26 10:45:02.000000000","message":"Oops, thanks!","commit_id":"1afce98b1eb4aee444432f3bb50d3f73bf7d2468"}],"designate/central/service.py":[{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"e998a64d4f9197f5d34923ed7aa55dd573bbd2d8","unresolved":false,"context_lines":[{"line_number":263,"context_line":"        return self.pool_manager_api"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"    def _is_valid_zone_name(self, context, zone_name):"},{"line_number":266,"context_line":"        # Validate zone name length"},{"line_number":267,"context_line":"        if zone_name is not None:"},{"line_number":268,"context_line":"            if len(zone_name) \u003e cfg.CONF[\u0027service:central\u0027].max_zone_name_len:"},{"line_number":269,"context_line":"                raise exceptions.InvalidZoneName(\u0027Name too long\u0027)"}],"source_content_type":"text/x-python","patch_set":19,"id":"df140735_f073ef14","line":266,"updated":"2017-06-04 08:49:21.000000000","message":"It feels like moving the raise InvalidObject under the first if statement would make it a lot cleaner, e.g. \n\u003e if zone_name is not None:\n\u003e     raise exceptions.InvalidObject","commit_id":"b1f6d5179a358935da8a6e840b03ca89499662bb"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"d326e61d2ea8c3e93aae105349acaccd4e6db59e","unresolved":false,"context_lines":[{"line_number":263,"context_line":"        return self.pool_manager_api"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"    def _is_valid_zone_name(self, context, zone_name):"},{"line_number":266,"context_line":"        # Validate zone name length"},{"line_number":267,"context_line":"        if zone_name is not None:"},{"line_number":268,"context_line":"            if len(zone_name) \u003e cfg.CONF[\u0027service:central\u0027].max_zone_name_len:"},{"line_number":269,"context_line":"                raise exceptions.InvalidZoneName(\u0027Name too long\u0027)"}],"source_content_type":"text/x-python","patch_set":19,"id":"df140735_9aa04992","line":266,"in_reply_to":"df140735_1aa1d9f8","updated":"2017-06-05 01:47:18.000000000","message":"Yep, exactly.","commit_id":"b1f6d5179a358935da8a6e840b03ca89499662bb"},{"author":{"_account_id":19930,"name":"Dai Dang Van","email":"daidv@omzcloud.vn","username":"daidv"},"change_message_id":"597b74e6ad3b8ce9aa7584ee3232040076cf28a7","unresolved":false,"context_lines":[{"line_number":263,"context_line":"        return self.pool_manager_api"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"    def _is_valid_zone_name(self, context, zone_name):"},{"line_number":266,"context_line":"        # Validate zone name length"},{"line_number":267,"context_line":"        if zone_name is not None:"},{"line_number":268,"context_line":"            if len(zone_name) \u003e cfg.CONF[\u0027service:central\u0027].max_zone_name_len:"},{"line_number":269,"context_line":"                raise exceptions.InvalidZoneName(\u0027Name too long\u0027)"}],"source_content_type":"text/x-python","patch_set":19,"id":"df140735_1aa1d9f8","line":266,"in_reply_to":"df140735_f073ef14","updated":"2017-06-05 01:13:03.000000000","message":"I know you mean something like:\n\u003e if zone_name is None:\n\u003e     raise exceptions.InvalidObject\n\nGotcha, thanks.","commit_id":"b1f6d5179a358935da8a6e840b03ca89499662bb"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"43955340fe56b3bb3d958471a006249002248185","unresolved":false,"context_lines":[{"line_number":308,"context_line":"        return True"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"    def _is_valid_recordset_name(self, context, zone, recordset_name):"},{"line_number":311,"context_line":"        if recordset_name is not None:"},{"line_number":312,"context_line":"            if not recordset_name.endswith(\u0027.\u0027):"},{"line_number":313,"context_line":"                raise ValueError(\u0027Please supply a FQDN\u0027)"},{"line_number":314,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"df140735_56811c4a","line":311,"updated":"2017-06-07 06:57:13.000000000","message":"btw the same thing should be done here.\n\u003e if recordset_name is None:\n\u003e     raise exceptions.InvalidObject","commit_id":"1ca13815c51eccfaef78b3ff976e478f848427d2"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"4865bcb5cb136a541713e7cc8a8156ca5697cbe2","unresolved":false,"context_lines":[{"line_number":308,"context_line":"        return True"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"    def _is_valid_recordset_name(self, context, zone, recordset_name):"},{"line_number":311,"context_line":"        if recordset_name is not None:"},{"line_number":312,"context_line":"            if not recordset_name.endswith(\u0027.\u0027):"},{"line_number":313,"context_line":"                raise ValueError(\u0027Please supply a FQDN\u0027)"},{"line_number":314,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"1f1a1f67_ca4125a8","line":311,"updated":"2017-07-19 18:14:41.000000000","message":"Make the same change here as above ^\n\n\u003e if recordset_name is None:\n\u003e     raise exceptions.InvalidObject","commit_id":"6eee9e7c93b7725b9745d2e96f1d98952cbc6fcc"},{"author":{"_account_id":25254,"name":"Nguyen Van Trung","email":"trungnvfet@outlook.com","username":"trungnv"},"change_message_id":"258f1831f35130917cee53ccb5ff8284b240ed8b","unresolved":false,"context_lines":[{"line_number":308,"context_line":"        return True"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"    def _is_valid_recordset_name(self, context, zone, recordset_name):"},{"line_number":311,"context_line":"        if recordset_name is not None:"},{"line_number":312,"context_line":"            if not recordset_name.endswith(\u0027.\u0027):"},{"line_number":313,"context_line":"                raise ValueError(\u0027Please supply a FQDN\u0027)"},{"line_number":314,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"1f1a1f67_54bdafb4","line":311,"in_reply_to":"1f1a1f67_ca4125a8","updated":"2017-07-20 02:09:27.000000000","message":"Hi Erik, \nWe have big changes in the next time along with your suggestion.\nThanks","commit_id":"6eee9e7c93b7725b9745d2e96f1d98952cbc6fcc"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"25570ed58864e42aaa3c45506588865d8526a0f0","unresolved":false,"context_lines":[{"line_number":313,"context_line":"        return True"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"    def _is_valid_recordset_name(self, context, zone, recordset_name):"},{"line_number":316,"context_line":"        if recordset_name is not None:"},{"line_number":317,"context_line":"            if not recordset_name.endswith(\u0027.\u0027):"},{"line_number":318,"context_line":"                raise ValueError(\u0027Please supply a FQDN\u0027)"},{"line_number":319,"context_line":""}],"source_content_type":"text/x-python","patch_set":38,"id":"df87a7cf_886ebbfd","line":316,"updated":"2017-12-11 19:14:42.000000000","message":"Let\u0027s not forget to turn this into\nif zone_name is None:\n    raise exceptions.InvalidObject","commit_id":"48f1663d946a22ff6d99c652d4e2a1808a245ef1"},{"author":{"_account_id":19930,"name":"Dai Dang Van","email":"daidv@omzcloud.vn","username":"daidv"},"change_message_id":"24bd16584f3338bd074ada5ee91582fdeda21139","unresolved":false,"context_lines":[{"line_number":313,"context_line":"        return True"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"    def _is_valid_recordset_name(self, context, zone, recordset_name):"},{"line_number":316,"context_line":"        if recordset_name is not None:"},{"line_number":317,"context_line":"            if not recordset_name.endswith(\u0027.\u0027):"},{"line_number":318,"context_line":"                raise ValueError(\u0027Please supply a FQDN\u0027)"},{"line_number":319,"context_line":""}],"source_content_type":"text/x-python","patch_set":38,"id":"9f91af0f_21273cb6","line":316,"in_reply_to":"9f91af0f_d888c820","updated":"2018-01-03 01:15:12.000000000","message":"Aha, gotcha, thanks.","commit_id":"48f1663d946a22ff6d99c652d4e2a1808a245ef1"},{"author":{"_account_id":19930,"name":"Dai Dang Van","email":"daidv@omzcloud.vn","username":"daidv"},"change_message_id":"78294852cfe6fedb1e83140b1668f2021d6c788d","unresolved":false,"context_lines":[{"line_number":313,"context_line":"        return True"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"    def _is_valid_recordset_name(self, context, zone, recordset_name):"},{"line_number":316,"context_line":"        if recordset_name is not None:"},{"line_number":317,"context_line":"            if not recordset_name.endswith(\u0027.\u0027):"},{"line_number":318,"context_line":"                raise ValueError(\u0027Please supply a FQDN\u0027)"},{"line_number":319,"context_line":""}],"source_content_type":"text/x-python","patch_set":38,"id":"df87a7cf_8f1cea13","line":316,"in_reply_to":"df87a7cf_886ebbfd","updated":"2017-12-19 06:58:59.000000000","message":"Sorry, I didn\u0027t get your point?","commit_id":"48f1663d946a22ff6d99c652d4e2a1808a245ef1"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"46f2fd91575c5aaba82226b03e6222fc2ad19fd6","unresolved":false,"context_lines":[{"line_number":313,"context_line":"        return True"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"    def _is_valid_recordset_name(self, context, zone, recordset_name):"},{"line_number":316,"context_line":"        if recordset_name is not None:"},{"line_number":317,"context_line":"            if not recordset_name.endswith(\u0027.\u0027):"},{"line_number":318,"context_line":"                raise ValueError(\u0027Please supply a FQDN\u0027)"},{"line_number":319,"context_line":""}],"source_content_type":"text/x-python","patch_set":38,"id":"9f91af0f_d888c820","line":316,"in_reply_to":"df87a7cf_8f1cea13","updated":"2018-01-02 16:49:41.000000000","message":"The unnecessary indent was fixed on _is_valid_zone_name, but not on _is_valid_recordset_name. This should simply be\n\nif recordset_name is None:\n    raise exceptions.InvalidObject","commit_id":"48f1663d946a22ff6d99c652d4e2a1808a245ef1"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"6025f688edec2f3f60451332699e78ce9095ae56","unresolved":false,"context_lines":[{"line_number":313,"context_line":"        return True"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"    def _is_valid_recordset_name(self, context, zone, recordset_name):"},{"line_number":316,"context_line":"        if recordset_name is not None:"},{"line_number":317,"context_line":"            if not recordset_name.endswith(\u0027.\u0027):"},{"line_number":318,"context_line":"                raise ValueError(\u0027Please supply a FQDN\u0027)"},{"line_number":319,"context_line":""}],"source_content_type":"text/x-python","patch_set":42,"id":"5f93b717_f4c5793d","line":316,"updated":"2018-01-26 18:36:51.000000000","message":"Don\u0027t forget about turning this into\n\u003e if recordset_name is None:\n\u003e     raise exceptions.InvalidObject\n\nBesides this the patch looks good to me!","commit_id":"81cc010e4318d9fbbe333cdcbf235e19a7ef2720"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"c027b62f0d9a585140b5d76f2198e38bb29b6d4c","unresolved":false,"context_lines":[{"line_number":313,"context_line":"        return True"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"    def _is_valid_recordset_name(self, context, zone, recordset_name):"},{"line_number":316,"context_line":"        if recordset_name is not None:"},{"line_number":317,"context_line":"            if not recordset_name.endswith(\u0027.\u0027):"},{"line_number":318,"context_line":"                raise ValueError(\u0027Please supply a FQDN\u0027)"},{"line_number":319,"context_line":""}],"source_content_type":"text/x-python","patch_set":42,"id":"5f93b717_6323e906","line":316,"in_reply_to":"5f93b717_23a88175","updated":"2018-01-26 23:32:14.000000000","message":"Sounds good - I like touching as little code as possible, so that you can see exactly what was changed in your patch.","commit_id":"81cc010e4318d9fbbe333cdcbf235e19a7ef2720"},{"author":{"_account_id":19930,"name":"Dai Dang Van","email":"daidv@omzcloud.vn","username":"daidv"},"change_message_id":"7cefcd1e9f00adda27320b15f38a031246cf6560","unresolved":false,"context_lines":[{"line_number":313,"context_line":"        return True"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"    def _is_valid_recordset_name(self, context, zone, recordset_name):"},{"line_number":316,"context_line":"        if recordset_name is not None:"},{"line_number":317,"context_line":"            if not recordset_name.endswith(\u0027.\u0027):"},{"line_number":318,"context_line":"                raise ValueError(\u0027Please supply a FQDN\u0027)"},{"line_number":319,"context_line":""}],"source_content_type":"text/x-python","patch_set":42,"id":"5f93b717_23a88175","line":316,"in_reply_to":"5f93b717_f4c5793d","updated":"2018-01-26 23:21:39.000000000","message":"Ok, I have forgotten this. I will do this in a other related patch.","commit_id":"81cc010e4318d9fbbe333cdcbf235e19a7ef2720"}],"designate/notification_handler/base.py":[{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"86a5f7bec1515554ee29492eaec79e0aa001e691","unresolved":false,"context_lines":[{"line_number":146,"context_line":"                \u0027to remove managed\u003dFalse\u0027))"},{"line_number":147,"context_line":"        LOG.debug(\u0027Using Zone ID: %s\u0027, zone_id)"},{"line_number":148,"context_line":"        zone \u003d self.get_zone(zone_id)"},{"line_number":149,"context_line":"        # LOG.debug(\u0027Domain: %r\u0027, zone)"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"        data \u003d extra.copy()"},{"line_number":152,"context_line":"        LOG.debug(\u0027Event data: %s\u0027, data)"}],"source_content_type":"text/x-python","patch_set":38,"id":"df87a7cf_2def2688","line":149,"updated":"2017-12-14 17:05:45.000000000","message":"Uncomment this line","commit_id":"48f1663d946a22ff6d99c652d4e2a1808a245ef1"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"8f5b6b7d79f520c406f126d22dffe132be9ce207","unresolved":false,"context_lines":[{"line_number":146,"context_line":"                \u0027to remove managed\u003dFalse\u0027))"},{"line_number":147,"context_line":"        LOG.debug(\u0027Using Zone ID: %s\u0027, zone_id)"},{"line_number":148,"context_line":"        zone \u003d self.get_zone(zone_id)"},{"line_number":149,"context_line":"        # LOG.debug(\u0027Domain: %r\u0027, zone)"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"        data \u003d extra.copy()"},{"line_number":152,"context_line":"        LOG.debug(\u0027Event data: %s\u0027, data)"}],"source_content_type":"text/x-python","patch_set":40,"id":"7f96bb07_28f02791","line":149,"updated":"2018-01-24 12:27:28.000000000","message":"Why did you comment this out? Either leave it in or remove it completely if it isn\u0027t needed anymore.","commit_id":"5eab35f35f552cc497c43f15b1afd00a946d4b53"},{"author":{"_account_id":19930,"name":"Dai Dang Van","email":"daidv@omzcloud.vn","username":"daidv"},"change_message_id":"9abdb7ec68f3c515eccecf2b4a601204de43f281","unresolved":false,"context_lines":[{"line_number":146,"context_line":"                \u0027to remove managed\u003dFalse\u0027))"},{"line_number":147,"context_line":"        LOG.debug(\u0027Using Zone ID: %s\u0027, zone_id)"},{"line_number":148,"context_line":"        zone \u003d self.get_zone(zone_id)"},{"line_number":149,"context_line":"        # LOG.debug(\u0027Domain: %r\u0027, zone)"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"        data \u003d extra.copy()"},{"line_number":152,"context_line":"        LOG.debug(\u0027Event data: %s\u0027, data)"}],"source_content_type":"text/x-python","patch_set":40,"id":"5f93b717_6791c799","line":149,"in_reply_to":"7f96bb07_28f02791","updated":"2018-01-26 08:41:18.000000000","message":"I can\u0027t remember the reason (it\u0027s about _repr_ function) but now I uncomment this and everything is OK.","commit_id":"5eab35f35f552cc497c43f15b1afd00a946d4b53"}],"designate/notifications.py":[{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"43955340fe56b3bb3d958471a006249002248185","unresolved":false,"context_lines":[{"line_number":151,"context_line":"        changes \u003d []"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        for arg in arglist:"},{"line_number":154,"context_line":"            if isinstance(arg, (objects.DesignateObject,"},{"line_number":155,"context_line":"                                objects.OVODesignateObject)):"},{"line_number":156,"context_line":"                for change in arg.obj_what_changed():"},{"line_number":157,"context_line":"                    if change !\u003d \u0027records\u0027:"}],"source_content_type":"text/x-python","patch_set":23,"id":"df140735_96ec542a","line":154,"updated":"2017-06-07 06:57:13.000000000","message":"And this could be changed to \n\u003e if not isinstance(arg, ....):\n\u003e     continue \n\u003e for change in arg.obj_what_changed():","commit_id":"1ca13815c51eccfaef78b3ff976e478f848427d2"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"976961e6f91ca6a5b84bf4d64f156405eee9a2bb","unresolved":false,"context_lines":[{"line_number":151,"context_line":"        changes \u003d []"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        for arg in arglist:"},{"line_number":154,"context_line":"            if isinstance(arg, (objects.DesignateObject,"},{"line_number":155,"context_line":"                                objects.OVODesignateObject)):"},{"line_number":156,"context_line":"                for change in arg.obj_what_changed():"},{"line_number":157,"context_line":"                    if change !\u003d \u0027records\u0027:"}],"source_content_type":"text/x-python","patch_set":23,"id":"df140735_166f2493","line":154,"in_reply_to":"df140735_96ec542a","updated":"2017-06-07 06:58:43.000000000","message":"Always nice to clean up indents! \u003d]","commit_id":"1ca13815c51eccfaef78b3ff976e478f848427d2"}],"designate/objects/fields.py":[{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"86a5f7bec1515554ee29492eaec79e0aa001e691","unresolved":false,"context_lines":[{"line_number":180,"context_line":"                    if len(rn) \u003e 63:"},{"line_number":181,"context_line":"                        raise ValueError(\"....... %s\" % v)"},{"line_number":182,"context_line":"                if not newvalue.endswith(\u0027.\u0027):"},{"line_number":183,"context_line":"                    raise ValueError(\"Let\u0027s put \u0027.\u0027 into end-of-line\")"},{"line_number":184,"context_line":"                if not re.match(StringFields.RE_ZONENAME, \"%s\" % newvalue):"},{"line_number":185,"context_line":"                    raise ValueError(\"DomainName no match with format %s\" % v)"},{"line_number":186,"context_line":"            return v"}],"source_content_type":"text/x-python","patch_set":38,"id":"df87a7cf_4df4ea5b","line":183,"updated":"2017-12-14 17:05:45.000000000","message":"This changes the error sent back to the user, which we cannot do. This needs to be the same as we had before the change over","commit_id":"48f1663d946a22ff6d99c652d4e2a1808a245ef1"},{"author":{"_account_id":19930,"name":"Dai Dang Van","email":"daidv@omzcloud.vn","username":"daidv"},"change_message_id":"78294852cfe6fedb1e83140b1668f2021d6c788d","unresolved":false,"context_lines":[{"line_number":180,"context_line":"                    if len(rn) \u003e 63:"},{"line_number":181,"context_line":"                        raise ValueError(\"....... %s\" % v)"},{"line_number":182,"context_line":"                if not newvalue.endswith(\u0027.\u0027):"},{"line_number":183,"context_line":"                    raise ValueError(\"Let\u0027s put \u0027.\u0027 into end-of-line\")"},{"line_number":184,"context_line":"                if not re.match(StringFields.RE_ZONENAME, \"%s\" % newvalue):"},{"line_number":185,"context_line":"                    raise ValueError(\"DomainName no match with format %s\" % v)"},{"line_number":186,"context_line":"            return v"}],"source_content_type":"text/x-python","patch_set":38,"id":"df87a7cf_9cede6b8","line":183,"in_reply_to":"df87a7cf_4df4ea5b","updated":"2017-12-19 06:58:59.000000000","message":"Agree, thanks!","commit_id":"48f1663d946a22ff6d99c652d4e2a1808a245ef1"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"86a5f7bec1515554ee29492eaec79e0aa001e691","unresolved":false,"context_lines":[{"line_number":182,"context_line":"                if not newvalue.endswith(\u0027.\u0027):"},{"line_number":183,"context_line":"                    raise ValueError(\"Let\u0027s put \u0027.\u0027 into end-of-line\")"},{"line_number":184,"context_line":"                if not re.match(StringFields.RE_ZONENAME, \"%s\" % newvalue):"},{"line_number":185,"context_line":"                    raise ValueError(\"DomainName no match with format %s\" % v)"},{"line_number":186,"context_line":"            return v"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":""}],"source_content_type":"text/x-python","patch_set":38,"id":"df87a7cf_ede85e7d","line":185,"updated":"2017-12-14 17:05:45.000000000","message":"Same as above","commit_id":"48f1663d946a22ff6d99c652d4e2a1808a245ef1"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"86a5f7bec1515554ee29492eaec79e0aa001e691","unresolved":false,"context_lines":[{"line_number":234,"context_line":"                    if len(rn) \u003e 63:"},{"line_number":235,"context_line":"                        raise ValueError(\"....... %s\" % v)"},{"line_number":236,"context_line":"                if newvalue.endswith(\u0027.\u0027) is False:"},{"line_number":237,"context_line":"                    raise ValueError(\"Let\u0027s put \u0027.\u0027 into end-of-line\")"},{"line_number":238,"context_line":"                if re.match(StringFields.RE_HOSTNAME, \"%s\" % newvalue):"},{"line_number":239,"context_line":"                    return v"},{"line_number":240,"context_line":"                raise ValueError(\"Hostname no match with format %s\" % v)"}],"source_content_type":"text/x-python","patch_set":38,"id":"df87a7cf_0deee287","line":237,"updated":"2017-12-14 17:05:45.000000000","message":"Same as above","commit_id":"48f1663d946a22ff6d99c652d4e2a1808a245ef1"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"86a5f7bec1515554ee29492eaec79e0aa001e691","unresolved":false,"context_lines":[{"line_number":237,"context_line":"                    raise ValueError(\"Let\u0027s put \u0027.\u0027 into end-of-line\")"},{"line_number":238,"context_line":"                if re.match(StringFields.RE_HOSTNAME, \"%s\" % newvalue):"},{"line_number":239,"context_line":"                    return v"},{"line_number":240,"context_line":"                raise ValueError(\"Hostname no match with format %s\" % v)"},{"line_number":241,"context_line":"            return v"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":""}],"source_content_type":"text/x-python","patch_set":38,"id":"df87a7cf_ad02563d","line":240,"updated":"2017-12-14 17:05:45.000000000","message":"Same as above","commit_id":"48f1663d946a22ff6d99c652d4e2a1808a245ef1"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"bddc120223bb70ad626be09b491a9ceca242324a","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def coerce(self, obj, attr, value):"},{"line_number":78,"context_line":"        super(IntegerFields, self).coerce(obj, attr, value)"},{"line_number":79,"context_line":"        v \u003d value"},{"line_number":80,"context_line":"        if v is None:"},{"line_number":81,"context_line":"            return v"},{"line_number":82,"context_line":"        if v \u003c self.min:"}],"source_content_type":"text/x-python","patch_set":40,"id":"7f96bb07_6304104b","line":79,"updated":"2018-01-24 12:59:21.000000000","message":"Doesn\u0027t this just discard the super coerce() call? I\u0027m seeing strange things when testing with \"1\" instead of 1 as field input.\n\nv \u003d super(IntegerFields, self).coerce(obj, attr, value)\n\nwould seem to work better for me.","commit_id":"5eab35f35f552cc497c43f15b1afd00a946d4b53"},{"author":{"_account_id":19930,"name":"Dai Dang Van","email":"daidv@omzcloud.vn","username":"daidv"},"change_message_id":"9abdb7ec68f3c515eccecf2b4a601204de43f281","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def coerce(self, obj, attr, value):"},{"line_number":78,"context_line":"        super(IntegerFields, self).coerce(obj, attr, value)"},{"line_number":79,"context_line":"        v \u003d value"},{"line_number":80,"context_line":"        if v is None:"},{"line_number":81,"context_line":"            return v"},{"line_number":82,"context_line":"        if v \u003c self.min:"}],"source_content_type":"text/x-python","patch_set":40,"id":"5f93b717_c7c21b86","line":79,"in_reply_to":"5f93b717_f1aaa217","updated":"2018-01-26 08:41:18.000000000","message":"done!","commit_id":"5eab35f35f552cc497c43f15b1afd00a946d4b53"},{"author":{"_account_id":19930,"name":"Dai Dang Van","email":"daidv@omzcloud.vn","username":"daidv"},"change_message_id":"ff5ca9889ed7006cbe0c3371946d40726b15e75e","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def coerce(self, obj, attr, value):"},{"line_number":78,"context_line":"        super(IntegerFields, self).coerce(obj, attr, value)"},{"line_number":79,"context_line":"        v \u003d value"},{"line_number":80,"context_line":"        if v is None:"},{"line_number":81,"context_line":"            return v"},{"line_number":82,"context_line":"        if v \u003c self.min:"}],"source_content_type":"text/x-python","patch_set":40,"id":"5f93b717_f1aaa217","line":79,"in_reply_to":"7f96bb07_6304104b","updated":"2018-01-25 03:08:34.000000000","message":"Gotcha, thanks.","commit_id":"5eab35f35f552cc497c43f15b1afd00a946d4b53"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"c8806b8cb202dfc54c4e9586bb7e4f007240c68f","unresolved":false,"context_lines":[{"line_number":178,"context_line":"        domain \u003d value.split(\u0027.\u0027)"},{"line_number":179,"context_line":"        for host in domain:"},{"line_number":180,"context_line":"            if len(host) \u003e 63:"},{"line_number":181,"context_line":"                raise ValueError(\"Host %s is too long\" % host)"},{"line_number":182,"context_line":"        if not value.endswith(\u0027.\u0027):"},{"line_number":183,"context_line":"            raise ValueError(\"Domain %s is not end with a dot\" % value)"},{"line_number":184,"context_line":"        if not re.match(self.RE_ZONENAME, value):"}],"source_content_type":"text/x-python","patch_set":43,"id":"3fa0c359_41d28236","line":181,"updated":"2018-02-16 11:09:34.000000000","message":"I think it is confusion to talk about \"Host\" here, as this will also be triggered for e.g.\n\n\"host.fillinverylonglabel.com.\"\n\nso maybe s/Host/Label/, which I think is the term that is being used in the RFCs.\n\nFine to do this in a followup, though, to avoid another rebase.","commit_id":"83d6c287896beb067617d5f48e74d9c375bc9d9b"},{"author":{"_account_id":19930,"name":"Dai Dang Van","email":"daidv@omzcloud.vn","username":"daidv"},"change_message_id":"72b0f727585c3175aec4fa54efe01fd95a5fc523","unresolved":false,"context_lines":[{"line_number":178,"context_line":"        domain \u003d value.split(\u0027.\u0027)"},{"line_number":179,"context_line":"        for host in domain:"},{"line_number":180,"context_line":"            if len(host) \u003e 63:"},{"line_number":181,"context_line":"                raise ValueError(\"Host %s is too long\" % host)"},{"line_number":182,"context_line":"        if not value.endswith(\u0027.\u0027):"},{"line_number":183,"context_line":"            raise ValueError(\"Domain %s is not end with a dot\" % value)"},{"line_number":184,"context_line":"        if not re.match(self.RE_ZONENAME, value):"}],"source_content_type":"text/x-python","patch_set":43,"id":"3fa0c359_c7808dfa","line":181,"in_reply_to":"3fa0c359_41d28236","updated":"2018-02-22 01:23:41.000000000","message":"Thank you :D","commit_id":"83d6c287896beb067617d5f48e74d9c375bc9d9b"}],"designate/objects/ovo_base.py":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"33139a3e41d9b4301ade147ddcaa5f7dec93c797","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from oslo_versionedobjects import exception"},{"line_number":18,"context_line":"from oslo_utils import excutils"},{"line_number":19,"context_line":"from oslo_versionedobjects._i18n import _"},{"line_number":20,"context_line":"from oslo_versionedobjects._i18n import _LE"},{"line_number":21,"context_line":"from oslo_versionedobjects import base"},{"line_number":22,"context_line":"from oslo_versionedobjects.base import VersionedObjectDictCompat as DictObjectMixin  # noqa"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":39,"id":"7f96bb07_f486a365","line":20,"updated":"2018-01-24 07:44:11.000000000","message":"This seems to be failing. All other locations do\n\nfrom designate.i18n import _LE\n\ninstead,maybe that would work better here, too?","commit_id":"0fe11957893d8cb0ae9bdd4f8b3b3c94ec60eaa4"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"21c66636b33d15f151623c2d2ebfd964a9f0a681","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from oslo_versionedobjects import exception"},{"line_number":18,"context_line":"from oslo_utils import excutils"},{"line_number":19,"context_line":"from oslo_versionedobjects._i18n import _"},{"line_number":20,"context_line":"from oslo_versionedobjects._i18n import _LE"},{"line_number":21,"context_line":"from oslo_versionedobjects import base"},{"line_number":22,"context_line":"from oslo_versionedobjects.base import VersionedObjectDictCompat as DictObjectMixin  # noqa"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":39,"id":"7f96bb07_34a72baa","line":20,"in_reply_to":"7f96bb07_f486a365","updated":"2018-01-24 08:01:52.000000000","message":"This change would be why it\u0027s failing\nhttps://github.com/openstack/oslo.versionedobjects/commit/2c9258b4edd12f05230f2abe5ce145bfaed3a378#diff-f6526ea9bc5a66d7b9cbcb2d87bb34eb","commit_id":"0fe11957893d8cb0ae9bdd4f8b3b3c94ec60eaa4"},{"author":{"_account_id":19930,"name":"Dai Dang Van","email":"daidv@omzcloud.vn","username":"daidv"},"change_message_id":"2355bf1a76bea8510b87459b608434a3276ec2b6","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from oslo_versionedobjects import exception"},{"line_number":18,"context_line":"from oslo_utils import excutils"},{"line_number":19,"context_line":"from oslo_versionedobjects._i18n import _"},{"line_number":20,"context_line":"from oslo_versionedobjects._i18n import _LE"},{"line_number":21,"context_line":"from oslo_versionedobjects import base"},{"line_number":22,"context_line":"from oslo_versionedobjects.base import VersionedObjectDictCompat as DictObjectMixin  # noqa"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":39,"id":"7f96bb07_d41367b7","line":20,"in_reply_to":"7f96bb07_f486a365","updated":"2018-01-24 08:09:01.000000000","message":"Yep, thanks, I don\u0027t know why we are using this here.","commit_id":"0fe11957893d8cb0ae9bdd4f8b3b3c94ec60eaa4"}],"designate/objects/rrdata_cname.py":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"8f5b6b7d79f520c406f126d22dffe132be9ce207","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    Defined in: RFC1035"},{"line_number":26,"context_line":"    \"\"\""},{"line_number":27,"context_line":"    fields \u003d {"},{"line_number":28,"context_line":"        \u0027cname\u0027: fields.DomainField()"},{"line_number":29,"context_line":"    }"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def _to_string(self):"}],"source_content_type":"text/x-python","patch_set":40,"id":"7f96bb07_48f7b35a","line":28,"updated":"2018-01-24 12:27:28.000000000","message":"In other locations you have the maxlength\u003d255 parameter, why not here?","commit_id":"5eab35f35f552cc497c43f15b1afd00a946d4b53"},{"author":{"_account_id":19930,"name":"Dai Dang Van","email":"daidv@omzcloud.vn","username":"daidv"},"change_message_id":"9abdb7ec68f3c515eccecf2b4a601204de43f281","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    Defined in: RFC1035"},{"line_number":26,"context_line":"    \"\"\""},{"line_number":27,"context_line":"    fields \u003d {"},{"line_number":28,"context_line":"        \u0027cname\u0027: fields.DomainField()"},{"line_number":29,"context_line":"    }"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def _to_string(self):"}],"source_content_type":"text/x-python","patch_set":40,"id":"5f93b717_878e5376","line":28,"in_reply_to":"5f93b717_ae2d9547","updated":"2018-01-26 08:41:18.000000000","message":"Done!","commit_id":"5eab35f35f552cc497c43f15b1afd00a946d4b53"},{"author":{"_account_id":19930,"name":"Dai Dang Van","email":"daidv@omzcloud.vn","username":"daidv"},"change_message_id":"ff5ca9889ed7006cbe0c3371946d40726b15e75e","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    Defined in: RFC1035"},{"line_number":26,"context_line":"    \"\"\""},{"line_number":27,"context_line":"    fields \u003d {"},{"line_number":28,"context_line":"        \u0027cname\u0027: fields.DomainField()"},{"line_number":29,"context_line":"    }"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def _to_string(self):"}],"source_content_type":"text/x-python","patch_set":40,"id":"5f93b717_ae2d9547","line":28,"in_reply_to":"7f96bb07_48f7b35a","updated":"2018-01-25 03:08:34.000000000","message":"Yeah, I forgot it.","commit_id":"5eab35f35f552cc497c43f15b1afd00a946d4b53"}],"designate/objects/rrdata_mx.py":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"8f5b6b7d79f520c406f126d22dffe132be9ce207","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    \"\"\""},{"line_number":27,"context_line":"    fields \u003d {"},{"line_number":28,"context_line":"        \u0027priority\u0027: fields.IntegerFields(minimum\u003d0, maximum\u003d65535),"},{"line_number":29,"context_line":"        \u0027exchange\u0027: fields.StringFields(maxLength\u003d255),"},{"line_number":30,"context_line":"    }"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def _to_string(self):"}],"source_content_type":"text/x-python","patch_set":40,"id":"7f96bb07_a8e677af","line":29,"updated":"2018-01-24 12:27:28.000000000","message":"What is the difference between this and DomainField()?","commit_id":"5eab35f35f552cc497c43f15b1afd00a946d4b53"},{"author":{"_account_id":19930,"name":"Dai Dang Van","email":"daidv@omzcloud.vn","username":"daidv"},"change_message_id":"ff5ca9889ed7006cbe0c3371946d40726b15e75e","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    \"\"\""},{"line_number":27,"context_line":"    fields \u003d {"},{"line_number":28,"context_line":"        \u0027priority\u0027: fields.IntegerFields(minimum\u003d0, maximum\u003d65535),"},{"line_number":29,"context_line":"        \u0027exchange\u0027: fields.StringFields(maxLength\u003d255),"},{"line_number":30,"context_line":"    }"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def _to_string(self):"}],"source_content_type":"text/x-python","patch_set":40,"id":"5f93b717_4e9f3150","line":29,"in_reply_to":"7f96bb07_a8e677af","updated":"2018-01-25 03:08:34.000000000","message":"Each field will have the different coerce function. For instance, DomainField is not allow for the string is not end by dot","commit_id":"5eab35f35f552cc497c43f15b1afd00a946d4b53"}],"designate/objects/zone_master.py":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"8f5b6b7d79f520c406f126d22dffe132be9ce207","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    fields \u003d {"},{"line_number":32,"context_line":"        \u0027zone_id\u0027: fields.UUIDFields(),"},{"line_number":33,"context_line":"        \u0027host\u0027: fields.StringFields(),"},{"line_number":34,"context_line":"        \u0027port\u0027: fields.IntegerFields()"},{"line_number":35,"context_line":"    }"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def to_data(self):"}],"source_content_type":"text/x-python","patch_set":40,"id":"7f96bb07_885dbb48","line":34,"updated":"2018-01-24 12:27:28.000000000","message":"Why are you dropping the min/max limits?","commit_id":"5eab35f35f552cc497c43f15b1afd00a946d4b53"},{"author":{"_account_id":19930,"name":"Dai Dang Van","email":"daidv@omzcloud.vn","username":"daidv"},"change_message_id":"9abdb7ec68f3c515eccecf2b4a601204de43f281","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    fields \u003d {"},{"line_number":32,"context_line":"        \u0027zone_id\u0027: fields.UUIDFields(),"},{"line_number":33,"context_line":"        \u0027host\u0027: fields.StringFields(),"},{"line_number":34,"context_line":"        \u0027port\u0027: fields.IntegerFields()"},{"line_number":35,"context_line":"    }"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def to_data(self):"}],"source_content_type":"text/x-python","patch_set":40,"id":"5f93b717_67e6a747","line":34,"in_reply_to":"5f93b717_0ec28934","updated":"2018-01-26 08:41:18.000000000","message":"Added min and max value, thanks!","commit_id":"5eab35f35f552cc497c43f15b1afd00a946d4b53"},{"author":{"_account_id":19930,"name":"Dai Dang Van","email":"daidv@omzcloud.vn","username":"daidv"},"change_message_id":"ff5ca9889ed7006cbe0c3371946d40726b15e75e","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    fields \u003d {"},{"line_number":32,"context_line":"        \u0027zone_id\u0027: fields.UUIDFields(),"},{"line_number":33,"context_line":"        \u0027host\u0027: fields.StringFields(),"},{"line_number":34,"context_line":"        \u0027port\u0027: fields.IntegerFields()"},{"line_number":35,"context_line":"    }"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def to_data(self):"}],"source_content_type":"text/x-python","patch_set":40,"id":"5f93b717_0ec28934","line":34,"in_reply_to":"7f96bb07_885dbb48","updated":"2018-01-25 03:08:34.000000000","message":"ditto, I will update this soon.","commit_id":"5eab35f35f552cc497c43f15b1afd00a946d4b53"}],"designate/tests/test_central/test_service.py":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"8f5b6b7d79f520c406f126d22dffe132be9ce207","unresolved":false,"context_lines":[{"line_number":1805,"context_line":"        self.assertRaises(ovo_exc.ReadOnlyFieldError, setattr,"},{"line_number":1806,"context_line":"                          recordset, \u0027zone_id\u0027, other_zone.id)"},{"line_number":1807,"context_line":""},{"line_number":1808,"context_line":"        # # Update the recordset"},{"line_number":1809,"context_line":"        # recordset.ttl \u003d 1800"},{"line_number":1810,"context_line":"        # recordset.zone_id \u003d other_zone.id"},{"line_number":1811,"context_line":"        #"}],"source_content_type":"text/x-python","patch_set":40,"id":"7f96bb07_e81a3f7b","line":1808,"updated":"2018-01-24 12:27:28.000000000","message":"I dont think there is value in keeping this as comments. Can be removed in a followup though.","commit_id":"5eab35f35f552cc497c43f15b1afd00a946d4b53"},{"author":{"_account_id":19930,"name":"Dai Dang Van","email":"daidv@omzcloud.vn","username":"daidv"},"change_message_id":"9abdb7ec68f3c515eccecf2b4a601204de43f281","unresolved":false,"context_lines":[{"line_number":1805,"context_line":"        self.assertRaises(ovo_exc.ReadOnlyFieldError, setattr,"},{"line_number":1806,"context_line":"                          recordset, \u0027zone_id\u0027, other_zone.id)"},{"line_number":1807,"context_line":""},{"line_number":1808,"context_line":"        # # Update the recordset"},{"line_number":1809,"context_line":"        # recordset.ttl \u003d 1800"},{"line_number":1810,"context_line":"        # recordset.zone_id \u003d other_zone.id"},{"line_number":1811,"context_line":"        #"}],"source_content_type":"text/x-python","patch_set":40,"id":"5f93b717_87e3b333","line":1808,"in_reply_to":"5f93b717_8e39b942","updated":"2018-01-26 08:41:18.000000000","message":"Done!","commit_id":"5eab35f35f552cc497c43f15b1afd00a946d4b53"},{"author":{"_account_id":19930,"name":"Dai Dang Van","email":"daidv@omzcloud.vn","username":"daidv"},"change_message_id":"ff5ca9889ed7006cbe0c3371946d40726b15e75e","unresolved":false,"context_lines":[{"line_number":1805,"context_line":"        self.assertRaises(ovo_exc.ReadOnlyFieldError, setattr,"},{"line_number":1806,"context_line":"                          recordset, \u0027zone_id\u0027, other_zone.id)"},{"line_number":1807,"context_line":""},{"line_number":1808,"context_line":"        # # Update the recordset"},{"line_number":1809,"context_line":"        # recordset.ttl \u003d 1800"},{"line_number":1810,"context_line":"        # recordset.zone_id \u003d other_zone.id"},{"line_number":1811,"context_line":"        #"}],"source_content_type":"text/x-python","patch_set":40,"id":"5f93b717_8e39b942","line":1808,"in_reply_to":"7f96bb07_e81a3f7b","updated":"2018-01-25 03:08:34.000000000","message":"Surely, I will consider to remove or uncomment this.","commit_id":"5eab35f35f552cc497c43f15b1afd00a946d4b53"}]}
