)]}'
{"automaton/machines.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"347c3a03038f5cc6052a05a05d547823de805608","unresolved":false,"context_lines":[{"line_number":188,"context_line":"            raise excp.Duplicate(\"State \u0027%s\u0027 reaction to event \u0027%s\u0027\""},{"line_number":189,"context_line":"                                 \" already defined\" % (state, event))"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"    def add_transition(self, start, end, event, overwrite\u003dTrue):"},{"line_number":192,"context_line":"        \"\"\"Adds an allowed transition from start -\u003e end for the given event.\"\"\""},{"line_number":193,"context_line":"        if self.frozen:"},{"line_number":194,"context_line":"            raise excp.FrozenMachine()"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_e241120b","line":191,"updated":"2015-08-13 12:22:59.000000000","message":"I\u0027m not sure that overwrite\u003dTrue is a good default... I believe in most cases it would be a typo.","commit_id":"9dfed4f0c0e6f0f8d9e171c416a6fdbff8e5cab2"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"b192d16037db5eb05955bb20a76b1af1b25fa600","unresolved":false,"context_lines":[{"line_number":188,"context_line":"            raise excp.Duplicate(\"State \u0027%s\u0027 reaction to event \u0027%s\u0027\""},{"line_number":189,"context_line":"                                 \" already defined\" % (state, event))"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"    def add_transition(self, start, end, event, overwrite\u003dTrue):"},{"line_number":192,"context_line":"        \"\"\"Adds an allowed transition from start -\u003e end for the given event.\"\"\""},{"line_number":193,"context_line":"        if self.frozen:"},{"line_number":194,"context_line":"            raise excp.FrozenMachine()"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_4e6a5683","line":191,"in_reply_to":"1a4dcd0f_4a532b3a","updated":"2015-08-13 21:17:33.000000000","message":"I think the default should be False. Hard to believe anyone would actually want to do this. \n\nOn the other hand, this is used with task flow and task flow has been around for awhile...","commit_id":"9dfed4f0c0e6f0f8d9e171c416a6fdbff8e5cab2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"d5e38ed044670c749a9383ba3fcec6ce7728400d","unresolved":false,"context_lines":[{"line_number":188,"context_line":"            raise excp.Duplicate(\"State \u0027%s\u0027 reaction to event \u0027%s\u0027\""},{"line_number":189,"context_line":"                                 \" already defined\" % (state, event))"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"    def add_transition(self, start, end, event, overwrite\u003dTrue):"},{"line_number":192,"context_line":"        \"\"\"Adds an allowed transition from start -\u003e end for the given event.\"\"\""},{"line_number":193,"context_line":"        if self.frozen:"},{"line_number":194,"context_line":"            raise excp.FrozenMachine()"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_4a532b3a","line":191,"in_reply_to":"1a4dcd0f_7e07cd1d","updated":"2015-08-13 17:55:46.000000000","message":"I think silently ignoring mistakes is something we should fix..","commit_id":"9dfed4f0c0e6f0f8d9e171c416a6fdbff8e5cab2"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"94bec9fa714d542a2258af457d3b8189bf33634f","unresolved":false,"context_lines":[{"line_number":188,"context_line":"            raise excp.Duplicate(\"State \u0027%s\u0027 reaction to event \u0027%s\u0027\""},{"line_number":189,"context_line":"                                 \" already defined\" % (state, event))"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"    def add_transition(self, start, end, event, overwrite\u003dTrue):"},{"line_number":192,"context_line":"        \"\"\"Adds an allowed transition from start -\u003e end for the given event.\"\"\""},{"line_number":193,"context_line":"        if self.frozen:"},{"line_number":194,"context_line":"            raise excp.FrozenMachine()"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_7e07cd1d","line":191,"in_reply_to":"1a4dcd0f_e241120b","updated":"2015-08-13 16:35:47.000000000","message":"Ya, I was going back and forth here, should I just raise by default?\n\nI was going toward the case of \u0027be backwards compat\u0027 but perhaps I should just raise by default because as u said its likely a typo/problem if someone is doing this anyway...\n\nThoughts?","commit_id":"9dfed4f0c0e6f0f8d9e171c416a6fdbff8e5cab2"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"b192d16037db5eb05955bb20a76b1af1b25fa600","unresolved":false,"context_lines":[{"line_number":189,"context_line":"                                 \" already defined\" % (state, event))"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"    def add_transition(self, start, end, event, overwrite\u003dTrue):"},{"line_number":192,"context_line":"        \"\"\"Adds an allowed transition from start -\u003e end for the given event.\"\"\""},{"line_number":193,"context_line":"        if self.frozen:"},{"line_number":194,"context_line":"            raise excp.FrozenMachine()"},{"line_number":195,"context_line":"        if start not in self._states:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_eedfa238","line":192,"updated":"2015-08-13 21:17:33.000000000","message":"It would be nice to have a docstring that described what overwrite does. (Is \u0027replace\u0027 a better term? override?)","commit_id":"9dfed4f0c0e6f0f8d9e171c416a6fdbff8e5cab2"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"256abd2e6f431757bde1448bcd1c531d4f01f124","unresolved":false,"context_lines":[{"line_number":189,"context_line":"                                 \" already defined\" % (state, event))"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"    def add_transition(self, start, end, event, overwrite\u003dTrue):"},{"line_number":192,"context_line":"        \"\"\"Adds an allowed transition from start -\u003e end for the given event.\"\"\""},{"line_number":193,"context_line":"        if self.frozen:"},{"line_number":194,"context_line":"            raise excp.FrozenMachine()"},{"line_number":195,"context_line":"        if start not in self._states:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_6066312b","line":192,"in_reply_to":"1a4dcd0f_eedfa238","updated":"2015-08-14 06:23:20.000000000","message":"Hmmm, replace, or override, or overwrite, pretty sure those are all the same thing hahaha.","commit_id":"9dfed4f0c0e6f0f8d9e171c416a6fdbff8e5cab2"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"b192d16037db5eb05955bb20a76b1af1b25fa600","unresolved":false,"context_lines":[{"line_number":207,"context_line":"        if event in self._transitions[start] and not overwrite:"},{"line_number":208,"context_line":"            target \u003d self._transitions[start][event]"},{"line_number":209,"context_line":"            raise excp.Duplicate(\"Transition from \u0027%s\u0027 on event \u0027%s\u0027 is\""},{"line_number":210,"context_line":"                                 \" already defined to state\""},{"line_number":211,"context_line":"                                 \" \u0027%s\u0027\" % (start, event, target.name))"},{"line_number":212,"context_line":"        else:"},{"line_number":213,"context_line":"            target \u003d _Jump(end, self._states[end][\u0027on_enter\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_496a5083","line":210,"updated":"2015-08-13 21:17:33.000000000","message":"Hmm. You ok if it is more verbose? eg, \u0027Cannot add transition from \u003cstart state\u003e to \u003cend state\u003e on event \u003cevent\u003e because a transition from \u003cstart state\u003e to \u003cexisting end state\u003e on event \u003cevent\u003e already exists.\u0027\n\nOr \u0027A transition from state \u003cstate\u003e on event \u003cevent\u003e to state \u003cexisting endstate\u003e already exists.\u0027 if you don\u0027t want to mention the transition the user is trying to add.\n\nOr something like that :)","commit_id":"9dfed4f0c0e6f0f8d9e171c416a6fdbff8e5cab2"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"0024868c2ae7c218073290c197052a761b469a8e","unresolved":false,"context_lines":[{"line_number":220,"context_line":"                                     \" \u0027%(start_state)s\u0027 to \u0027%(end_state)s\u0027\""},{"line_number":221,"context_line":"                                     \" on event \u0027%(event)s\u0027 because a\""},{"line_number":222,"context_line":"                                     \" transition from %(start_state)s\u0027\""},{"line_number":223,"context_line":"                                     \" to \u0027%(end_state)s\u0027 on event \u0027%(event)s\u0027\""},{"line_number":224,"context_line":"                                     \" already exists.\""},{"line_number":225,"context_line":"                                     % {\u0027end_state\u0027: target.name,"},{"line_number":226,"context_line":"                                        \u0027event\u0027: event, \u0027start_state\u0027: start})"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_8ffc9c3f","line":223,"updated":"2015-09-02 21:13:56.000000000","message":"I think you want s/end_state/target/\n\nAlthough I think of it as existing: start -\u003e end on event, and desired new transaction as start -\u003e target on event.\n\nAnyway, one of these \u0027end_state\u0027s has to be \u0027end\u0027, and the other \u0027target.name\u0027.","commit_id":"16e069da0f8ad98d54f253da8556f5967c1cc8a0"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"bc1df56dea27b7f26d52716bee88b19fd28dd48c","unresolved":false,"context_lines":[{"line_number":220,"context_line":"                                     \" \u0027%(start_state)s\u0027 to \u0027%(end_state)s\u0027\""},{"line_number":221,"context_line":"                                     \" on event \u0027%(event)s\u0027 because a\""},{"line_number":222,"context_line":"                                     \" transition from %(start_state)s\u0027\""},{"line_number":223,"context_line":"                                     \" to \u0027%(end_state)s\u0027 on event \u0027%(event)s\u0027\""},{"line_number":224,"context_line":"                                     \" already exists.\""},{"line_number":225,"context_line":"                                     % {\u0027end_state\u0027: target.name,"},{"line_number":226,"context_line":"                                        \u0027event\u0027: event, \u0027start_state\u0027: start})"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_49499bb6","line":223,"in_reply_to":"da20952f_8ffc9c3f","updated":"2015-09-03 00:04:10.000000000","message":"Oh ya, oops.","commit_id":"16e069da0f8ad98d54f253da8556f5967c1cc8a0"}]}
