From patchwork Fri Feb 7 02:02:00 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: import-checker: handle standard modules with arch in the filename From: Mads Kiilerich X-Patchwork-Id: 3497 Message-Id: To: mercurial-devel@selenic.com Date: Fri, 07 Feb 2014 03:02:00 +0100 # HG changeset patch # User Mads Kiilerich # 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)