brain_pkg_resources.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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. # Copyright (c) https://github.com/PyCQA/astroid/blob/main/CONTRIBUTORS.txt
  4. from astroid import parse
  5. from astroid.brain.helpers import register_module_extender
  6. from astroid.manager import AstroidManager
  7. def pkg_resources_transform():
  8. return parse(
  9. """
  10. def require(*requirements):
  11. return pkg_resources.working_set.require(*requirements)
  12. def run_script(requires, script_name):
  13. return pkg_resources.working_set.run_script(requires, script_name)
  14. def iter_entry_points(group, name=None):
  15. return pkg_resources.working_set.iter_entry_points(group, name)
  16. def resource_exists(package_or_requirement, resource_name):
  17. return get_provider(package_or_requirement).has_resource(resource_name)
  18. def resource_isdir(package_or_requirement, resource_name):
  19. return get_provider(package_or_requirement).resource_isdir(
  20. resource_name)
  21. def resource_filename(package_or_requirement, resource_name):
  22. return get_provider(package_or_requirement).get_resource_filename(
  23. self, resource_name)
  24. def resource_stream(package_or_requirement, resource_name):
  25. return get_provider(package_or_requirement).get_resource_stream(
  26. self, resource_name)
  27. def resource_string(package_or_requirement, resource_name):
  28. return get_provider(package_or_requirement).get_resource_string(
  29. self, resource_name)
  30. def resource_listdir(package_or_requirement, resource_name):
  31. return get_provider(package_or_requirement).resource_listdir(
  32. resource_name)
  33. def extraction_error():
  34. pass
  35. def get_cache_path(archive_name, names=()):
  36. extract_path = self.extraction_path or get_default_cache()
  37. target_path = os.path.join(extract_path, archive_name+'-tmp', *names)
  38. return target_path
  39. def postprocess(tempname, filename):
  40. pass
  41. def set_extraction_path(path):
  42. pass
  43. def cleanup_resources(force=False):
  44. pass
  45. def get_distribution(dist):
  46. return Distribution(dist)
  47. _namespace_packages = {}
  48. """
  49. )
  50. register_module_extender(AstroidManager(), "pkg_resources", pkg_resources_transform)