summaryrefslogtreecommitdiffstats
path: root/bitbake/lib
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-05-06 18:07:23 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-05-06 18:07:23 +0100
commitf1c0c97f4d3f7e56aef375c45eedc2de5ae5f971 (patch)
tree53f09079c5d95014cd82845eb5fbfebe55877d5d /bitbake/lib
parent754d1c69839982b7cdd49839a398e688c0ad9a9b (diff)
downloadast2050-yocto-poky-f1c0c97f4d3f7e56aef375c45eedc2de5ae5f971.zip
ast2050-yocto-poky-f1c0c97f4d3f7e56aef375c45eedc2de5ae5f971.tar.gz
bitbake/persist_data: Sync file with upstream bitbake
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib')
-rw-r--r--bitbake/lib/bb/persist_data.py36
1 files changed, 24 insertions, 12 deletions
diff --git a/bitbake/lib/bb/persist_data.py b/bitbake/lib/bb/persist_data.py
index 0ed0cd2..551b58a 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)
OpenPOWER on IntegriCloud