2016-06-21 08:00:02 +01:00
|
|
|
try:
|
|
|
|
import btree
|
2016-07-31 00:29:05 +01:00
|
|
|
import uio
|
2016-09-29 16:12:31 +01:00
|
|
|
import uerrno
|
2016-06-21 08:00:02 +01:00
|
|
|
except ImportError:
|
|
|
|
print("SKIP")
|
2017-06-10 18:14:16 +01:00
|
|
|
raise SystemExit
|
2016-06-21 08:00:02 +01:00
|
|
|
|
2016-07-31 00:29:05 +01:00
|
|
|
#f = open("_test.db", "w+b")
|
|
|
|
f = uio.BytesIO()
|
2016-10-29 17:53:31 +01:00
|
|
|
db = btree.open(f, pagesize=512)
|
2016-07-31 00:29:05 +01:00
|
|
|
|
2016-06-21 08:00:02 +01:00
|
|
|
db[b"foo3"] = b"bar3"
|
|
|
|
db[b"foo1"] = b"bar1"
|
|
|
|
db[b"foo2"] = b"bar2"
|
|
|
|
db[b"bar1"] = b"foo1"
|
|
|
|
|
2016-09-29 16:12:31 +01:00
|
|
|
dbstr = str(db)
|
|
|
|
print(dbstr[:7], dbstr[-1:])
|
|
|
|
|
2016-06-21 08:00:02 +01:00
|
|
|
print(db[b"foo2"])
|
|
|
|
try:
|
|
|
|
print(db[b"foo"])
|
|
|
|
except KeyError:
|
|
|
|
print("KeyError")
|
|
|
|
print(db.get(b"foo"))
|
|
|
|
print(db.get(b"foo", b"dflt"))
|
|
|
|
|
|
|
|
del db[b"foo2"]
|
|
|
|
try:
|
|
|
|
del db[b"foo"]
|
|
|
|
except KeyError:
|
|
|
|
print("KeyError")
|
|
|
|
|
|
|
|
for k, v in db.items():
|
|
|
|
print((k, v))
|
|
|
|
|
|
|
|
print("---")
|
|
|
|
for k, v in db.items(None, None):
|
|
|
|
print((k, v))
|
|
|
|
|
|
|
|
print("---")
|
|
|
|
for k, v in db.items(b"f"):
|
|
|
|
print((k, v))
|
|
|
|
|
|
|
|
print("---")
|
|
|
|
for k, v in db.items(b"f", b"foo3"):
|
|
|
|
print((k, v))
|
|
|
|
|
|
|
|
print("---")
|
|
|
|
for k, v in db.items(None, b"foo3"):
|
|
|
|
print((k, v))
|
|
|
|
|
|
|
|
print("---")
|
|
|
|
for k, v in db.items(b"f", b"foo3", btree.INCL):
|
|
|
|
print((k, v))
|
|
|
|
|
|
|
|
print("---")
|
|
|
|
for k, v in db.items(None, None, btree.DESC):
|
|
|
|
print((k, v))
|
|
|
|
|
2016-09-29 16:12:31 +01:00
|
|
|
print(db.seq(1, b"foo1"))
|
|
|
|
print(db.seq(1, b"qux"))
|
|
|
|
|
|
|
|
try:
|
|
|
|
db.seq(b"foo1")
|
|
|
|
except OSError as e:
|
|
|
|
print(e.args[0] == uerrno.EINVAL)
|
|
|
|
|
2016-06-21 08:00:02 +01:00
|
|
|
print(list(db.keys()))
|
|
|
|
print(list(db.values()))
|
2016-06-24 21:43:20 +01:00
|
|
|
|
|
|
|
for k in db:
|
|
|
|
print(k)
|
2016-07-23 22:30:32 +01:00
|
|
|
|
2016-09-29 16:12:31 +01:00
|
|
|
db.put(b"baz1", b"qux1")
|
|
|
|
|
2016-08-01 22:21:05 +01:00
|
|
|
print("foo1", "foo1" in db)
|
|
|
|
print("foo2", "foo2" in db)
|
2016-09-29 16:12:31 +01:00
|
|
|
print("baz1", "baz1" in db)
|
|
|
|
|
|
|
|
try:
|
|
|
|
print(db + db[b"foo1"])
|
|
|
|
except TypeError:
|
|
|
|
print("TypeError")
|
2016-08-01 22:21:05 +01:00
|
|
|
|
2016-12-04 22:55:05 +00:00
|
|
|
db.flush()
|
2016-07-23 22:30:32 +01:00
|
|
|
db.close()
|
2016-07-31 00:29:05 +01:00
|
|
|
f.close()
|