summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xmonkey/action.py10
-rw-r--r--readme.md33
2 files changed, 38 insertions, 5 deletions
diff --git a/monkey/action.py b/monkey/action.py
index 121dced..bb046da 100755
--- a/monkey/action.py
+++ b/monkey/action.py
@@ -49,13 +49,13 @@ class Action:
_packet_action_map = {
'ins': lambda packet, time, code: Action('insert', time, offset=packet['off'], text=packet['txt']),
- 'rm': lambda packet, time, code: Action('remove', time, offset=packet['off'], text=code[packet['off']:packet['off']+packet['len']]),
- 'slv': lambda packet, time, code: Action('solve', time, text=packet['qry']),
- 'slva': lambda packet, time, code: Action('solve_all', time, text=packet['qry']),
- 'nxt': lambda packet, time, code: Action('next', time),
- 'stp': lambda packet, time, code: Action('stop', time),
+ 'rm': lambda packet, time, code: Action('remove', time, offset=packet['off'], text=packet['txt']),
'tst': lambda packet, time, code: Action('test', time, total=packet['tot'], passed=packet['pas']),
'hnt': lambda packet, time, code: Action('hint', time)
+ 'slva': lambda packet, time, code: Action('solve_all', time, text=packet['qry']),
+ 'prolog_query': lambda packet, time, code: Action('prolog_query', time, text=packet['qry']),
+ 'prolog_next': lambda packet, time, code: Action('next', time),
+ 'prolog_end': lambda packet, time, code: Action('stop', time),
}
# parse log from database into a list of actions, cleaning up some fluff.
# ignore non-text actions (queries and tests)
diff --git a/readme.md b/readme.md
index ca7d814..a15b4f0 100644
--- a/readme.md
+++ b/readme.md
@@ -114,3 +114,36 @@ You can test stuff in a python interpreter:
>>> prolog = session.get_prolog()
>>> prolog.test(231, 96, 'sister(X,Y):- parent(P,X), parent(P,Y), female(X).')
>>> prolog.hint(231, 96, 'sister(X,Y):- parent(P,X), parent(P,Y), female(X).')
+
+Traces
+======
+
+Actions and corresponding additional attributes are specified here.
+
+Generic:
+ - open(time) # when opening the problem page, time = Date.now() on client
+ - close() # when closing the problem page
+ - ins(off, txt) # offset, text
+ - rm(off, txt) # offset, text, was rm(off, len)
+ - plan()
+ - hint(feedback) # feedback = list of returned hint objects
+ - test(feedback) # feedback = list of returned hint objects
+
+Prolog:
+ - prolog_solve(query) # was slv(qry)
+ - prolog_next() # was nxt
+ - prolog_end() # was stp
+
+Python:
+ - python_run(program)
+ - python_stop()
+ - python_input(txt)
+
+Robot:
+ - robot_run(program)
+ - robot_stop()
+
+Obsolete actions:
+ - slva(query) # "solve all" from tuProlog
+ - hnt # hint button press
+ - tst(tot, pas) # test results (total / passed)