diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2010-03-29 16:21:26 +0200 |
---|---|---|
committer | Jelmer Vernooij <jelmer@samba.org> | 2010-03-29 18:05:29 +0200 |
commit | c87332950043471e52b924f7498b63982ec4302c (patch) | |
tree | 017a7dd8364d63bf17d9b746695f6cf208528243 /source4/scripting/python | |
parent | 4bbc3ff037026c72f3249f59c1b5af69a6ad6d69 (diff) | |
download | samba-c87332950043471e52b924f7498b63982ec4302c.tar.gz samba-c87332950043471e52b924f7498b63982ec4302c.tar.bz2 samba-c87332950043471e52b924f7498b63982ec4302c.zip |
s4-python: Simplify mechanism for finding included Python modules.
Diffstat (limited to 'source4/scripting/python')
-rw-r--r-- | source4/scripting/python/samba/__init__.py | 15 | ||||
-rw-r--r-- | source4/scripting/python/samba/external.py | 31 |
2 files changed, 15 insertions, 31 deletions
diff --git a/source4/scripting/python/samba/__init__.py b/source4/scripting/python/samba/__init__.py index 24bb45a003..87753b5a1d 100644 --- a/source4/scripting/python/samba/__init__.py +++ b/source4/scripting/python/samba/__init__.py @@ -392,6 +392,21 @@ def valid_netbios_name(name): return True +def ensure_external_module(modulename, location): + """Add a location to sys.path if an external dependency can't be found. + + :param modulename: Module name to import + :param location: Location to add to sys.path (can be relative to + ${srcdir}/lib + """ + try: + __import__(modulename) + except ImportError: + sys.path.insert(0, + os.path.join(os.path.dirname(__file__), + "../../../../lib", location)) + __import__(modulename) + version = glue.version # "userAccountControl" flags diff --git a/source4/scripting/python/samba/external.py b/source4/scripting/python/samba/external.py deleted file mode 100644 index 40d13fd7e5..0000000000 --- a/source4/scripting/python/samba/external.py +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/python - -# Unix SMB/CIFS implementation. -# Copyright (C) Andrew Tridgell 2010 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# - -import os, sys - -def dns_resolver(): - '''try and import the dns.resolver library, and if it fails - then use a local copy from the external directory''' - - try: - import dns.resolver as dns - except ImportError: - sys.path.insert(0, os.path.join(os.path.dirname(__file__), "../../../../lib/dnspython")) - import dns.resolver as dns - return dns |