summaryrefslogtreecommitdiff
path: root/portato/backend
diff options
context:
space:
mode:
Diffstat (limited to 'portato/backend')
-rw-r--r--portato/backend/catapult/package.py19
1 files changed, 14 insertions, 5 deletions
diff --git a/portato/backend/catapult/package.py b/portato/backend/catapult/package.py
index 5da4361..5ab8743 100644
--- a/portato/backend/catapult/package.py
+++ b/portato/backend/catapult/package.py
@@ -29,6 +29,8 @@ class CatapultPackage(Package):
bus = dbus.SessionBus()
dbus_object = bus.get_object(catapult.get_dbus_address(catapult.DEFAULT), catapult.CATAPULT_PACKAGE_BUS, follow_name_owner_changes = True)
proxy = dbus.Interface(dbus_object, catapult.CATAPULT_PACKAGE_IFACE)
+
+ _expand = {}
def _new_flags (self):
flags = self.get_new_use_flags()
@@ -44,13 +46,20 @@ class CatapultPackage(Package):
return nflags
def use_expanded (self, flag, suggest = None):
- if not suggest:
- suggest = ""
- s = str(self.proxy.use_expanded(self.get_cpv(), flag, suggest))
- if s:
+
+ exp = self._expand.get(flag, False)
+
+ if exp is False:
+ if not suggest:
+ suggest = ""
+ s = str(self.proxy.use_expanded(self.get_cpv(), flag, suggest))
+ if not s:
+ s = None
+
+ self._expand[flag] = s
return s
else:
- return None
+ return exp
def get_package_path(self):
return str(self.proxy.get_package_path(self.get_cpv()))
>2014-04-24Don't prompt for questions when stdin is not a tty.Jason A. Donenfeld3-7/+6 2014-04-24Allow overridable bash.Jason A. Donenfeld16-16/+16 2014-04-24dmenu: check for empty instead of ret codeJason A. Donenfeld1-1/+1 2014-04-24tests: sed doesn't like escaped chars on non-gnuJason A. Donenfeld1-1/+1 2014-04-24tests: run from anywhereJason A. Donenfeld13-4/+16 2014-04-24Turns out aliases were a bad idea.Jason A. Donenfeld14-95/+92 2014-04-24Make gpg_opts an array.Jason A. Donenfeld1-12/+12 2014-04-24Shellcheck errors.Jason A. Donenfeld1-6/+6 2014-04-24tests: todo updateJason A. Donenfeld1-25/+0