)]}'
{"automaton/machines.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"415a0fdcae91bdd3d899f841823edd497650c566","unresolved":false,"context_lines":[{"line_number":346,"context_line":"                    try:"},{"line_number":347,"context_line":"                        on_enter \u003d on_enter.__name__"},{"line_number":348,"context_line":"                    except AttributeError:"},{"line_number":349,"context_line":"                        pass"},{"line_number":350,"context_line":"                else:"},{"line_number":351,"context_line":"                    on_enter \u003d empty"},{"line_number":352,"context_line":"                on_exit \u003d self._states[state][\u0027on_exit\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_3e6fa293","line":349,"updated":"2015-06-30 22:42:32.000000000","message":"This shouldn\u0027t happen, should it? But if it did, you don\u0027t want to set it to empty?","commit_id":"72239cfd70b91f8ce9d6f817e189ff27967fa22f"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"0786c1e7491349df6b53e378c3c476b4116fae4f","unresolved":false,"context_lines":[{"line_number":346,"context_line":"                    try:"},{"line_number":347,"context_line":"                        on_enter \u003d on_enter.__name__"},{"line_number":348,"context_line":"                    except AttributeError:"},{"line_number":349,"context_line":"                        pass"},{"line_number":350,"context_line":"                else:"},{"line_number":351,"context_line":"                    on_enter \u003d empty"},{"line_number":352,"context_line":"                on_exit \u003d self._states[state][\u0027on_exit\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_5a44d219","line":349,"in_reply_to":"ba3cc151_09d0631e","updated":"2015-07-01 13:32:24.000000000","message":"ok","commit_id":"72239cfd70b91f8ce9d6f817e189ff27967fa22f"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"25aec5d6d9e70ed1d13654c435969e38679f1b4b","unresolved":false,"context_lines":[{"line_number":346,"context_line":"                    try:"},{"line_number":347,"context_line":"                        on_enter \u003d on_enter.__name__"},{"line_number":348,"context_line":"                    except AttributeError:"},{"line_number":349,"context_line":"                        pass"},{"line_number":350,"context_line":"                else:"},{"line_number":351,"context_line":"                    on_enter \u003d empty"},{"line_number":352,"context_line":"                on_exit \u003d self._states[state][\u0027on_exit\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_497d0b6d","line":349,"in_reply_to":"ba3cc151_3e6fa293","updated":"2015-07-01 03:56:22.000000000","message":"Should set to none, def can happen, here\u0027s an example.\n\n    \u003e\u003e\u003e import six\n    \u003e\u003e\u003e \n    \u003e\u003e\u003e class Blah(object):\n    ...   def __call__(self, *args, **kwargs):\n    ...     pass\n    ... \n    \u003e\u003e\u003e x \u003d Blah()\n    \u003e\u003e\u003e six.callable(x)\n    True\n    \u003e\u003e\u003e x.__name__\n    Traceback (most recent call last):\n      File \"\u003cstdin\u003e\", line 1, in \u003cmodule\u003e\n    AttributeError: \u0027Blah\u0027 object has no attribute \u0027__name__\u0027\n    \u003e\u003e\u003e","commit_id":"72239cfd70b91f8ce9d6f817e189ff27967fa22f"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"4532a3e72d772d81eb3c66ad9c92966dd334857f","unresolved":false,"context_lines":[{"line_number":346,"context_line":"                    try:"},{"line_number":347,"context_line":"                        on_enter \u003d on_enter.__name__"},{"line_number":348,"context_line":"                    except AttributeError:"},{"line_number":349,"context_line":"                        pass"},{"line_number":350,"context_line":"                else:"},{"line_number":351,"context_line":"                    on_enter \u003d empty"},{"line_number":352,"context_line":"                on_exit \u003d self._states[state][\u0027on_exit\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_09d0631e","line":349,"in_reply_to":"ba3cc151_497d0b6d","updated":"2015-07-01 04:07:20.000000000","message":"Actually letting it be will cause the prettytable routine to just call str() on it, so I think whats here is ok now that I look at it, if no __name__ then prettytable will just try to make whatever callable was provided a string, doing that using whatever stuff it wants. Though its still possible to get callables that have no __name__ attribute, so the except block is still needed.","commit_id":"72239cfd70b91f8ce9d6f817e189ff27967fa22f"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"415a0fdcae91bdd3d899f841823edd497650c566","unresolved":false,"context_lines":[{"line_number":356,"context_line":"                    except AttributeError:"},{"line_number":357,"context_line":"                        pass"},{"line_number":358,"context_line":"                else:"},{"line_number":359,"context_line":"                    on_exit \u003d empty"},{"line_number":360,"context_line":"                tbl.add_row([pretty_state, empty, empty, on_enter, on_exit])"},{"line_number":361,"context_line":"        return tbl.get_string()"},{"line_number":362,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_de0476c1","line":359,"updated":"2015-06-30 22:42:32.000000000","message":"The on_enter and on_exit code are fairly similar. Is it worth making a small method? (Not familiar with your \u0027coding style\u0027).","commit_id":"72239cfd70b91f8ce9d6f817e189ff27967fa22f"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"0786c1e7491349df6b53e378c3c476b4116fae4f","unresolved":false,"context_lines":[{"line_number":356,"context_line":"                    except AttributeError:"},{"line_number":357,"context_line":"                        pass"},{"line_number":358,"context_line":"                else:"},{"line_number":359,"context_line":"                    on_exit \u003d empty"},{"line_number":360,"context_line":"                tbl.add_row([pretty_state, empty, empty, on_enter, on_exit])"},{"line_number":361,"context_line":"        return tbl.get_string()"},{"line_number":362,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_5a5b72f6","line":359,"in_reply_to":"ba3cc151_89ea330e","updated":"2015-07-01 13:32:24.000000000","message":"I was thinking of a method that does more, but that is better anyway :)","commit_id":"72239cfd70b91f8ce9d6f817e189ff27967fa22f"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"25aec5d6d9e70ed1d13654c435969e38679f1b4b","unresolved":false,"context_lines":[{"line_number":356,"context_line":"                    except AttributeError:"},{"line_number":357,"context_line":"                        pass"},{"line_number":358,"context_line":"                else:"},{"line_number":359,"context_line":"                    on_exit \u003d empty"},{"line_number":360,"context_line":"                tbl.add_row([pretty_state, empty, empty, on_enter, on_exit])"},{"line_number":361,"context_line":"        return tbl.get_string()"},{"line_number":362,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_89ea330e","line":359,"in_reply_to":"ba3cc151_de0476c1","updated":"2015-07-01 03:56:22.000000000","message":"See https://review.openstack.org/#/c/196495/ :-P","commit_id":"72239cfd70b91f8ce9d6f817e189ff27967fa22f"}]}
