summaryrefslogtreecommitdiff
path: root/portato/backend/package.py
diff options
context:
space:
mode:
authornecoro <>2006-12-10 11:43:26 +0000
committernecoro <>2006-12-10 11:43:26 +0000
commit43af2d836a54146a556a5c4f06ec98e882f6aa9e (patch)
treec7fa23bf5521fd34ac61081d9976adfb21171abe /portato/backend/package.py
parente368eb59dd4f7388fe93387492ef2e12c3993129 (diff)
downloadportato-43af2d836a54146a556a5c4f06ec98e882f6aa9e.tar.gz
portato-43af2d836a54146a556a5c4f06ec98e882f6aa9e.tar.bz2
portato-43af2d836a54146a556a5c4f06ec98e882f6aa9e.zip
used sets for flags; make newuse work completly
Diffstat (limited to 'portato/backend/package.py')
-rw-r--r--portato/backend/package.py17
1 files changed, 9 insertions, 8 deletions
diff --git a/portato/backend/package.py b/portato/backend/package.py
index fc0bd02..225c06a 100644
--- a/portato/backend/package.py
+++ b/portato/backend/package.py
@@ -38,6 +38,10 @@ class Package:
self._settings = settings
self._settingslock = settingslock
+
+ self.forced_flags = set()
+ self.forced_flags.update(self._settings.usemask)
+ self.forced_flags.update(self._settings.useforce)
try:
self._status = portage.getmaskingstatus(self.get_cpv(), settings = self._settings)
@@ -151,7 +155,7 @@ class Package:
else:
tree = porttree
- return unique_array(self.get_env_var("IUSE", tree = tree).split())
+ return list(set(self.get_env_var("IUSE", tree = tree).split()).difference(self.forced_flags))
def get_installed_use_flags (self):
"""Returns a list of the useflags enabled at installation time. If package is not installed, it returns an empty list.
@@ -160,13 +164,10 @@ class Package:
@rtype: string[]"""
if self.is_installed():
- uses = self.get_use_flags().split() # all set at installation time
- iuses = self.get_all_use_flags() # all you can set for the package
- set = []
- for u in iuses:
- if u in uses:
- set.append(u)
- return set
+ uses = set(self.get_use_flags().split()) # all set at installation time
+ iuses = set(self.get_all_use_flags(installed=True)) # all you can set for the package
+
+ return list(uses.intersection(iuses))
else:
return []
9484803d8ee4912b23e1e99b&follow=1'> r655@Devoty: necoro | 2008-01-18 03:04:53 +0100Necoro1-1/+1 2008-01-18 r651@Devoty: necoro | 2008-01-18 02:41:51 +0100Necoro3-393/+513 2008-01-18 r643@Devoty: necoro | 2008-01-16 18:55:49 +0100Necoro14-249/+525 2008-01-14 r634@Devoty: necoro | 2008-01-14 23:48:24 +0100Necoro3-1/+4 2008-01-14 r632@Devoty: necoro | 2008-01-14 23:44:52 +0100Necoro3-175/+181 2008-01-14(no commit message)Necoro10-758/+1014 2008-01-14 r621@Devoty: necoro | 2008-01-14 20:21:40 +0100Necoro2-21/+61 2008-01-14 r618@Devoty: necoro | 2008-01-14 20:19:05 +0100Necoro2-35/+57 2008-01-14 r617@Devoty: necoro | 2008-01-14 19:12:59 +0100Necoro2-10/+10 2008-01-14 r609@Devoty: necoro | 2008-01-14 17:04:38 +0100Necoro9-394/+477 2008-01-14 r605@Devoty: necoro | 2008-01-14 11:43:34 +0100Necoro2-26/+129 2008-01-14 r603@Devoty: necoro | 2008-01-14 11:30:26 +0100Necoro4-26/+38 2008-01-11 r598@Devoty: necoro | 2008-01-10 16:36:29 +0100Necoro4-10/+50 2008-01-11 r597@Devoty: necoro | 2008-01-10 14:12:35 +0100Necoro1-3/+3 2008-01-10 r595@Devoty: necoro | 2008-01-10 04:04:15 +0100Necoro1-52/+3 2008-01-09 r586@Devoty: necoro | 2008-01-09 14:54:18 +0100Necoro1-1/+1 2007-12-06 r577@Devoty: necoro | 2007-12-06 20:37:36 +0100Necoro1-1/+1 2007-12-06 r572@Devoty: necoro | 2007-11-28 08:48:15 +0100Necoro1-0/+1 2007-11-27 r570@Devoty: necoro | 2007-11-27 02:08:21 +0100Necoro3-84/+108