)]}'
{"heat/engine/resources/aws/autoscaling/autoscaling_group.py":[{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"938016c20144561ff153c7446cd69fffa2513238","unresolved":false,"context_lines":[{"line_number":295,"context_line":"                     \"as there is no change in capacity.\", self.name)"},{"line_number":296,"context_line":"            raise resource.NoActionRequired"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"        cooldown \u003d cooldown or self.properties[self.COOLDOWN]"},{"line_number":299,"context_line":"        self._check_scaling_allowed(cooldown)"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"        # send a notification before, on-error and on-success."}],"source_content_type":"text/x-python","patch_set":1,"id":"1f485f77_cc741a6b","line":298,"updated":"2017-11-14 22:14:17.000000000","message":"cooldown could be 0, I think this should be:\n\n  cooldown if cooldown is not None else self.properties[self.COOLDOWN]","commit_id":"92d9c7deda27b0238a0005e8ff8790f0dcf43146"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"5088baa9625d0df7560d71345a4e4d0f53e260a0","unresolved":false,"context_lines":[{"line_number":295,"context_line":"                     \"as there is no change in capacity.\", self.name)"},{"line_number":296,"context_line":"            raise resource.NoActionRequired"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"        cooldown \u003d cooldown or self.properties[self.COOLDOWN]"},{"line_number":299,"context_line":"        self._check_scaling_allowed(cooldown)"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"        # send a notification before, on-error and on-success."}],"source_content_type":"text/x-python","patch_set":1,"id":"1f485f77_c1d49322","line":298,"in_reply_to":"1f485f77_cc741a6b","updated":"2018-01-12 02:22:28.000000000","message":"Done","commit_id":"92d9c7deda27b0238a0005e8ff8790f0dcf43146"}],"heat/scaling/cooldown.py":[{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"938016c20144561ff153c7446cd69fffa2513238","unresolved":false,"context_lines":[{"line_number":25,"context_line":"class CooldownMixin(object):"},{"line_number":26,"context_line":"    \"\"\"Utility class to encapsulate Cooldown related logic."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    This class is shared between AutoScalingGroup and ScalingPolicy."},{"line_number":29,"context_line":"    This logic includes both cooldown timestamp comparing and scaling in"},{"line_number":30,"context_line":"    progress checking."},{"line_number":31,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f485f77_8c1ce212","side":"PARENT","line":28,"updated":"2017-11-14 22:14:17.000000000","message":"This is still accurate until the next patch, right?","commit_id":"6d570b70f51ab127a7b94237c937ccb778309138"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"5088baa9625d0df7560d71345a4e4d0f53e260a0","unresolved":false,"context_lines":[{"line_number":25,"context_line":"class CooldownMixin(object):"},{"line_number":26,"context_line":"    \"\"\"Utility class to encapsulate Cooldown related logic."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    This class is shared between AutoScalingGroup and ScalingPolicy."},{"line_number":29,"context_line":"    This logic includes both cooldown timestamp comparing and scaling in"},{"line_number":30,"context_line":"    progress checking."},{"line_number":31,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f485f77_21200748","side":"PARENT","line":28,"in_reply_to":"1f485f77_8c1ce212","updated":"2018-01-12 02:22:28.000000000","message":"Done","commit_id":"6d570b70f51ab127a7b94237c937ccb778309138"},{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"938016c20144561ff153c7446cd69fffa2513238","unresolved":false,"context_lines":[{"line_number":35,"context_line":"            return max(0, cooldown)"},{"line_number":36,"context_line":"        except TypeError:"},{"line_number":37,"context_line":"            # If not specified, it will be None, same as cooldown \u003d\u003d 0"},{"line_number":38,"context_line":"            return 0"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def _check_scaling_allowed(self, cooldown):"},{"line_number":41,"context_line":"        metadata \u003d self.metadata_get()"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f485f77_6cfe46af","line":38,"updated":"2017-11-14 22:14:17.000000000","message":"Would prefer to just do\n\n  if cooldown is None:\n    return 0\n\nat the beginning, rather than have different paths for python 2/3.","commit_id":"92d9c7deda27b0238a0005e8ff8790f0dcf43146"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"5088baa9625d0df7560d71345a4e4d0f53e260a0","unresolved":false,"context_lines":[{"line_number":35,"context_line":"            return max(0, cooldown)"},{"line_number":36,"context_line":"        except TypeError:"},{"line_number":37,"context_line":"            # If not specified, it will be None, same as cooldown \u003d\u003d 0"},{"line_number":38,"context_line":"            return 0"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def _check_scaling_allowed(self, cooldown):"},{"line_number":41,"context_line":"        metadata \u003d self.metadata_get()"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f485f77_612a7f2c","line":38,"in_reply_to":"1f485f77_6cfe46af","updated":"2018-01-12 02:22:28.000000000","message":"Done","commit_id":"92d9c7deda27b0238a0005e8ff8790f0dcf43146"}]}
