diff options
author | René 'Necoro' Neumann <necoro@necoro.net> | 2008-12-11 12:24:26 +0100 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.net> | 2008-12-11 12:24:26 +0100 |
commit | ddac2d472c5c775d34f316181b674429376f6d16 (patch) | |
tree | e27b6c69bf2aeb5b7c524c743081c908e90afa4a /portato/backend/portage/settings.py | |
parent | cae73021d4789bd468a9fae55acd4e21d46397d5 (diff) | |
download | portato-ddac2d472c5c775d34f316181b674429376f6d16.tar.gz portato-ddac2d472c5c775d34f316181b674429376f6d16.tar.bz2 portato-ddac2d472c5c775d34f316181b674429376f6d16.zip |
Use two different portage.config instances instead of just one: One for global stuff - and one for package related things (e.g. where setcpv() is called).
Also PortageSettings now takes care, that setcpv() is not called multiple times in a row with the same CPV.
This should enhance performance :)
Diffstat (limited to '')
-rw-r--r-- | portato/backend/portage/settings.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/portato/backend/portage/settings.py b/portato/backend/portage/settings.py index 0e7eccb..951d1a4 100644 --- a/portato/backend/portage/settings.py +++ b/portato/backend/portage/settings.py @@ -54,5 +54,16 @@ class PortageSettings: self.porttree = self.trees[root]["porttree"] self.vartree = self.trees[root]["vartree"] self.virtuals = self.trees[root]["virtuals"] + self.global_settings = portage.config(clone=self.settings) + self._cpv = None portage.settings = None # we use our own one ... + + def setcpv (self, cpv, **kwargs): + if self._cpv is not None and cpv != self._cpv: + self.settings.setcpv(cpv, **kwargs) + self._cpv = cpv + + def reset (self): + self.settings.reset() + self._cpv = None |