Use EROOT instead of ROOT for keys everywhere.
[portage.git] / pym / _emerge / RootConfig.py
1 # Copyright 1999-2011 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3
4 class RootConfig(object):
5         """This is used internally by depgraph to track information about a
6         particular $ROOT."""
7         __slots__ = ("root", "setconfig", "sets", "settings", "trees")
8
9         pkg_tree_map = {
10                 "ebuild"    : "porttree",
11                 "binary"    : "bintree",
12                 "installed" : "vartree"
13         }
14
15         tree_pkg_map = {}
16         for k, v in pkg_tree_map.items():
17                 tree_pkg_map[v] = k
18
19         def __init__(self, settings, trees, setconfig):
20                 self.trees = trees
21                 self.settings = settings
22                 self.root = self.settings['EROOT']
23                 self.setconfig = setconfig
24                 if setconfig is None:
25                         self.sets = {}
26                 else:
27                         self.sets = self.setconfig.getSets()
28
29         def update(self, other):
30                 """
31                 Shallow copy all attributes from another instance.
32                 """
33                 for k in self.__slots__:
34                         setattr(self, k, getattr(other, k))