summaryrefslogtreecommitdiffstats
path: root/pym/portage/sets/files.py
diff options
context:
space:
mode:
Diffstat (limited to 'pym/portage/sets/files.py')
-rw-r--r--pym/portage/sets/files.py28
1 files changed, 11 insertions, 17 deletions
diff --git a/pym/portage/sets/files.py b/pym/portage/sets/files.py
index 05a44e7bd..b3f85d553 100644
--- a/pym/portage/sets/files.py
+++ b/pym/portage/sets/files.py
@@ -9,23 +9,20 @@ from portage.util import grabfile, write_atomic, ensure_dirs
from portage.const import PRIVATE_PATH
from portage.locks import lockfile, unlockfile
from portage import portage_gid
-from portage.sets.dbapi import PackageSet, EditablePackageSet
-from portage.env.config import ConfigLoaderKlass, GenericFile
+from portage.sets import PackageSet, EditablePackageSet
from portage.env.loaders import ItemFileLoader, KeyListFileLoader
-from portage.env.validators import PackagesFileValidator, ValidAtomValidator
+from portage.env.validators import ValidAtomValidator
class StaticFileSet(EditablePackageSet):
_operations = ["merge", "unmerge"]
- def __init__(self, name, filename, data = None):
+ def __init__(self, name, filename):
super(StaticFileSet, self).__init__(name)
self._filename = filename
self._mtime = None
self.description = "Package set loaded from file %s" % self._filename
- self.data = data
- if data is None:
- self.data = ConfigLoaderKlass(ItemFileLoader(filename=self._filename,
- validator=PackagesFileValidator))
+ self.loader = ItemFileLoader(self._filename, ValidAtomValidator)
+
metadata = grabfile(self._filename + ".metadata")
key = None
value = []
@@ -55,27 +52,24 @@ class StaticFileSet(EditablePackageSet):
mtime = None
if (not self._loaded or self._mtime != mtime):
try:
- self.data.load()
+ data, errors = self.loader.load()
except EnvironmentError, e:
if e.errno != errno.ENOENT:
raise
del e
- self._setAtoms(self.data.keys())
+ self._setAtoms(data.keys())
self._mtime = mtime
class ConfigFileSet(PackageSet):
- def __init__(self, name, filename, loader=None, validator=None):
+ def __init__(self, name, filename):
super(ConfigFileSet, self).__init__(name)
self._filename = filename
self.description = "Package set generated from %s" % self._filename
- if loader is None:
- self.loader = GenericFile(filename=self._filename)
- else:
- self.loader = loader(filename, validator)
+ self.loader = KeyListFileLoader(self._filename, ValidAtomValidator)
def load(self):
- self.loader.load()
- self._setAtoms(self.loader.keys())
+ data, errors = self.loader.load()
+ self._setAtoms(data.keys())
class WorldSet(StaticFileSet):
description = "Set of packages that were directly installed by the user"