Merged from trunk -r14432:14435
authorFabian Groffen <grobian@gentoo.org>
Sat, 26 Sep 2009 18:46:54 +0000 (18:46 -0000)
committerFabian Groffen <grobian@gentoo.org>
Sat, 26 Sep 2009 18:46:54 +0000 (18:46 -0000)
   | 14433   | Revert r14430 and fix to do as intended. Thanks to Arfrever  |
   | zmedico | for reporting.                                               |

   | 14435   | Bug #286475 - Fix KeyValuePairFileLoader.lineParser() so it  |
   | zmedico | doesn't raise AttributeError when a key/value is redefined.  |

svn path=/main/branches/prefix/; revision=14439

pym/portage/cache/sqlite.py
pym/portage/env/loaders.py

index 0c23a78ae37239e8278fc39a94ec7bad6f6ec2b5..b8136bb4fd9fe64fb97c6344d4caec665b183103 100644 (file)
@@ -33,7 +33,9 @@ class database(fs_template.FsBased):
 
        def __init__(self, *args, **config):
                super(database, self).__init__(*args, **config)
-               self._allowed_keys = ["_mtime_", "_eclasses_"] + self._known_keys
+               self._allowed_keys = ["_mtime_", "_eclasses_"]
+               self._allowed_keys.extend(self._known_keys)
+               self._allowed_keys.sort()
                self.location = os.path.join(self.location, 
                        self.label.lstrip(os.path.sep).rstrip(os.path.sep))
 
@@ -103,7 +105,7 @@ class database(fs_template.FsBased):
                self._db_table["packages"]["create"] = " ".join(create_statement)
                self._db_table["packages"]["columns"] = \
                        self._db_table["packages"]["internal_columns"] + \
-                       sorted(self._allowed_keys)
+                       self._allowed_keys
 
                cursor = self._db_cursor
                for k, v in self._db_table.items():
index 60e0e1b11ede3f66b4243f15e77abf9d5320c341..0dc4d75beddb5948fc476dbe2fd9ee6ce8d47c7d 100644 (file)
@@ -317,7 +317,4 @@ class KeyValuePairFileLoader(FileLoader):
                                _("Value validation failed at line: %s, data %s")
                                % (line_num + 1, value))
                        return
-               if key in data:
-                       data[key].append(value)
-               else:
-                       data[key] = value
+               data[key] = value