def parse_breakpoints(lines): # b [ (filename:lineno | function) [, "condition"] ] breakpoints = [] for arg in lines: if not arg: continue arg = arg[1:] filename = None lineno = None cond = None comma = arg.find(',') if comma > 0: # parse stuff after comma: "condition" cond = arg[comma + 1:].lstrip() arg = arg[:comma].rstrip() colon = arg.rfind(':') funcname = None if colon > 0: filename = arg[:colon].strip() from pudb.lowlevel import lookup_module f = lookup_module(filename) if not f: continue else: filename = f arg = arg[colon + 1:].lstrip() try: lineno = int(arg) except ValueError: continue else: continue from pudb.lowlevel import get_breakpoint_invalid_reason if get_breakpoint_invalid_reason(filename, lineno) is None: breakpoints.append((filename, lineno, False, cond, funcname)) return breakpoints
def parse_breakpoints(lines): # b [ (filename:lineno | function) [, "condition"] ] breakpoints = [] for arg in lines: if not arg: continue arg = arg[1:] filename = None lineno = None cond = None comma = arg.find(",") if comma > 0: # parse stuff after comma: "condition" cond = arg[comma + 1 :].lstrip() arg = arg[:comma].rstrip() colon = arg.rfind(":") funcname = None if colon > 0: filename = arg[:colon].strip() from pudb.lowlevel import lookup_module f = lookup_module(filename) if not f: continue else: filename = f arg = arg[colon + 1 :].lstrip() try: lineno = int(arg) except ValueError, msg: continue else: continue from pudb.lowlevel import get_breakpoint_invalid_reason if get_breakpoint_invalid_reason(filename, lineno) is None: breakpoints.append((filename, lineno, False, cond, funcname))