changeset 265:40e843b97836 default tip

Test for having multiple cdbs open at once: compiles
author Henry S. Thompson <ht@inf.ed.ac.uk>
date Mon, 03 Feb 2025 19:16:20 +0000
parents 7886d7de5eed
children
files lib/python/cc/lmh/get2.pyx
diffstat 1 files changed, 32 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /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')
+