def validate_pattern_expr(errors, stmt): # check that it's syntactically correct try: import libxml2 try: re = libxml2.regexpCompile(stmt.arg) return (re, stmt.pos) except libxml2.treeError, v: err_add(errors, stmt.pos, 'PATTERN_ERROR', str(v)) return None except ImportError: err_add(errors, stmt.pos, 'PATTERN_FAILURE', "Could not import python module libxml2 " "(see http://xmlsoft.org for installation help)") return None
def _validate_pattern_libxml2(errors, stmt, invert_match): try: import libxml2 try: re = libxml2.regexpCompile(stmt.arg) return ('libxml2', re, stmt.pos, invert_match) except libxml2.treeError as v: err_add(errors, stmt.pos, 'PATTERN_ERROR', str(v)) return None except ImportError: ## Do not report a warning in this case. Maybe we should add some ## flag to turn on this warning... # err_add(errors, stmt.pos, 'PATTERN_FAILURE', # "Could not import python module libxml2 " # "(see http://xmlsoft.org for installation help)") return False
def validate_pattern_expr(errors, stmt): # check that it's syntactically correct try: import libxml2 try: re = libxml2.regexpCompile(stmt.arg) return (re, stmt.pos) except libxml2.treeError, v: err_add(errors, stmt.pos, 'PATTERN_ERROR', str(v)) return None except ImportError: err_add( errors, stmt.pos, 'PATTERN_FAILURE', "Could not import python module libxml2 " "(see http://xmlsoft.org for installation help)") return None
def validate_pattern_expr(errors, stmt): # check that it's syntactically correct try: import libxml2 try: re = libxml2.regexpCompile(stmt.arg) return (re, stmt.pos) except libxml2.treeError, v: err_add(errors, stmt.pos, 'PATTERN_ERROR', str(v)) return None except ImportError: ## Do not report a warning in this case. Maybe we should add some ## flag to turn on this warning... # err_add(errors, stmt.pos, 'PATTERN_FAILURE', # "Could not import python module libxml2 " # "(see http://xmlsoft.org for installation help)") return None
def validate_pattern_expr(errors, stmt): # check that it's syntactically correct try: import libxml2 try: re = libxml2.regexpCompile(stmt.arg) return (re, stmt.pos) except libxml2.treeError as v: err_add(errors, stmt.pos, 'PATTERN_ERROR', str(v)) return None except ImportError: ## Do not report a warning in this case. Maybe we should add some ## flag to turn on this warning... # err_add(errors, stmt.pos, 'PATTERN_FAILURE', # "Could not import python module libxml2 " # "(see http://xmlsoft.org for installation help)") return None
#!/usr/bin/python -u import libxml2 # Memory debug specific libxml2.debugMemory(1) re = libxml2.regexpCompile("a|b") if re.regexpExec("a") != 1: print("error checking 'a'") sys.exit(1) if re.regexpExec("b") != 1: print("error checking 'b'") sys.exit(1) if re.regexpExec("ab") != 0: print("error checking 'ab'") sys.exit(1) if re.regexpExec("") != 0: print("error checking 'ab'") sys.exit(1) if re.regexpIsDeterminist() != 1: print("error checking determinism") sys.exit(1) del re # Memory debug specific libxml2.cleanupParser() if libxml2.debugMemory(1) == 0: print("OK") else: print("Memory leak %d bytes" % (libxml2.debugMemory(1))) libxml2.dumpMemory()
#!/usr/bin/python -u import libxml2 # Memory debug specific libxml2.debugMemory(1) re = libxml2.regexpCompile("a|b") if re.regexpExec("a") != 1: print("error checking 'a'") sys.exit(1) if re.regexpExec("b") != 1: print("error checking 'b'") sys.exit(1) if re.regexpExec("ab") != 0: print("error checking 'ab'") sys.exit(1) if re.regexpExec("") != 0: print("error checking 'ab'") sys.exit(1) if re.regexpIsDeterminist() != 1: print("error checking determinism") sys.exit(1) del re # Memory debug specific libxml2.cleanupParser() if libxml2.debugMemory(1) == 0: print("OK") else: print("Memory leak %d bytes" % (libxml2.debugMemory(1)))