summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorBrett Cannon <bcannon@gmail.com>2009-02-21 23:12:24 (GMT)
committerBrett Cannon <bcannon@gmail.com>2009-02-21 23:12:24 (GMT)
commit94aaf9e4b81ee1be6ea4e6604bac61eaeab53d2b (patch)
tree432a4ad69f90fc0c6a79b5a667dede1107af9785 /Lib
parentaa9d5de2ed9023c289844b5e4d3e7048ca45ce87 (diff)
downloadcpython-94aaf9e4b81ee1be6ea4e6604bac61eaeab53d2b.zip
cpython-94aaf9e4b81ee1be6ea4e6604bac61eaeab53d2b.tar.gz
cpython-94aaf9e4b81ee1be6ea4e6604bac61eaeab53d2b.tar.bz2
Relocate source_mtime in importlib to PyPycLoader.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/importlib/_bootstrap.py24
1 files changed, 11 insertions, 13 deletions
diff --git a/Lib/importlib/_bootstrap.py b/Lib/importlib/_bootstrap.py
index 45c1b05..c61fe2d 100644
--- a/Lib/importlib/_bootstrap.py
+++ b/Lib/importlib/_bootstrap.py
@@ -320,7 +320,7 @@ class PyLoader:
"""Loader base class for Python source.
Requires implementing the optional PEP 302 protocols as well as
- source_mtime and source_path.
+ source_path.
"""
@@ -371,7 +371,7 @@ class PyPycLoader(PyLoader):
"""Loader base class for Python source and bytecode.
Requires implementing the methods needed for PyLoader as well as
- bytecode_path and write_bytecode.
+ source_mtime, bytecode_path, and write_bytecode.
"""
@@ -461,16 +461,6 @@ class PyFileLoader(PyLoader):
# Not a property so that it is easy to override.
return self._find_path(imp.PY_SOURCE)
-
- @check_name
- def source_mtime(self, name):
- """Return the modification time of the source for the specified
- module."""
- source_path = self.source_path(name)
- if not source_path:
- return None
- return int(_os.stat(source_path).st_mtime)
-
@check_name
def get_source(self, fullname):
"""Return the source for the module as a string.
@@ -505,12 +495,20 @@ class PyFileLoader(PyLoader):
return self._is_pkg
-# XXX Rename _PyFileLoader throughout
class PyPycFileLoader(PyPycLoader, PyFileLoader):
"""Load a module from a source or bytecode file."""
@check_name
+ def source_mtime(self, name):
+ """Return the modification time of the source for the specified
+ module."""
+ source_path = self.source_path(name)
+ if not source_path:
+ return None
+ return int(_os.stat(source_path).st_mtime)
+
+ @check_name
def bytecode_path(self, fullname):
"""Return the path to a bytecode file, or None if one does not
exist."""