[pypy-commit] pypy py3k: add imp.get_tag

pjenvey noreply at buildbot.pypy.org
Wed Nov 14 02:37:33 CET 2012


Author: Philip Jenvey <pjenvey at underboss.org>
Branch: py3k
Changeset: r58874:e23475af7b3a
Date: 2012-11-13 17:37 -0800
http://bitbucket.org/pypy/pypy/changeset/e23475af7b3a/

Log:	add imp.get_tag

diff --git a/pypy/module/imp/__init__.py b/pypy/module/imp/__init__.py
--- a/pypy/module/imp/__init__.py
+++ b/pypy/module/imp/__init__.py
@@ -15,6 +15,7 @@
         'get_suffixes':    'interp_imp.get_suffixes',
 
         'get_magic':       'interp_imp.get_magic',
+        'get_tag':         'interp_imp.get_tag',
         'find_module':     'interp_imp.find_module',
         'load_module':     'interp_imp.load_module',
         'load_source':     'interp_imp.load_source',
diff --git a/pypy/module/imp/interp_imp.py b/pypy/module/imp/interp_imp.py
--- a/pypy/module/imp/interp_imp.py
+++ b/pypy/module/imp/interp_imp.py
@@ -36,6 +36,14 @@
     d = x & 0xff
     return space.wrapbytes(chr(a) + chr(b) + chr(c) + chr(d))
 
+def get_tag(space):
+    """get_tag() -> string
+    Return the magic tag for .pyc or .pyo files."""
+    version_info = space.sys.get('version_info')
+    major = space.int_w(space.getitem(version_info, space.wrap(0)))
+    minor = space.int_w(space.getitem(version_info, space.wrap(1)))
+    return space.wrap('pypy-%d%d' % (major, minor))
+
 def get_file(space, w_file, filename, filemode):
     if space.is_none(w_file):
         try:
diff --git a/pypy/module/imp/test/test_app.py b/pypy/module/imp/test/test_app.py
--- a/pypy/module/imp/test/test_app.py
+++ b/pypy/module/imp/test/test_app.py
@@ -216,3 +216,8 @@
                 except KeyError:
                     pass
             rmtree(dir_name, True)
+
+    def test_get_tag(self):
+        import imp
+        import sys
+        assert imp.get_tag() == 'pypy-%d%d' % sys.version_info[0:2]


More information about the pypy-commit mailing list