brain_crypt.py 967 B

1234567891011121314151617181920212223242526
  1. # Licensed under the LGPL: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html
  2. # For details: https://github.com/PyCQA/astroid/blob/main/LICENSE
  3. from astroid.brain.helpers import register_module_extender
  4. from astroid.builder import parse
  5. from astroid.const import PY37_PLUS
  6. from astroid.manager import AstroidManager
  7. if PY37_PLUS:
  8. # Since Python 3.7 Hashing Methods are added
  9. # dynamically to globals()
  10. def _re_transform():
  11. return parse(
  12. """
  13. from collections import namedtuple
  14. _Method = namedtuple('_Method', 'name ident salt_chars total_size')
  15. METHOD_SHA512 = _Method('SHA512', '6', 16, 106)
  16. METHOD_SHA256 = _Method('SHA256', '5', 16, 63)
  17. METHOD_BLOWFISH = _Method('BLOWFISH', 2, 'b', 22)
  18. METHOD_MD5 = _Method('MD5', '1', 8, 34)
  19. METHOD_CRYPT = _Method('CRYPT', None, 2, 13)
  20. """
  21. )
  22. register_module_extender(AstroidManager(), "crypt", _re_transform)