Tools: Add simple script that extract keywords from given trac database
This commit is contained in:
parent
1af69bd0d4
commit
2ad8ed0931
|
@ -0,0 +1,37 @@
|
|||
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
TRACDB = 'trac.db'
|
||||
|
||||
def readdb():
|
||||
global TRACDB
|
||||
cmds = ['sqlite3', TRACDB, 'SELECT id,keywords FROM ticket WHERE status<>"closed";']
|
||||
p = subprocess.Popen(cmds, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
comm = p.communicate()
|
||||
data = comm[0]
|
||||
ret = {}
|
||||
for line in data.splitlines():
|
||||
pos1 = line.find('|')
|
||||
if pos1 <= 0:
|
||||
continue
|
||||
nr = line[:pos1]
|
||||
for kw in line[pos1+1:].split(' '):
|
||||
if kw not in ret:
|
||||
ret[kw] = []
|
||||
ret[kw].append(nr);
|
||||
return ret
|
||||
|
||||
for arg in sys.argv[1:]:
|
||||
if arg.endswith('/trac.db'):
|
||||
global TRACDB
|
||||
TRACDB = arg
|
||||
|
||||
data = readdb()
|
||||
for kw in sorted(data.keys()):
|
||||
out = kw + ':'
|
||||
for ticket in data[kw]:
|
||||
out = out + ' ' + ticket
|
||||
print(out)
|
||||
|
||||
|
Loading…
Reference in New Issue