diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-05-06 18:07:23 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-05-06 18:07:23 +0100 |
commit | f1c0c97f4d3f7e56aef375c45eedc2de5ae5f971 (patch) | |
tree | 53f09079c5d95014cd82845eb5fbfebe55877d5d /bitbake | |
parent | 754d1c69839982b7cdd49839a398e688c0ad9a9b (diff) | |
download | openembedded-core-contrib-f1c0c97f4d3f7e56aef375c45eedc2de5ae5f971.tar.gz |
bitbake/persist_data: Sync file with upstream bitbake
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r-- | bitbake/lib/bb/persist_data.py | 36 |
1 files changed, 24 insertions, 12 deletions
diff --git a/bitbake/lib/bb/persist_data.py b/bitbake/lib/bb/persist_data.py index 0ed0cd28e7..551b58a2a9 100644 --- a/bitbake/lib/bb/persist_data.py +++ b/bitbake/lib/bb/persist_data.py @@ -66,6 +66,13 @@ class SQLTable(collections.MutableMapping): continue raise + def __enter__(self): + self.cursor.__enter__() + return self + + def __exit__(self, *excinfo): + self.cursor.__exit__(*excinfo) + def __getitem__(self, key): data = self._execute("SELECT * from %s where key=?;" % self.table, [key]) @@ -104,35 +111,40 @@ class SQLTable(collections.MutableMapping): def __iter__(self): data = self._execute("SELECT key FROM %s;" % self.table) - for row in data: - yield row[0] + return (row[0] for row in data) def __lt__(self, other): if not isinstance(other, Mapping): raise NotImplemented - def iteritems(self): - data = self._execute("SELECT * FROM %s;" % self.table) - for row in data: - yield row[0], row[1] + return len(self) < len(other) + + def values(self): + return list(self.itervalues()) def itervalues(self): data = self._execute("SELECT value FROM %s;" % self.table) - for row in data: - yield row[0] + return (row[0] for row in data) - def has_key(self, key): - return key in self + def items(self): + return list(self.iteritems()) + + def iteritems(self): + return self._execute("SELECT * FROM %s;" % self.table) def clear(self): self._execute("DELETE FROM %s;" % self.table) + def has_key(self, key): + return key in self + class PersistData(object): """Deprecated representation of the bitbake persistent data store""" def __init__(self, d): - warnings.warn("Use of PersistData will be deprecated in the future", - category=PendingDeprecationWarning, + warnings.warn("Use of PersistData is deprecated. Please use " + "persist(domain, d) instead.", + category=DeprecationWarning, stacklevel=2) self.data = persist(d) |