Mercurial > hg > cc > cirrus_work
changeset 266:5c951cadc121 default tip
running but not working
author | Henry S. Thompson <ht@inf.ed.ac.uk> |
---|---|
date | Mon, 03 Feb 2025 23:12:55 +0000 |
parents | 40e843b97836 |
children | |
files | lib/python/cc/lmh/get2.pyx |
diffstat | 1 files changed, 19 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/lib/python/cc/lmh/get2.pyx Mon Feb 03 19:16:20 2025 +0000 +++ b/lib/python/cc/lmh/get2.pyx Mon Feb 03 23:12:55 2025 +0000 @@ -2,7 +2,7 @@ # distutils: include_dirs = cdb cimport db -from Typedefs import List +from typing import List # Usage: get2 xxx.cdb yyy.cdb keys... @@ -14,19 +14,24 @@ 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))] +cdef db.CCdb c +probes: List(str) = [sys.argv[i].encode('utf8') 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)] + mvs = [0,1] + for i in range(2): + c = CCs[i] + mvs[i] = c.init(DBff[i].fileno()) + c.findstart() 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') + for probe in probes: + c = CCs[i] + res = c.find(probe) + sys.stdout.buffer.write(b'%s %s '%(probe, sys.argv[i+1].encode('utf8'))) + if res == 1: + o=c.pos() + l=c.len() + sys.stdout.buffer.write(mvs[i][o:o+l]) + sys.stdout.buffer.write(b'\n') + else: + print('missing')