[PATCH] import-checker: handle standard modules with arch in the filename

Mads Kiilerich mads at kiilerich.com
Thu Feb 6 20:02:00 CST 2014


# HG changeset patch
# User Mads Kiilerich <madski at unity3d.com>
# Date 1391738386 -3600
#      Fri Feb 07 02:59:46 2014 +0100
# Node ID ae30cadae57eb52d23a74b5c1fd576b025f3eeed
# Parent  9fe578297b5c3f63512cc003c6fcdca85fa66435
import-checker: handle standard modules with arch in the filename

Installations with module names like
/usr/lib/python2.7/lib-dynload/bz2.x86_64-linux-gnu.so occurs in the wild.

Let's just ignore everything after first '.' when guessing the Python module
name.

diff --git a/contrib/import-checker.py b/contrib/import-checker.py
--- a/contrib/import-checker.py
+++ b/contrib/import-checker.py
@@ -17,7 +17,7 @@ def dotted_name_of_path(path):
     'zlib'
     """
     parts = path.split('/')
-    parts[-1] = parts[-1][:-3] # remove .py
+    parts[-1] = parts[-1].split('.', 1)[0] # remove .py and .so and .ARCH.so
     if parts[-1].endswith('module'):
         parts[-1] = parts[-1][:-6]
     return '.'.join(parts)


More information about the Mercurial-devel mailing list