a resource module for 2 functions is overkill. database is the right place for those
diff --git a/Lib/packaging/database.py b/Lib/packaging/database.py
index b107148..010c4eb 100644
--- a/Lib/packaging/database.py
+++ b/Lib/packaging/database.py
@@ -18,6 +18,7 @@
'get_distributions', 'get_distribution', 'get_file_users',
'provides_distribution', 'obsoletes_distribution',
'enable_cache', 'disable_cache', 'clear_cache',
+ 'get_file_path', 'get_file'
]
@@ -627,3 +628,17 @@
for dist in get_distributions():
if dist.uses(path):
yield dist
+
+
+def get_file_path(distribution_name, relative_path):
+ """Return the path to a resource file."""
+ dist = get_distribution(distribution_name)
+ if dist != None:
+ return dist.get_resource_path(relative_path)
+ raise LookupError('no distribution named %r found' % distribution_name)
+
+
+def get_file(distribution_name, relative_path, *args, **kwargs):
+ """Open and return a resource file."""
+ return open(get_file_path(distribution_name, relative_path),
+ *args, **kwargs)