__init__.py 757 B

12345678910111213141516171819202122232425262728293031
  1. import logging
  2. class MissingModule(object):
  3. __slots__ = ["__name"]
  4. def __init__(self, name):
  5. self.__name = name
  6. def __getattr__(self, name):
  7. raise ImportError("module %r not found" % (self.__name,))
  8. def __bool__(self):
  9. return False
  10. __nonzero__ = __bool__
  11. def safe_import(name):
  12. try:
  13. mod = __import__(name, None, None, "*")
  14. except ImportError:
  15. mod = MissingModule(name)
  16. return mod
  17. def setup_logger(options):
  18. logging_options = {}
  19. if options.quiet:
  20. logging_options['level'] = logging.ERROR
  21. else:
  22. logging_options['level'] = logging.DEBUG
  23. if options.logfile:
  24. logging_options['file'] = options.logfile
  25. logging.basicConfig(**logging_options)