mirror of
https://github.com/kellyjonbrazil/jc.git
synced 2025-06-19 00:17:51 +02:00
Merge pull request #36 from philippeitis/patch-3
Simplify process() in history.py, avoid list allocation in parse()
This commit is contained in:
@ -79,21 +79,11 @@ def process(proc_data):
|
|||||||
# rebuild output for added semantic information
|
# rebuild output for added semantic information
|
||||||
processed = []
|
processed = []
|
||||||
for k, v in proc_data.items():
|
for k, v in proc_data.items():
|
||||||
proc_line = {}
|
proc_line = {
|
||||||
proc_line['line'] = k
|
'line': int(k) if k.isdigit() else None,
|
||||||
proc_line['command'] = v
|
'command': v,
|
||||||
|
}
|
||||||
processed.append(proc_line)
|
processed.append(proc_line)
|
||||||
|
|
||||||
for entry in processed:
|
|
||||||
int_list = ['line']
|
|
||||||
for key in int_list:
|
|
||||||
if key in entry:
|
|
||||||
try:
|
|
||||||
key_int = int(entry[key])
|
|
||||||
entry[key] = key_int
|
|
||||||
except (ValueError):
|
|
||||||
entry[key] = None
|
|
||||||
|
|
||||||
return processed
|
return processed
|
||||||
|
|
||||||
|
|
||||||
@ -120,11 +110,8 @@ def parse(data, raw=False, quiet=False):
|
|||||||
# split lines and clear out any non-ascii chars
|
# split lines and clear out any non-ascii chars
|
||||||
linedata = data.encode('ascii', errors='ignore').decode().splitlines()
|
linedata = data.encode('ascii', errors='ignore').decode().splitlines()
|
||||||
|
|
||||||
# Clear any blank lines
|
# Skip any blank lines
|
||||||
cleandata = list(filter(None, linedata))
|
for entry in filter(None, linedata):
|
||||||
|
|
||||||
if cleandata:
|
|
||||||
for entry in cleandata:
|
|
||||||
try:
|
try:
|
||||||
parsed_line = entry.split(maxsplit=1)
|
parsed_line = entry.split(maxsplit=1)
|
||||||
raw_output[parsed_line[0]] = parsed_line[1]
|
raw_output[parsed_line[0]] = parsed_line[1]
|
||||||
|
Reference in New Issue
Block a user