diff options
Diffstat (limited to 'pym/portage/sets/files.py')
-rw-r--r-- | pym/portage/sets/files.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/pym/portage/sets/files.py b/pym/portage/sets/files.py index d79571c57..921d04b8c 100644 --- a/pym/portage/sets/files.py +++ b/pym/portage/sets/files.py @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 # $Id$ -from portage.util import grabfile_package, grabdict_package, write_atomic +from portage.util import grabfile, grabfile_package, grabdict_package, write_atomic import os from portage.sets import PackageSet, EditablePackageSet @@ -14,6 +14,20 @@ class StaticFileSet(EditablePackageSet): super(StaticFileSet, self).__init__(name) self._filename = filename self._mtime = None + self.description = "Package set loaded from file %s" % self._filename + metadata = grabfile(self._filename + ".metadata") + key = None + for line in metadata: + if len(line) == 0 and key != None: + setattr(self, key, " ".join(value)) + key = None + elif line[-1] == ":" and key == None: + key = line[:-1].lower() + value = [] + elif key != None: + value.append(line) + else: + pass def write(self): write_atomic(self._filename, "\n".join(self._atoms)+"\n") @@ -31,6 +45,7 @@ class ConfigFileSet(PackageSet): def __init__(self, name, filename): super(ConfigFileSet, self).__init__(name) self._filename = filename + self.description = "Package set generated from %s" % self._filename def load(self): self._setAtoms(grabdict_package(self._filename, recursive=True).keys()) |