0

When using the library, I expect an exception for bad input, but I do not want it to start printing things to stderr. How can I configure it to not print anything?

Here's an example from the REPL of what I am talking about:

>>> import libxml2
>>> try:
...     libxml2.parseDoc('junk')
... except:
...     pass
... 
Entity: line 1: parser error : Start tag expected, '<' not found
junk
^
>>> 

With that code I expect to see nothing printed out. I found this SO post about a similar issue with the c++ xmllib2, but I don't see a way to do that with the python version.

Community
  • 1
  • 1
user605331
  • 3,718
  • 4
  • 33
  • 60

1 Answers1

2

You can disable error logging for libxml2 by registering a silent error handler:

def noerr(ctx, str):
    pass

libxml2.registerErrorHandler(noerr, None)

Source: http://xmlsoft.org/python.html

Mathieu Rodic
  • 6,637
  • 2
  • 43
  • 49