brain_threading.py 964 B

123456789101112131415161718192021222324252627282930313233
  1. # Licensed under the LGPL: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html
  2. # For details: https://github.com/pylint-dev/astroid/blob/main/LICENSE
  3. # Copyright (c) https://github.com/pylint-dev/astroid/blob/main/CONTRIBUTORS.txt
  4. from astroid import nodes
  5. from astroid.brain.helpers import register_module_extender
  6. from astroid.builder import parse
  7. from astroid.manager import AstroidManager
  8. def _thread_transform() -> nodes.Module:
  9. return parse(
  10. """
  11. class lock(object):
  12. def acquire(self, blocking=True, timeout=-1):
  13. return False
  14. def release(self):
  15. pass
  16. def __enter__(self):
  17. return True
  18. def __exit__(self, *args):
  19. pass
  20. def locked(self):
  21. return False
  22. def Lock(*args, **kwargs):
  23. return lock()
  24. """
  25. )
  26. def register(manager: AstroidManager) -> None:
  27. register_module_extender(manager, "threading", _thread_transform)