Improve first line extractor. Only output at most two lines.
I've met .abc files where every line is a continuation.
This commit is contained in:
parent
366f5d02ca
commit
d10982be4f
|
@ -7,17 +7,28 @@
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
def process(inf):
|
def process(inf):
|
||||||
|
continued = False
|
||||||
print "X:1"
|
print "X:1"
|
||||||
for line in inf:
|
for line in inf:
|
||||||
line = line.strip()
|
line = line.strip()
|
||||||
|
# If it is empty or starts "%", ignore it.
|
||||||
|
if len(line) == 0 or line[0] == "%":
|
||||||
|
continue
|
||||||
|
|
||||||
|
# Is it a header line? I.e. does it start LETTER COLON?
|
||||||
|
# If so, output only ones we need.
|
||||||
start = line[:2]
|
start = line[:2]
|
||||||
if len(start) > 1 and start[0] != "|" and start[1] == ":":
|
if len(start) > 1 and start[1] == ":" and start[0].isalpha():
|
||||||
if start[0] in ["M", "K", "L"]:
|
if start[0] in ["M", "K", "L"]:
|
||||||
print line
|
print line
|
||||||
elif start[0] != "%":
|
# Output line. If it is a continuation, output at most one
|
||||||
|
# continuation.
|
||||||
|
else:
|
||||||
print line
|
print line
|
||||||
if line[-1] != "\\":
|
if continued or line[-1] != "\\":
|
||||||
break
|
break
|
||||||
|
else:
|
||||||
|
continued = True
|
||||||
|
|
||||||
if len(sys.argv) > 1:
|
if len(sys.argv) > 1:
|
||||||
for arg in sys.argv[1:]:
|
for arg in sys.argv[1:]:
|
||||||
|
|
Loading…
Reference in New Issue