(pydb, frame, event, info, thread, stop_info, stop)
| 415 | |
| 416 | |
| 417 | def cmd_step_over(pydb, frame, event, info, thread, stop_info, stop): |
| 418 | plugin_stop = False |
| 419 | if _is_jinja2_suspended(thread): |
| 420 | stop = False |
| 421 | |
| 422 | if info.pydev_call_inside_jinja2 is None: |
| 423 | if _is_jinja2_render_call(frame): |
| 424 | if event == "call": |
| 425 | info.pydev_call_inside_jinja2 = frame.f_back |
| 426 | if event in ("line", "return"): |
| 427 | info.pydev_call_inside_jinja2 = frame |
| 428 | else: |
| 429 | if event == "line": |
| 430 | if _is_jinja2_render_call(frame) and info.pydev_call_inside_jinja2 is frame: |
| 431 | plugin_stop = stop_info["jinja2_stop"] = True |
| 432 | if event == "return": |
| 433 | if frame is info.pydev_call_inside_jinja2 and "event" not in frame.f_back.f_locals: |
| 434 | info.pydev_call_inside_jinja2 = _find_jinja2_render_frame(frame.f_back) |
| 435 | return stop, plugin_stop |
| 436 | else: |
| 437 | if event == "return" and _is_jinja2_context_call(frame.f_back): |
| 438 | # we return from python code to Jinja2 rendering frame |
| 439 | info.pydev_call_from_jinja2 = None |
| 440 | info.pydev_call_inside_jinja2 = _find_jinja2_render_frame(frame) |
| 441 | thread.additional_info.suspend_type = JINJA2_SUSPEND |
| 442 | stop = False |
| 443 | return stop, plugin_stop |
| 444 | # print "info.pydev_call_from_jinja2", info.pydev_call_from_jinja2, "stop", stop, "jinja_stop", jinja2_stop, \ |
| 445 | # "thread.additional_info.suspend_type", thread.additional_info.suspend_type |
| 446 | # print "event", event, "info.pydev_call_inside_jinja2", info.pydev_call_inside_jinja2 |
| 447 | # print "frame", frame, "frame.f_back", frame.f_back, "step_stop", info.pydev_step_stop |
| 448 | # print "is_context_call", _is_jinja2_context_call(frame) |
| 449 | # print "render", _is_jinja2_render_call(frame) |
| 450 | # print "-------------" |
| 451 | return stop, plugin_stop |
| 452 | |
| 453 | |
| 454 | def stop(pydb, frame, event, thread, stop_info, arg, step_cmd): |
nothing calls this directly
no test coverage detected