summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-06-02 14:02:46 -0700
committerZac Medico <zmedico@gentoo.org>2011-06-02 14:02:46 -0700
commitc6edcb6ac16b7bd011ab196dab2722374b8e9cec (patch)
treea32bbd09f9f1df97ac2f61fb9d03d75e079bdb8c /bin
parent1edf9e3bd37fede61a21d3b6a84542d29d8f3021 (diff)
downloadportage-c6edcb6ac16b7bd011ab196dab2722374b8e9cec.tar.gz
portage-c6edcb6ac16b7bd011ab196dab2722374b8e9cec.tar.bz2
portage-c6edcb6ac16b7bd011ab196dab2722374b8e9cec.zip
portageq: exclude expand_new_virt from commands
This is necessary since portage probes functions in globals() and treats functions it finds as commands. Also, use lazy import to minimize global scope imports.
Diffstat (limited to 'bin')
-rwxr-xr-xbin/portageq11
1 files changed, 7 insertions, 4 deletions
diff --git a/bin/portageq b/bin/portageq
index d6d9c170a..92719fb5b 100755
--- a/bin/portageq
+++ b/bin/portageq
@@ -21,7 +21,6 @@ except KeyboardInterrupt:
sys.exit(128 + signal.SIGINT)
import os
-import subprocess
import types
# Avoid sandbox violations after python upgrade.
@@ -43,8 +42,11 @@ except ImportError:
del pym_path
from portage import os
-from portage.dbapi._expand_new_virt import expand_new_virt
from portage.util import writemsg, writemsg_stdout
+portage.proxy.lazyimport.lazyimport(globals(),
+ 'subprocess',
+ 'portage.dbapi._expand_new_virt:expand_new_virt',
+)
def eval_atom_use(atom):
if 'USE' in os.environ:
@@ -656,10 +658,11 @@ list_preserved_libs.uses_root = True
if not portage.const._ENABLE_PRESERVE_LIBS:
del list_preserved_libs
-non_commands = frozenset(['elog', 'eval_atom_use', 'exithandler', 'main',
+non_commands = frozenset(['elog', 'eval_atom_use',
+ 'exithandler', 'expand_new_virt', 'main',
'usage', 'writemsg', 'writemsg_stdout'])
commands = sorted(k for k, v in globals().items() \
- if type(v) is types.FunctionType and k not in non_commands)
+ if k not in non_commands and isinstance(v, types.FunctionType))
def usage(argv):
print(">>> Portage information query tool")