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.py17
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())