# HG changeset patch # User Henry S. Thompson # Date 1738610180 0 # Node ID 40e843b97836d7f7f63a20a0e0912c2b4e5c4e55 # Parent 7886d7de5eedb0f716f16a851c37c7081e29189e Test for having multiple cdbs open at once: compiles diff -r 7886d7de5eed -r 40e843b97836 lib/python/cc/lmh/get2.pyx --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lib/python/cc/lmh/get2.pyx Mon Feb 03 19:16:20 2025 +0000 @@ -0,0 +1,32 @@ +# distutils: extra_objects = cdb/libcdb.a +# distutils: include_dirs = cdb + +cimport db +from Typedefs import List + +# Usage: get2 xxx.cdb yyy.cdb keys... + +# E.g. python3 -c 'import get2' rts-tmp/sv.cdb rts-tmp/12.cdb 'discard' 'Goodbye' + +import sys + + +CCs: List(db.CCdb) = [db.CCdb(), db.CCdb()] +DBff: List(file) = [sys.stdin, sys.stdin] +res: int = -1 +probes: List(str) = [sys.argv[i] for i in range(3,len(sys.argv))] +with open(sys.argv[1],'rb') as DBff[0], open(sys.argv[2],'rb') as DBff[1]: + mvs = [CCs[i].init(DBff[i].fileno()) for i in range(2)] + for i in range(2): + CCs[i].findstart() + for probe in probes: + res = CCs[i].find(probe) + o=CCs[i].pos() + l=CCs[i].len() + print(probe, sys.argv[i+1], end=' ') + if res == 1: + sys.stdout.buffer.write(mvs[i][o:o+l]) + sys.stdout.buffer.write(b'\n') + else: + print('missing') +