)]}'
{"oslo_log/versionutils.py":[{"author":{"_account_id":11748,"name":"Chris St. Pierre","email":"cstpierr@cisco.com","username":"stpierre"},"change_message_id":"f315071d78a876b7f0bc0de68019eef830cd92c5","unresolved":false,"context_lines":[{"line_number":167,"context_line":"        #    release, what is Y+2?"},{"line_number":168,"context_line":"        remove_in \u003d self.remove_in"},{"line_number":169,"context_line":"        if remove_in is None:"},{"line_number":170,"context_line":"            remove_in \u003d 0"},{"line_number":171,"context_line":"        new_release \u003d chr(ord(release) + remove_in)"},{"line_number":172,"context_line":"        if new_release in self._RELEASES:"},{"line_number":173,"context_line":"            return self._RELEASES[new_release]"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa963961_4fb0cedd","line":170,"updated":"2015-03-27 14:20:21.000000000","message":"If remove_in is None (or 0, for that matter), couldn\u0027t we short-circuit this and just return release? E.g.:\n\n    if remove_in in [None, 0]:\n        return release\n    ...","commit_id":"a5dbb05e25c97a0cbce4868d60d0aa958fd0024e"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"6cfd3fadb0fa4d0bbceef6adc3dc9771e0456c59","unresolved":false,"context_lines":[{"line_number":167,"context_line":"        #    release, what is Y+2?"},{"line_number":168,"context_line":"        remove_in \u003d self.remove_in"},{"line_number":169,"context_line":"        if remove_in is None:"},{"line_number":170,"context_line":"            remove_in \u003d 0"},{"line_number":171,"context_line":"        new_release \u003d chr(ord(release) + remove_in)"},{"line_number":172,"context_line":"        if new_release in self._RELEASES:"},{"line_number":173,"context_line":"            return self._RELEASES[new_release]"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a0c5dc1_4fee9c23","line":170,"in_reply_to":"bab921fb_df6e7695","updated":"2015-05-12 19:12:59.000000000","message":"Maybe we can do that cleanup in another patch?","commit_id":"a5dbb05e25c97a0cbce4868d60d0aa958fd0024e"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"77a5a4d48ac1bec53959b469dc3b1e36cb1f9fae","unresolved":false,"context_lines":[{"line_number":167,"context_line":"        #    release, what is Y+2?"},{"line_number":168,"context_line":"        remove_in \u003d self.remove_in"},{"line_number":169,"context_line":"        if remove_in is None:"},{"line_number":170,"context_line":"            remove_in \u003d 0"},{"line_number":171,"context_line":"        new_release \u003d chr(ord(release) + remove_in)"},{"line_number":172,"context_line":"        if new_release in self._RELEASES:"},{"line_number":173,"context_line":"            return self._RELEASES[new_release]"}],"source_content_type":"text/x-python","patch_set":3,"id":"bab921fb_df6e7695","line":170,"in_reply_to":"fa963961_4fb0cedd","updated":"2015-04-24 20:22:28.000000000","message":"It\u0027s actually kind of confusing that this returns anything in the no removal case.  It\u0027s relying on the logic in the calling function to actually handle the situation correctly.  Ideally, I think I\u0027d prefer to see this return None and then the return value of this function could be used directly as the check for which message we need to log.","commit_id":"a5dbb05e25c97a0cbce4868d60d0aa958fd0024e"},{"author":{"_account_id":11748,"name":"Chris St. Pierre","email":"cstpierr@cisco.com","username":"stpierre"},"change_message_id":"f315071d78a876b7f0bc0de68019eef830cd92c5","unresolved":false,"context_lines":[{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        if self.in_favor_of:"},{"line_number":183,"context_line":"            details[\u0027in_favor_of\u0027] \u003d self.in_favor_of"},{"line_number":184,"context_line":"            if self.remove_in is not None and self.remove_in \u003e 0:"},{"line_number":185,"context_line":"                msg \u003d self._deprecated_msg_with_alternative"},{"line_number":186,"context_line":"            else:"},{"line_number":187,"context_line":"                # There are no plans to remove this function, but it is"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa963961_8f881624","line":184,"updated":"2015-03-27 14:20:21.000000000","message":"At this point it might be cleaner to swap the if and else clauses and do something like:\n\n    if self.remove_in in [None, 0]:\n        msg \u003d self._deprecated_msg_with_alternative_no_removal\n    else:\n        msg \u003d self._deprecated_msg_with_alternative","commit_id":"a5dbb05e25c97a0cbce4868d60d0aa958fd0024e"}]}
