--- equery.orig 2005-03-11 18:04:40.000000000 +0100 +++ equery 2005-03-11 18:19:10.000000000 +0100 @@ -27,6 +27,7 @@ import gentoolkit import portage import portage_checksum +import portage_use_desc import gentoolkit.pprinter as pp from gentoolkit.pprinter import print_info, print_error, print_warn, die @@ -435,38 +436,13 @@ useflags = gentoolkit.settings["USE"].split() - usedesc = {} - uselocaldesc = {} - # Load global USE flag descriptions + # Load USE flag descriptions + use_desc=None try: - fd = open(gentoolkit.settings["PORTDIR"]+"/profiles/use.desc") - usedesc = {} - for line in fd.readlines(): - if line[0] == "#": - continue - fields = line.split(" - ") - if len(fields) == 2: - usedesc[fields[0].strip()] = fields[1].strip() - except IOError: - print_warn(5, "Could not load USE flag descriptions from " + ppath(gentoolkit.settings["PORTDIR"] + "/profiles/use.desc")) - - # Load local USE flag descriptions - try: - fd = open(gentoolkit.settings["PORTDIR"]+"/profiles/use.local.desc") - for line in fd.readlines(): - if line[0] == "#": - continue - fields = line.split(" - ") - if len(fields) == 2: - catpkguse = re.search("([a-z]+-[a-z]+/.*):(.*)", fields[0]) - if catpkguse: - if not uselocaldesc.has_key(catpkguse.group(1).strip()): - uselocaldesc[catpkguse.group(1).strip()] = {catpkguse.group(2).strip() : fields[1].strip()} - else: - uselocaldesc[catpkguse.group(1).strip()][catpkguse.group(2).strip()] = fields[1].strip() - except IOError: - print_warn(5, "Could not load USE flag descriptions from " + path(gentoolkit.settings["PORTDIR"] + "/profiles/use.desc")) + use_desc=portage_use_desc.use_desc(gentoolkit.settings["PORTDIR"]) + except: + print_warn("Could not load USE flag descriptions from " + gentoolkit.settings["PORTDIR"] + "/profiles/use.[local.]desc") if not Config["piping"]: print_info(3, "[ Colour Code : " + pp.useflagon("set") + " " + pp.useflagoff("unset") + " ]") @@ -500,16 +476,17 @@ # store (inuse, inused, flag, desc) output = [] + use_desc_dict={} + if use_desc: + use_desc_dict=use_desc.get_pkg_flags_desc(usevar,p.get_category()+"/"+p.get_name()) + for u in usevar: inuse = 0 inused = 0 try: - desc = usedesc[u] + desc = use_desc_dict[u] except KeyError: - try: - desc = uselocaldesc[p.get_category() + "/" + p.get_name()][u] - except KeyError: - desc = "" + desc = "" if u in p.get_settings("USE"): inuse = 1