diff options
author | Brian Dolbec <dolsen@gentoo.org> | 2012-07-31 20:23:14 -0700 |
---|---|---|
committer | Brian Dolbec <dolsen@gentoo.org> | 2012-07-31 20:24:58 -0700 |
commit | 58b14f6f6ee39ffbb1eb5ffdce6e04e911a22d5d (patch) | |
tree | 66c4d6dfb07c81ea55800ef77110f629554e3cce /pym/gentoolkit/helpers.py | |
parent | Return string from Package.__str__ (Bug 423209) (diff) | |
download | gentoolkit-58b14f6f6ee39ffbb1eb5ffdce6e04e911a22d5d.tar.gz gentoolkit-58b14f6f6ee39ffbb1eb5ffdce6e04e911a22d5d.tar.bz2 gentoolkit-58b14f6f6ee39ffbb1eb5ffdce6e04e911a22d5d.zip |
replace all use of dbapi's PORTDB, VARDB, BINDB assigned variables with the actuall portage calls to take advantage of all 3 being lazyloaded. The assignemt in dbapi causes all 3 to be loaded, slowing down runs that do not need all 3
Diffstat (limited to 'pym/gentoolkit/helpers.py')
-rw-r--r-- | pym/gentoolkit/helpers.py | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/pym/gentoolkit/helpers.py b/pym/gentoolkit/helpers.py index a0b29ab..e7a27ab 100644 --- a/pym/gentoolkit/helpers.py +++ b/pym/gentoolkit/helpers.py @@ -32,11 +32,12 @@ import codecs from functools import partial from itertools import chain +import portage + from gentoolkit import pprinter as pp from gentoolkit import errors from gentoolkit.atom import Atom from gentoolkit.cpv import CPV -from gentoolkit.dbapi import BINDB, PORTDB, VARDB from gentoolkit.versionmatch import VersionMatch # This has to be imported below to stop circular import. #from gentoolkit.package import Package @@ -387,11 +388,11 @@ def get_cpvs(predicate=None, include_installed=True): """ if predicate: - all_cps = iter(x for x in PORTDB.cp_all() if predicate(x)) + all_cps = iter(x for x in portage.db[portage.root]["porttree"].dbapi.cp_all() if predicate(x)) else: - all_cps = PORTDB.cp_all() + all_cps = portage.db[portage.root]["porttree"].dbapi.cp_all() - all_cpvs = chain.from_iterable(PORTDB.cp_list(x) for x in all_cps) + all_cpvs = chain.from_iterable(portage.db[portage.root]["porttree"].dbapi.cp_list(x) for x in all_cps) all_installed_cpvs = set(get_installed_cpvs(predicate)) if include_installed: @@ -423,11 +424,11 @@ def get_installed_cpvs(predicate=None): """ if predicate: - installed_cps = iter(x for x in VARDB.cp_all() if predicate(x)) + installed_cps = iter(x for x in portage.db[portage.root]["vartree"].dbapi.cp_all() if predicate(x)) else: - installed_cps = VARDB.cp_all() + installed_cps = portage.db[portage.root]["vartree"].dbapi.cp_all() - for cpv in chain.from_iterable(VARDB.cp_list(x) for x in installed_cps): + for cpv in chain.from_iterable(portage.db[portage.root]["vartree"].dbapi.cp_list(x) for x in installed_cps): yield cpv @@ -442,11 +443,11 @@ def get_bintree_cpvs(predicate=None): """ if predicate: - installed_cps = iter(x for x in BINDB.cp_all() if predicate(x)) + installed_cps = iter(x for x in portage.db[portage.root]["bintree"].dbapi.cp_all() if predicate(x)) else: - installed_cps = BINDB.cp_all() + installed_cps = portage.db[portage.root]["bintree"].dbapi.cp_all() - for cpv in chain.from_iterable(BINDB.cp_list(x) for x in installed_cps): + for cpv in chain.from_iterable(portage.db[portage.root]["bintree"].dbapi.cp_list(x) for x in installed_cps): yield cpv |