The SBOLFactory provides a mechanism for automatically generating an interactive, object-oriented API from a declarative data model specification encoded in OWL.
Unless invoked with verbose=True, the SBOLFactory() class permanently disables INFO,DEBUG logging after it is called, which means that anything using it can't use logging unless it does : logging.disable(logging.NOTSET) first. This either needs to be documented, or (much better) fixed. I see 3 potential fixes:
Add the logging.disable(logging.NOTSET) at the end of the __new__() function to restore previous state
Remove the logging.disable(logging.INFO) at the start of __new__() and instead change the level of all handles attached to LOGGER to be ERROR rather than INFO. This would serve the same purpose: disable status messages printed as the factory runs.
Change all the INFO messages to be DEBUG so they do not print when the level is set to INFO (which is what most applications set it at).
Unless invoked with
verbose=True
, theSBOLFactory()
class permanently disables INFO,DEBUG logging after it is called, which means that anything using it can't use logging unless it does :logging.disable(logging.NOTSET)
first. This either needs to be documented, or (much better) fixed. I see 3 potential fixes:logging.disable(logging.NOTSET)
at the end of the__new__()
function to restore previous statelogging.disable(logging.INFO)
at the start of__new__()
and instead change the level of all handles attached toLOGGER
to be ERROR rather than INFO. This would serve the same purpose: disable status messages printed as the factory runs.